Что делает transform.TransformDirection (vector3.forward) * Time.deltaTime * скорость движения? - PullRequest
0 голосов
/ 29 марта 2020

Я пытаюсь сделать движущийся трехмерный символ в единстве, и я наткнулся на учебник, который велел мне ввести эту строку кода, когда пользователь нажимает клавишу «w», и я не знаю, что это за разные компоненты значит, кто-нибудь может мне помочь?

Ответы [ 2 ]

0 голосов
/ 30 марта 2020

Начало чтения API !

  • transform - это Transform компонент, прикрепленный к тот же GameObject, к которому прикреплен этот скрипт.

  • Transform.TransformDirection

    Преобразования direction из местный пробел в мир пробел.

  • Vector3.forward

    Сокращение для запись new Vector3(0, 0, 1)

  • Time.deltaTime

    Время завершения в секундах с момента последнего кадра

    В основном используется для преобразования любой скорости из units / frame в значение units / second.

Итак, давайте сведем все вместе:

  1. Вы получаете ссылку Transform GameObject через transform.
  2. . Вы берете Вектор Vector3.forward, равный 0,0,1, и используете transform.TransformDirection, чтобы преобразовать его в мировое пространство. прямой вектор вашего GameObject.

    Примечание: это полностью избыточно, и вы не должны его использовать! * 107 5 *

    Вместо этого напрямую используйте transform.forward, который уже делает это именно для вас;)

    Возвращает нормализованный вектор, представляющий синюю ось преобразования в мировое пространство

  3. Наконец, вы умножаете полученный вектор на величину. В настоящее время он имеет величину 1, поскольку он является нормализованным вектором, поэтому вы хотите использовать его направление, но назначить ему определенную «скорость».

    Таким образом, вы умножаете его на movementspeed предопределенное фиксированное значение скорости и используйте Time.deltaTime, чтобы преобразовать его из значения movementspeed / frame в значение movementspeed / second

0 голосов
/ 29 марта 2020

Преобразование объекта - это его положение, вращение и масштаб.

Transform.direction используется для перемещения положения преобразования в указанный вектор

Vector3.forward - вектор x0 , y0, z1

Time.deltaTime возвращает количество секунд, прошедших между одним кадром до следующего

, скорость перемещения будет переменной, которую вы назначаете с помощью int или float et c ..

в основном это перемещает объект, к которому прикреплена эта линия, независимо от скорости вашего движения в секунду

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