Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //ZombieSmoothLook.js
- var target : Transform;
- var moveLocation;
- var damping = 2.0;
- var minDistance = 10.0;
- var wandering = false;
- var rotation;
- var randomX;
- var randomZ;
- var randLocationTimer = 500;
- var tempTimer = 0;
- function LateUpdate () {
- target = GameObject.FindWithTag("Player").gameObject.transform;
- if(wandering == true){ //if not going after target, move around randomly and calculate distance to player
- tempTimer --;
- if(tempTimer <=0){
- randomX = -15 + Random.value * 30;
- randomZ = -15 + Random.value * 30;
- tempTimer = randLocationTimer;
- }
- moveLocation = Vector3(randomX, 0, randomZ);
- var distToPlayer = Vector3.Distance(target.position, transform.position);
- if(distToPlayer <= minDistance){
- wandering = false;
- }
- }
- if(wandering == false){
- moveLocation = target.position;
- print("Zombie saw you");
- }
- rotation = Quaternion.LookRotation(moveLocation - transform.position);
- rotation.x = 0;
- rotation.z = 0;
- transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * damping);
- }
- function Start () {
- // Make the rigid body does not change rotation
- if (rigidbody)
- rigidbody.freezeRotation = true;
- }
Advertisement
Add Comment
Please, Sign In to add comment