Let character moving towards it's facing?
I am new to Unity and I followed the survival shooter tutorial to make the player has a basic movement based on the horizontal and vertical axis also it is able to face towards the mouse location, but now I want to make the player moving towards it's facing ( for example if I hit "W", the character will move forward towards it's facing direction). Any suggestions and helps will be appreciated!
Here is my code:
void FixedUpdate() {
float h = Input.GetAxisRaw("Horizontal");
float v = Input.GetAxisRaw("Vertical");
Move(h, v);
Turning();
Animating(h, v);
}
void Move(float h, float v) {
runKey = Input.GetKey(KeyCode.LeftShift);
movement.Set(h, 0f, v);
if (runKey) {
//Debug.Log("Run!"); // Runkey test
movementSpeed = 12f;
}
else {
movementSpeed = 6f;
}
movement = movement.normalized * movementSpeed * Time.deltaTime;
playerRigidbody.MovePosition(transform.position + movement);
}
void Turning() {
Ray camRay = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit floorHit;
//Debug.Log(camRay); // Camera postion debugging
Debug.DrawRay(camRay.origin, camRay.direction * camRayLength, Color.green, 20);
if (Physics.Raycast(camRay, out floorHit, camRayLength, floorMask)) {
Vector3 playerToMouse = floorHit.point - transform.position;
playerToMouse.y = 0f;
//Debug.Log("AAA"); // Camera Raycast debugging
Quaternion newRotation = Quaternion.LookRotation(playerToMouse);
playerRigidbody.MoveRotation(newRotation);
}
}
Your answer
Follow this Question
Related Questions
Why my car is not stable on terrain. 1 Answer
2D Character Controller that only allows sliding against walls 0 Answers
I can't rotate and move in the opposite direction with character Controller 0 Answers
Need Help making a script for player movement that uses "W" key for forward and mouse for direction 0 Answers
FPS Character Controller HELP with head bob and camera! 2 Answers