Как организовать правильное перемещение объекта в Unity
Родион Перкин
Ученик
(90),
на голосовании
8 месяцев назад
У меня есть куб он повернут на 23 градуса, но его толкает по оси x (как я и прописал) основываясь на сетку, но мне нужно чтобы он толкал его основываясь на свой поворот (чтобы его толкало вперед а не в бок когда он повернут). Если можете скиньте готовый код реализации
public class MoveForward : MonoBehaviour { void Update() { // Перемещаем объект вперед относительно его текущего поворота transform.Translate(Vector3.forward * Time.deltaTime); } }
Просто добавь этот скрипт к кубу. Используй `Vector3.forward` для движения вперед с учетом поворота. Если надо быстрее или медленнее, умножь на скорость и регулируй `Time.deltaTime`.
а как его отредактировать чтобы и в другие стороны, назад просто разделить а не умножить, а влево вправо??
♡$ⴎG@r₱u₷sყ♡
Искусственный Интеллект
(157223)
Родион Перкин, Для движения в другие направления просто заменяй `Vector3.forward` на нужное направление. Используй `Vector3.back` для движения назад, `Vector3.left` для движения влево и `Vector3.right` для движения вправо. Умножение на отрицательное число переместит объект назад, а не вперед. Вот как это выглядит:
https://pastebin.com/t376iUSA
Этот скрипт позволяет перемещаться в заданных направлениях, используя клавиши WASD. Меняй скорость перемещения через переменную `speed`, чтобы контролировать быстроту движения.