- Home /
Question by
realme2pro23 · May 24, 2019 at 03:21 PM ·
animationterrainenemy aifollow player
My enemy is not moving properly on a terrain
My enemy is not moving properly on a terrain I want my enemy to follow me and when he reach me he has to attack there is three animation that i have applied on my enemy :- a walk animation , idle animation and attack animation . Enemy is following the player with proper animation but the main issue is he is not staying on terrain he is moving upward while chasing me and when he reach me he attacks but the shape of enemy changes to a wierd shape i think there is a problem in my script or there is a problem in the model i have choosen .
Here is my script :-
using UnityEngine; using System.Collections;
public class chase : MonoBehaviour {
public Transform player;
static Animator anim;
// Use this for initialization
void Start()
{
anim = GetComponent<Animator>();
}
// Update is called once per frame
void Update()
{
Vector3 direction = player.position - this.transform.position;
float angle = Vector3.Angle(direction, this.transform.forward);
if (Vector3.Distance(player.position, this.transform.position) < 10 && angle < 30)
{
direction.y = 0;
this.transform.rotation = Quaternion.Slerp(this.transform.rotation,
Quaternion.LookRotation(direction), 0.1f);
anim.SetBool("isIdle", false);
if (direction.magnitude > 5)
{
this.transform.Translate(0, 0, 0.05f);
anim.SetBool("isWalking", true);
anim.SetBool("isAttacking", false);
}
else
{
anim.SetBool("isAttacking", true);
anim.SetBool("isWalking", false);
}
}
else
{
anim.SetBool("isIdle", true);
anim.SetBool("isWalking", false);
anim.SetBool("isAttacking", false);
}
}
}
Comment