- Home /
Question by
TheYumma · May 03, 2017 at 11:40 AM ·
2dscripting problemmovement
AI Movement Direction
I want to check which direction my AI agent is facing so I can choose the right animation for it. my Ai is moving by using a rigidbody
Vector3 movement = to - from;// to , the position where the ai is going which is a node .
//from, the ai transform.position
isoRigidbody.Velocity = new Vector3(movement.x* Speed,
movement.y, movement.z* Speed);
Then I'm checking which direction it is going in Update`void Update () {
localVector =transform.InverseTransformDirection( isoRigidbody.Velocity);
float dirx = localVector.x;
float diry = localVector.y;
float dirz = localVector.z;
int horizontal = 0; //Used to store the horizontal move direction.
int vertical = 0; //Used to store the vertical move direction.
horizontal = (int)dirz;
vertical = (int) dirx;
//Check which direction the player is moving
// Go Up :Postive values are more than Zero
//Go Up and Right : Postive values are more than Zero
//Go Down :Negative values less then Zero
//Go Down and Left: Negative values less than Zero
//and so on for the other directions
//Up
if (vertical > 0 && horizontal == 0)
{
animator.SetTrigger("CarNorth");
}
else if (vertical > 0 && horizontal > 0)
{
animator.SetTrigger("CarNorthEast");
}
else if (vertical > 0 && horizontal < 0)
{
animator.SetTrigger("CarNorthWest");
}
//Down
else if (vertical < 0 && horizontal == 0)
{
animator.SetTrigger("CarSouth");
}
else if (vertical < 0 && horizontal > 0)
{
animator.SetTrigger("CarSouthEast");
}
else if (vertical < 0 && horizontal < 0)
{
animator.SetTrigger("CarSouthWest");
}
//Right
else if (horizontal > 0 && vertical == 0)
{
animator.SetTrigger("CarEast");
}
//Left
else if (horizontal < 0 && vertical == 0)
{
animator.SetTrigger("CarWest");
}
}`
The Ai is actual movement script is not included here, the movement is fine.
Note: I'm developing an Isometric game using the Ultimate Isometric tool , so i'm ignoring the Y axis when checking for direction.
any help is appreciated i'm stuck guys.
Comment
Your answer
Follow this Question
Related Questions
My Touch Movement Script is Not Working Correctly 1 Answer
Object some times goes off screen 0 Answers
Why are my controls laggy 1 Answer
Moving player to mouse click 2 Answers
Help with rotating a sprite with mouse. 2 Answers