Unity Bolt: #1. Введение

Совсем недавно Bolt стал бесплатен. Помимо этого вижу большой интерес, особенно со стороны геймдизайнеров. Bolt может дать возможность людям создавать небольшие прототипы совсем без кода. Поэтому решил начать серию статей про этот инструмент для визуального программирования. В этой речь пойдёт про установку и небольшой пример работы.

Unity Bolt: #1. Введение

Цикл статей

  • Unity Bolt: #1. Введение

Туториалы можно скачать бесплатно с Гитхаба. Каждый туториал будет отдельной папкой в проекте. Конкретно этот туториал будет лежать в директории Assets/Tutorials/01 — Intro.

Оглавление

Установка

Для начала нужно установить плагин. Открываем в редакторе Asset Store: Window -> Asset Store (Ctrl + 9). Там находим Bolt и импортируем в проект.

Unity Bolt: #1. Введение

В проекте появится директория Install Bolt. Нас интересуют файлы Bolt_1_4_12_NET3 и Bolt_1_4_12_NET4. В зависимости от ваших настроек и выбранной версии .NET импортируйте нужный файл. Я всегда выставляю максимальную версию .NET (сейчас это 4.0), поэтому импортирую Bolt_1_4_12_NET4. После импорта сразу появится окно настроек.

Unity Bolt: #1. Введение

В настройках наименований лучше выбрать Programmer Naming.

Unity Bolt: #1. Введение

В следующих окнах оставляет всё как есть, Next -> Next -> Generate.

Начинаем работу с графом и узлами

Создаём пустой GameObject. Будем в него складывать все объекты.

Unity Bolt: #1. Введение

Добавим в него куб.

Unity Bolt: #1. Введение

Выбираем объект и в инспекторе добавляем к нему компонент Flow Machine.

Unity Bolt: #1. Введение

После добавления создаём Macro по кнопке New и выбираем, куда сохранить. После этого нажимаем Edit Graph. Откроется новое окно. Я его всегда прибиваем в нижнюю панель, чтобы можно было удобно видеть в режиме игры и его тоже.

Unity Bolt: #1. Введение

По умолчания сразу создаётся два узла: Start сработает один раз вначале, Update каждый кадр. Start нам пока не нужен, оставим только Update.

Базовые типы узлов

Поворот

Для начала сделаем что-нибудь простое – заставим кубик вертеться. Добавим ноду, которая будет вращать куб по оси Y.

Если запустить, то можно будет увидеть, как всё работает. Значение паметров в узлах можно менять в Play Mode, после выхода они сохраняются.

Обработка нажатий клавиш и ветвление

Поменяем поведение — сделаем, чтобы вращение было лишь по нажатию на клавишу. Для этого нужно добавить узел Input.GetKeyDown, а от него узел Branch, от которого пойдёт два ответвления (в зависимости от состояния — нажали или нет кнопку).

И проверим, как оно работает.

Как видно, при нажатии на Space выполнение идёт по ветке true, что меняет поворот у объекта.

Последовательность

Но нам, к примеру, хочется одновременно какие-то действие производит. Скажем, чтобы куб постоянно вертелся по одной оси, но по другой только по нажатию на клавишу. Для этого используем узел Sequence.

Проверим, что всё правильно настроили.

Физические силы

Сделаем кое-что пореальней – попробуем поработать с физикой. Добавим на сцену объект Plane (правой кнопкой на Objects -> 3D Object -> Plane). Подвинем его в Scene View, чтоб он был под кубиком.

Затем выберем объект Cube в иерархии и в инспекторе добавим на него компонент Rigid Body.

Unity Bolt: #1. Введение

Это позволит взаимодействовать с объектами с помощью физики. Теперь немного переделаем граф – вместо поворота добавим объекту импульс.

Насладимся результатом. Теперь наш кубик может по нажатию на Space, помимо этого постоянно вертится вокруг оси.

Давно уже не создавал туториалы. Решил вновь попробовать. Приветствуется фидбек. Поддержать меня можно на Патреоне.

Несколько опросов по поводу содержания.

Важно ли делать видео вариант по этим туториалам или в текстовом виде всё понятно?
Нужно видео, текстом не так всё понятно.
Желательно видео, но не обязательно. С текстом и так всё понятно.
Видео не нужно.
Нужно ли на Гитхабе по каждой статье создавать README файлы, чтобы можно было читать статью прям в репозитории?
Обязательно.
Не обязательно. Статьи в блоге достаточно.

Ещё очень важно понять, про что писать следующие статьи. Раскрывать постепенно компоненты? Или исходить из какой-то конкретной задачи? К примеру, "добавить возможность перепрыгивать препятствия" и т.п.

159159
82 комментария
300 ₽

Комментарий недоступен

8
Ответить
150 ₽

Я начну 

6
Ответить

Комментарий недоступен

22
Ответить

Но неизбежно ж начнут пытаться продукты на этом делать - с ожидаемым результатомНа Bolt вряд ли что-то серьёзное получится сделать, там всё очень не оптимизировано. Но возможно Bolt 2 будет хоть немного приближен к Блюпринтам, тогда уже будет реально полезен.

6
Ответить