- Home /
 
               Question by 
               menesekinci · Aug 26, 2021 at 04:39 PM · 
                rotationmovement3d  
              
 
              When my player stop to run, is rotation reset.
When my player stop to run, is rotation reset. Sample: 
         public float speed = 5f;
         Vector3 forward;
         Vector3 right;
 
 void Start()
     {
         forward = Camera.main.transform.forward;
         forward.y = 0;
         forward = Vector3.Normalize(forward);
         right = Quaternion.Euler(new Vector3(0f, 90f, 0f)) * forward;
     }
     
 private void MoveController()
     {
         Vector3 direction = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
         Vector3 rightMovement = right * speed * Time.deltaTime * Input.GetAxis("Horizontal");
         Vector3 upMovement = forward * speed * Time.deltaTime * Input.GetAxis("Vertical");
         Vector3 heading = Vector3.Normalize(rightMovement + upMovement);
         transform.forward += heading;
         transform.position += rightMovement;
         transform.position += upMovement;
     }
               Comment
              
 
               
              Answer by Robotinker · Aug 26, 2021 at 06:14 PM
Only execute line 19 if (rightMovement + upMovement).magnitude > 0. Otherwise you'll still be adjusting heading even if rightMovement and upMovement are both 0.
Your answer
 
 
             Follow this Question
Related Questions
3D Heat Seeking Missile (C#) - Odd problem 1 Answer
How to synchronize both movement and rotation? 1 Answer
Click to move 1 Answer
Stop player rotation when there is no movement 1 Answer
Rotate towards movement direction 1 Answer
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                