Как установить вращение объекта со смещением другого объекта? - PullRequest
0 голосов
/ 26 апреля 2020

У меня проблемы с игрой, я хочу, чтобы вокруг моего персонажа была пистолетная орбита, и позиция уже сделана с помощью шарнира. однако соединение не вращает объект, поэтому я пытаюсь сделать это с помощью кода, но проблема в том, что мне нужно установить смещение, потому что пистолет повернут на 90 градусов вокруг оси y, но тут происходит странная вещь.

Я сделал видео, чтобы проклясть это: https://youtu.be/HxNj6keyQ5U

Я не знаю, как это исправить, и я попробовал все.

спасибо за ваши awnsers! (если я получу xD)

вот код:

    {
        EulerRotation = new Vector3(Player.transform.rotation.eulerAngles.x, Player.transform.rotation.eulerAngles.y - 90, Player.transform.rotation.eulerAngles.z);
        transform.rotation = Quaternion.Euler(EulerRotation);
    }

1 Ответ

0 голосов
/ 27 апреля 2020

Если вы используете стандартный контроллер от первого лица, он состоит из двух частей: основной объект, основная камера. по сценарию вращение по оси Y прикрепляется к основному сборному блоку, а вращение по оси Z прикрепляется к основной камере. поэтому, когда вы используете Player.transform.rotation.eulerAngles.z, фактически вы используете ось Z на главном объекте, и поэтому она никогда не изменится.

...