(transform.position C #) Простая команда, неожиданный ответ - PullRequest
0 голосов
/ 20 ноября 2018

Я пытаюсь создать бесплатную камеру для роуминга для единения.Это в основном для изучения основ сценариев C #.

if(Input.GetButton("Vertical"))
{transform.position = Vector3.forward * speed * Time.deltaTime;}

Теперь, когда я запускаю функцию в обновлении после размещения сценария на игровом объекте с камерой.Камера не может выйти за пределы 0,07 по оси Z.Количество меняется во время игры, что означает, что скрипт работает.Но я не понимаю, почему он не выходит за рамки игрового движка мирового пространства.Я запутался, если это что-то с движком единства или визуальной студией.

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Вы можете попробовать:

transform.Translate(Vector3.forward * speed * Time.deltaTime)
0 голосов
/ 20 ноября 2018

Это потому, что вы устанавливаете позицию к значению вместо , добавляя значение к текущей позиции.

Попробуйте это:

if(Input.GetButton("Vertical"))
{
    transform.position = transform.position + Vector3.forward * speed * Time.deltaTime;
}

(А не форматирование кода. Используйте обратные линии для разделения каждого { и }, это более читабельно и хорошая практика)

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