Почему во время бесконечного поворота объекта в Unity с помощью transform.Rotate нужен Vector3? Вопрос наверно глупый, но. Что бы создать бесконечный поворот объекта в Unity нужно в функцию Update записать transform.Rotate(...), но для того что бы домножить на заданую скорость, и тайм.дельта тайм, нужно дописывать new Vector3 в скобках, почему в первом случае можно просто записать параметры, а во втором нужно указывать new Vector3 что бы домножить на переменную, и на тайм дельта тайм? public float speed = 10f; void Update() { transform.Rotate(new Vector3(0,30,0) * speed * Time.deltaTime); } Спасибо за внимание)

17 Окт 2021 в 19:58
210 +1
0
Ответы
1

transform.Rotate(...) в Unity требует передачи углов в виде Vector3, потому что метод Rotate ожидает углы поворота по каждой из осей (x, y, z) в виде Vector3. При этом, чтобы домножить на заданную скорость и на deltaTime, необходимо передавать новый Vector3 со значениями углов, умноженными на скорость и deltaTime. Поэтому в данном случае необходимо использовать new Vector3 для передачи корректных значений в метод Rotate.

17 Апр 2024 в 09:49
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир