Перемещение персонажа относительно вращающейся камеры - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь сделать мобильную игру, в которой вы можете бегать в 3D-среде с помощью виртуального джойстика. У меня есть 2 требования, которые я хочу выполнить. Я хочу иметь возможность использовать ползунок, чтобы вращать камеру вокруг игрока, и я хочу, чтобы игрок смотрел в направлении, в котором он движется.

Мне удалось сделать оба по отдельности, но не вместе. Всегда было так, что он смотрел бы в правильном направлении, но все еще двигался относительно мировой оси.

    void Start() {
        CharacterAnim = GetComponent<Animator>();
        CharacterRB = GetComponent<Rigidbody>();
    }

void Update() {

        CharacterRB.transform.Rotate(0.0f, RotateStick.ScaledValue.x * 3.0f, 0.0f);

        CharacterRB.velocity = new Vector3(Joystick.ScaledValue.x * speed, 0.0f, Joystick.ScaledValue.y * speed);


        if (Mathf.Abs(Joystick.ScaledValue.x) + Mathf.Abs(Joystick.ScaledValue.y) > 0.1) {
            lookDirection = new Vector3(Joystick.ScaledValue.x, 0.0f, Joystick.ScaledValue.y);
            lookRotation = Quaternion.LookRotation(lookDirection, Vector3.up);
            OldLookDirection = lookDirection;
        }
        else {
            lookRotation = Quaternion.LookRotation(OldLookDirection, Vector3.up);
        }

        transform.rotation = Quaternion.RotateTowards(lookRotation, transform.rotation, 1.0f);

Любая помощь была бы прекрасна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...