как повернуть игрока через rigidbody чтобы transform.rotation тоже изменился
такая проблема сделал движение через rigidbory.AddForce, затем добавил поворот через Rigidbody.AddTorque, но при повороте и нажатие на W я иду в бок. есть подозрение что это из за того что rotation не меняется, но могу ошибаться в чём проблема
private float speed = 15.0f;
private float sprintEnergy = 100.0f;
private float speedVasteEnergy = 10.0f;
private float speedRecoveryEnergy = 5.0f;
[SerializeField] float sensivity = 3.0f;
private Rigidbody rb;
private void FixedUpdate()
{
if (Input.GetKey(KeyCode.W))
{
rb.AddForce(Vector3.forward * speed);
}
else if (Input.GetKey(KeyCode.S))
{
rb.AddForce(Vector3.back * speed);
}
else if (Input.GetKey(KeyCode.A))
{
rb.AddForce(Vector3.left * speed);
}
else if(Input.GetKey(KeyCode.D))
{
rb.AddForce(Vector3.right * speed);
}
float mouseY = Input.GetAxis("Mouse X") * sensivity;
rb.AddTorque(transform.up * mouseY);
}
private void Update()
{
if (Input.GetKey(KeyCode.LeftShift))
{
speed = 25.0f;
sprintEnergy -= speedVasteEnergy * Time.deltaTime;
}
else
{
sprintEnergy += speedRecoveryEnergy * Time.deltaTime;
}
if (Input.GetKeyUp(KeyCode.LeftShift))
{
speed = 10.0f;
}
}
private void Start()
{
rb = GetComponent<Rigidbody>();
}