Набор универсальных блоков, работающих с настройкой движения 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]

Выполнить Объект расстояние до объекта

Возвращает расстояние по прямой от указанного объекта до второго объекта

Выполнить Объект расстояние до координат X: Y: Z

возвращает расстояние по прямой от указанного объекта до мировых координат, указанных с помощью вектора

Расстояние возвращается в метрах в виде вещественного числа

События

Завершил любое перемещение для Объект

Событие срабатывает, когда указанный объект завершает любое перемещение

Перемещение считается завершенным, если объект достиг целевой позиции, или если перемещение было остановлено соответствующим блоком

Завершил перемещение к целевому объекту для Объект

Событие срабатывает, когда указанный объект завершает перемещение к целевому объекту

Завершил движение к целевым координатам для Объект

Событие срабатывает, когда указанный объект завершает перемещение к целевым координатам

Достиг точки маршрута для Объект

Событие срабатывает, когда указанный объект, двигающийся по маршруту, достигает очередную точки маршрута

Примеры использования

Для использования блоков перемещения, необходимо сделать две вещи:

  • Включить статичность объекту
  • Выключить гравитацию объекту

Сделать это можно двумя способами:

  • В Blockly
  • В реакторе сцен в настройках объекта

Это необходимо, что бы во время перемещения ваш объект двигался, не подвергаясь физическому воздействию, которое будет ломать его траекторию движения

Перемещение по координатам

Перемещение по координатам - функция позволяющая перемещать объект, указывая для него необходимые глобальные координаты в пространстве сцены. Подробнее о положении объектов на сцене и их координатах

Указание координат в редакторе Blockly равноценно указанию их в редакторе сцены в инспекторе в параметре объекта «Позиция»

Перемещение по маршруту

Перемещение по маршруту представляет собой создание списка из объектов, которые и будут являться точками создаваемого маршрута для вашего объекта

Для создания маршрута обычно используется стандартный объект точка, так как её не видно в режиме воспроизведения

Получение данных об объекте

Рассмотрим на примере, как работают некоторые из блоков в разделе «Переменные»

Для реализации примера будем использовать цепочку обновление которой выполняется постоянно. Поместим внутрь неё логическое условие, которое будет выполняться в случае неподвижности куба. Если куб статичен, то в объект «Текст» будут передаваться значения трех параметров:

  • Возвращение координат объекта по оси X
  • Возвращение координат объекта по всем трем осям X, Y, Z
  • Возвращение расстояния от одного объекта до другого, в нашем случае это объекты куб и игрок