How to make the Character stay where he is facing?
I know this question was asked thousands of times. I've searched and used a lot of codes to make the character face where he is moving. It's originally in C++ code so I convert it into JS code (I'm not used to C++). I found this code here by Kanox and I think it is almost perfect.
Here's the code I'm currently using:
         var moveSpeed : float = 8.0;
         var rotationSpeed : float = 10.0;
         
         private var moveDirection : Vector3 = Vector3.zero;
         private var previousLocation : Vector3 = Vector3.zero;
     
         function Update() {
         var controller : CharacterController = GetComponent.<CharacterController>();
                         
         if (controller.isGrounded)
         {
             moveDirection = Vector3.zero;
             previousLocation = transform.position;
             
                 if(Input.GetKey(KeyCode.W))
                 {
                     moveDirection.z = 1;
                 }
                 if(Input.GetKey(KeyCode.S))
                 {
                     moveDirection.z = -1;
                 }
                 if(Input.GetKey(KeyCode.A))
                 {
                     moveDirection.x = -1;
                 }
                 if(Input.GetKey(KeyCode.D))
                 {
                     moveDirection.x = 1;
                 }
                 
             transform.position = Vector3.Lerp(transform.position, transform.position + moveDirection.normalized, Time.fixedDeltaTime * moveSpeed);
             transform.rotation = Quaternion.Lerp (transform.rotation, Quaternion.LookRotation(transform.position - previousLocation), Time.fixedDeltaTime * rotationSpeed);
             }
 
               The problem here is the character resets where he is facing. I hope you fix/answer my problem.
               Comment
              
 
               
              Your answer