Guest User

ZombieSmoothLook.js

a guest
Jan 31st, 2013
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. //ZombieSmoothLook.js
  2.  
  3. var target : Transform;
  4. var moveLocation;
  5. var damping = 2.0;
  6. var minDistance = 10.0;
  7. var wandering = false;
  8. var rotation;
  9. var randomX;
  10. var randomZ;
  11. var randLocationTimer = 500;
  12. var tempTimer = 0;
  13.  
  14.  
  15. function LateUpdate () {
  16.  
  17.  
  18. target = GameObject.FindWithTag("Player").gameObject.transform;
  19.  
  20. if(wandering == true){ //if not going after target, move around randomly and calculate distance to player
  21. tempTimer --;
  22. if(tempTimer <=0){
  23. randomX = -15 + Random.value * 30;
  24. randomZ = -15 + Random.value * 30;
  25. tempTimer = randLocationTimer;
  26.  
  27. }
  28. moveLocation = Vector3(randomX, 0, randomZ);
  29.  
  30. var distToPlayer = Vector3.Distance(target.position, transform.position);
  31.  
  32. if(distToPlayer <= minDistance){
  33. wandering = false;
  34. }
  35.  
  36. }
  37.  
  38. if(wandering == false){
  39. moveLocation = target.position;
  40. print("Zombie saw you");
  41. }
  42.  
  43. rotation = Quaternion.LookRotation(moveLocation - transform.position);
  44. rotation.x = 0;
  45. rotation.z = 0;
  46. transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * damping);
  47.  
  48. }
  49.  
  50.  
  51.  
  52.  
  53. function Start () {
  54. // Make the rigid body does not change rotation
  55. if (rigidbody)
  56. rigidbody.freezeRotation = true;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment