Проблема с управлением камеры в unity, c#

У меня проблема с управлением камерой. Я создал скрипт, в котором при движении мыши камера движется за ней. Но если я повернул камеру в другом направлении, то если игрок идет, то он движется в предыдущем направлении. И мне нужно, чтобы, если человек поворачивает камеру, игрок должен двигаться в том же направлении, что и камера. Как решить эту проблему?


        public Rigidbody Player;
        public GameObject PLayerGame;
        public Camera camera;
        float xRot;
        float yRot;
        void Start()
        {
            Player = GetComponent<Rigidbody>();
        }
        public void PlayerRotate()
        {
            xRot += Input.GetAxis("Mouse X");
            yRot += Input.GetAxis("Mouse Y");
            PLayerGame.transform.rotation = Quaternion.Euler(0f, -xRot, 0f);
            camera.transform.rotation = Quaternion.Euler(-yRot, xRot, 0f);
        }

        public void PlayerMove()
        {
            if (Input.GetKey(KeyCode.W))
            {
                Player.AddForce(new Vector3(0, 0, 10f), ForceMode.Impulse);
            }
            if (Input.GetKey(KeyCode.A))
            {
                Player.AddForce(new Vector3(-100f, 0, 0), ForceMode.Impulse);
            }
            if (Input.GetKey(KeyCode.S))
            {
                Player.AddForce(new Vector3(0, 0, -10f), ForceMode.Impulse);
            }
            if (Input.GetKey(KeyCode.D))
            {
                Player.AddForce(new Vector3(10f, 0, 0), ForceMode.Impulse);
            }
            if (Input.GetKeyDown(KeyCode.Space))
            {
                Player.AddForce(new Vector3(0, 15f, 0), ForceMode.Impulse);
            }
        }

Ответы (1 шт):

Автор решения: Graus

Попробуй прикрепить камеру к персонажу а мышкой поворачивать самого персонажа. но я не до конца понял реализацию так что могу быть не прав

→ Ссылка