Перемещение
Содержание
Набор универсальных блоков, работающих с настройкой движения Varwin объектов. Настроить положение объекта можно как в режиме редактирования 3D сцены, так и в редакторе логики Blockly
Инспектор
В настройках сцены, в инспекторе, вы можете установить положение объекта по трех осям: X, Y и Z
Подробнее об интерфейсе 3D редактора можно узнать в статье «Знакомство с интерфейсом»
Blockly
Действия | |
---|---|
Задать позицию X: Y: Z: - мгновенно перемещает указанный объект в позицию, заданную с помощью координат в мировом пространстве Перемещение по координатам | |
Мгновенно переместиться в центр объекта N - мгновенно перемещает указанный объект по координатам второго объекта | |
Перемещаться в направлении оси X/Y/Z со скоростью N м/с - запускает процесс перемещения указанного объекта в направлении выбранной оси с заданной скоростью | |
Перемещаться в направлении оси X/Y/Z на расстояние N м со скоростью M м/с - запускает процесс перемещения указанного объекта в направлении выбранной оси на заданное расстояние с заданной скоростью | |
Перемещаться в направлении оси X/Y/Z в течении N с со скоростью M м/с - запускает процесс перемещения указанного объекта в направлении выбранной оси в течение указанного времени с заданной скоростью | |
Перемещаться к объекту N со скоростью M м/с - запускает процесс перемещения указанного объекта в направлении второго объекта с заданной скоростью | |
Перемещаться к координатам X: Y: Z: со скоростью N м/с - запускает процесс перемещения указанного объекта в направлении указанных координат с заданной скоростью. Перемещение продолжается, пока объект не достигнет координат | |
Перемещается по маршруту Список со скоростью N - запускает процесс перемещения указанного объекта по маршруту с указанной скоростью. Маршрут представляет собой список объектов или координат в мировом пространстве, заданных векторами Перемещение по маршруту Перемещение продолжается, пока оно не будет остановлено блоком завершения перемещения. Чтобы изменить направление перемещения, используйте отрицательные значение скорости | |
Завершить/приостановить/продолжить любое перемещение - блоки управления перемещением объекта:
| |
Переменные | |
Объект перемещается в данный момент - возвращает «истину», если указанный объект перемещается в данный момент. В противном случае возвращает «ложь» | |
Установить Объект минимальное расстояние остановки перед целевым объектом N м. - задает минимальное расстояние между заданным и целевым объектами, чтобы движение к нему считалось завершенным. Вычисляется расстояние между центрами объектов, поэтому использование значения 0 не рекомендуется | |
Установить Объект лицевая сторона при перемещении = X: Y: Z: - задает сторону объекта, которой он будет направлен в сторону перемещения Значение для настройки перемещения объекта «вперёд лицом»: (x: 0; y: 0; z: 1) | |
Получить от Объект позиция по оси X/Y/Z - возвращает позицию указанного объекта по выбранной оси в мировых координатах | |
Получить от Объект позиция - возвращает позицию указанного объекта в мировых координатах в виде вектора [X; Y; Z] | |
Выполнить Объект расстояние до объекта - возвращает расстояние по прямой от указанного объекта до второго объекта | |
Выполнить Объект расстояние до объекта - возвращает расстояние по прямой от указанного объекта до мировых координат, указанных с помощью вектора Расстояние возвращается в метрах в виде вещественного числа | |
События | |
Завершил любое перемещение для Объект - событие срабатывает, когда указанный объект завершает любое перемещение Перемещение считается завершенным, если объект достиг целевой позиции, или если перемещение было остановлено соответствующим блоком | |
Завершил перемещение к целевому объекту для Объект - событие срабатывает, когда указанный объект завершает перемещение к целевому объекту | |
Завершил движение к целевым координатам для Объект - событие срабатывает, когда указанный объект завершает перемещение к целевым координатам | |
Достиг точки маршрута для Объект - событие срабатывает, когда указанный объект, двигающийся по маршруту, достигает очередную точки маршрута |
Примеры использования
Для использования блоков перемещения, необходимо сделать две вещи:
- Включить статичность объекту
- Выключить гравитацию объекту
Сделать это можно двумя способами:
- В Blockly
- В реакторе сцен в настройках объекта
Это необходимо что бы во время перемещения ваш объект двигался, не подвергаясь физическому воздействию, которое будет ломать его траекторию движения
Перемещение по координатам
Перемещение по координатам - функция позволяющая перемещать объект, указывая для него необходимые глобальные координаты в пространстве сцены. Подробнее о положении объектов на сцене и их координатах
Указание координат в редакторе Blockly равноценно указанию их в редакторе сцены в инспекторе в параметре объекта «Позиция»
Перемещение по маршруту
Перемещение по маршруту представляет из себя создание списка из объектов, которые и будут являться точками создаваемого маршрута для вашего объекта
Для создания маршрута обычно используется стандартный объект точка, так как её не видно в режиме воспроизведения
Получение данных об объекте
Рассмотрим на примере, как работают некоторые из блоков в разделе «Переменные»
Для реализации примера будем использовать цепочку обновление которой выполняется постоянно. Поместим внутрь неё логическое условие, которое будет выполняться в случае неподвижности куба. Если куб статичен, то в объект «Текст» будут передаваться значения трех параметров:
- Возвращение координат объекта по оси X
- Возвращение координат объекта по всем трем осям X, Y, Z
- Возвращение расстояния от одного объекта до другого, в нашем случае это объекты куб и игрок