Содержание

Blockly

Чтобы открыть визуальный редактор логики сцены, перейдите на страницу проекта и напротив сцены нажмите на иконку пазла

Откроется следующее окно, где:

  1. Рабочая область
  2. Библиотека блоков
  3. Панель инструментов Blockly

Рабочая область

В рабочей области создается логическая структура сцены - сценарий

Навигация в редакторе

Для того чтобы ознакомиться со всеми доступными сочетаниями клавиш, в режиме редактора логики в левом нижнем углу экрана нажмите ЛКМ по иконке со знаком вопроса:


Редактор Blockly поддерживает использование сочетаний горячих клавиш:

ДействиеСочетание клавиш
СохранениеCtrl + S
ПоискCtrl + F
Выделить все блокиCtrl + A
Дублировать блокCtrl + D
Вырезать блокCtrl + X
Копировать блокCtrl + C
Вставить блокCtrl + V
ПриблизитьCKM вверх
ОтдалитьCKM вниз
Создать новую вкладкуCtrl + T
Переход между вкладкамиCtrl + 1...9
Удалить блокDel / Backspace
Отменить предыдущее действие Ctrl + Z
Повторить предыдущее действиеCtrl + Shift+ Z

Включить\выключить полноэкранный режим

F11


Элементы управления рабочей областью

По порядку:

  1. Развернуть редактор на весь экран
  2. Фокусировка на центре рабочей области. Центр определяется по существующим блокам
  3. Увеличить масштаб рабочей области
  4. Уменьшить масштаб рабочей области
  5. Корзина, из которой можно восстановить недавно удаленные блоки и группы блоков

Поиск по объектам

В редакторе логики присутствует поиск блоков по объектам в рабочей области, находящихся на сцене. Для его вызова, необходимо нажать комбинацию клавиш Ctrl + F

  • Переход к предыдущему результату поиска
  • Переход к следующему результату поиска
  • Регистрозависимый поиск - результаты поиска становятся зависим от ввода символов верхнего или нижнего регистра

например если вы хотите найти «блок 1» и в поиске напишите «Блок 1» используя регистрозависимость, то «блок 1» у вас не найдется

  • Поиск по словам - поиск происходит только по введенным словам

например если вы хотите найти «Игрок» и начнете писать слово по буквам, то результат не будет показан до тех пор, пока слово не будет введено полностью

  • Закрыть окно поиска


Контекстное меню блоков

При нажатии на блок правой кнопкой мыши открывается контекстное меню блока, позволяющее:

  • Дублировать блок
  • Добавить комментарий к блоку
  • Вставка внутри/снаружи


Данная функция меняет только визуальное отображение блока

  • Свернуть/развернуть блок
  • Отключить блок
  • Удалить блок или группу блоков

Библиотека блоков

Из блоков, находящихся в библиотеке блоков, собирается сценарий. Все блоки сгруппированы по разделам согласно их назначению: «Логика», «Действия» и т.д.

Для объектов, расположенных на сцене, в разделе «Объекты» создаются подразделы по типу объектов

Подробнее о типах блоков вы можете прочитать в соответствующей статье

Поиск по блокам

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


Панель инструментов Blockly

Панель инструментов позволяет:

  1. Применить изменения
  2. Отменить изменения
  3. Перейти в режим предпросмотра сцены VR
  4. Перейти в режим предпросмотра сцены на ПК
  5. Перейти в режим редактирования сцены на ПК
  6. Открыть код (рекомендуется для опытных пользователей программистов)

Выделение использующихся блоков

Для удобства пользователя, была разработана функция выделения активных блоков, которые исполняются в проекте в данный момент. Это удобно для отладки и выявления ошибок в сценарии

В данном примере выделяются сразу два блока:

  • Блок события, реагирующий на столкновение объектов на сцене. Это происходит, потому что при старте сцены мы анимируем куб, перемещая его в сторону, где находится сфера. Поэтому получается, что в момент столкновения куба с другим объектом триггерится этот блок
  • Блок события, включающий в себя конструкцию из блоков действия над тремя объектами: конусом, кубом и сферой

Работа с логикой удаленных объектов

При удалении объекта с 3D сцены, пользователь увидит сообщение о том, что данный «Объект используется в логике. Хотите его удалить?»

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

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