- 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