В Unreal Engine есть несколько способов создания сценариев для проектов. Некоторые из них идеально подходят для игрового процесса в среде выполнения, а другие — только для создания инструментов в редакторе.
Программирование на Python
Программирование на Python идеально подходит для производственных процессов и для обеспечения совместимости между 3D-приложениями, особенно в сфере медиа и индустрии развлечений. Python также отлично подходит для автоматизации рабочих процессов в Unreal Editor, но его нельзя использовать для написания сценариев в среде выполнения. Python интегрирован во множество функций и рабочих процессов, которые можно использовать в Unreal Engine.
Python в Unreal Editor можно использовать для выполнения следующих действий:
разработки более масштабных конвейеров или рабочих процессов управления ресурсами, которые позволят использовать Unreal Editor вместе с другими используемыми вами 3D-приложениями;
автоматизации трудоёмких задач по управлению ресурсами в редакторе, таких как создание сеток с уровнем детализации (LOD) для статичных сеток;
процедурной компоновки контента на уровне;
управления редактором через интерфейсы, которые вы сами создадите на Python.
Написание сценариев на Python — это плагин, который будет доступен в главном меню в меню Правка в каталоге Плагины, когда вы поставите галочки напротив плагинов Python Editor Script Plugin (Плагин для составления кода Python в редакторе) и Editor Scripting Utilities (Утилиты редактора для написания сценариев).
Подробнее о том, как начать работать на Python в Unreal Editor см. в разделе Scripting the Unreal Editor Using Python (Программирование на Python в Unreal Editor).
Для пользователей Maya рабочие процессы на Python интегрированы в ключевые блоки с анимированием, регулятором каркаса и скелетной анимацией с ИК. Подробнее о том, как использовать Python в этих рабочих процессах:
Python Scripting in Sequencer (Программирование на Python в Sequencer);
Using Python with IK Rigs (Использование Python со скелетной анимацией с ИК);
Using Python with the IK Retargeter (Использование Python с переносом ИК).
Создание визуальных схем Blueprint
В Unreal Engine встроен язык визуального программирования Blueprint. Это полноценная система написания визуальных сценариев, которая использует интерфейс на основе узлов для создания инструментов и рабочих процессов в редакторе, элементов игрового процесса для персонажей и объектов, запуска анимаций и звуков и проч. Это очень адаптивная и мощная система, ведь с её помощью авторы могут реализовывать свои концепции, используя наборы инструментов, которые обычно доступны только программистам.
Схемы Blueprint идеально подходят для дизайнеров и художников, которые хотят разрабатывать функции, не имея при этом какого-либо опыта программирования. С их помощью можно быстро создавать прототипы и разрабатывать визуальную логику, а схема Blueprint легко интегрируется в остальные системы Unreal Engine.
Вот несколько вариантов, как можно использовать схемы Blueprint в редакторе или в среде выполнения:
настройка перемещений и поведения персонажа в игре;
запуск воспроизведения анимаций и звуков;
создание интерфейса с помощью UMG;
создание инструментов в редакторе с помощью Editor Utility Widgets (Виджеты утилиты редактора);
взаимодействие с объектами, например открытие дверей;
появление врагов или другие игровые события;
добавление логики на уровень, например, движение платформ;
и это не всё!
Для каждого из перечисленных выше случаев схема Blueprint будет своя. Существует несколько типов таких схем, которые по-разному обрабатывают информацию и логику. Это такие типы, как:
Blueprint Class (Класс Blueprint):
Этот тип Blueprint включает окно просмотра и граф узлов. Он подходит для авторов, которые хотят добавить акторы (игровых персонажей, врагов, способы подбора оружия и т. д.), к которым применяется логика.
Data-Only Blueprint (Схема, содержащая только данные):
Этот тип похож на Blueprint Class (Класс Blueprint), но в нём ещё есть графы узлов. Он содержит переменные и компоненты, унаследованные от родительского элемента. Такие схемы Blueprint могут изменять только унаследованные свойства, благодаря чему они идеально подходят для создания разных вариантов родительского класса. Всё это можно представить как взаимосвязь между материалами и экземплярами материалов.
Blueprint Interface (Интерфейс Blueprint):
Здесь содержатся созданные пользователем функции, которые можно совместно использовать и отправлять данные между любыми схемами, которые их используют. Это ресурс, который можно создать и на который можно ссылаться в «Каталоге ресурсов».
Level Blueprint (Схема уровня):
Это особый тип схемы, который существует только на загруженном уровне. Он может выступать в качестве графа глобальных событий для всего уровня, например активации акторов или других событий, таких как воспроизведение видеоряда.
Animation Blueprint (Схема с анимацией):
Это особый тип схемы, встроенный в редактор Режимы анимации. Он используется для управления анимацией скелетной сетки во время симуляции или игрового процесса. Граф узлов в этой схеме отличается тем, что он настроен для смешивания анимаций, управления костями скелета и создания логики, которая определяет конечную позу для использования в каждом отдельном кадре.
Подробнее об использовании схем Blueprint в проектах:
Схемы с анимацией
Схемы с анимацией являются частью редактора «Режимы анимации». Это особый тип схемы, используемый для управления анимацией скелетной сетки. В основном она используется для игровых персонажей, и с её помощью вы можете задавать сложное поведение анимации, используя функцию написания сценариев в схеме на основе узлов. Схемы с анимацией обычно используются для игрового процесса в реальном времени, но их также можно применять и для реализации анимационных эффектов в реальном времени, таких как физика, симуляция ткани или деформация сетки в реальном времени.
Подробнее о схемах с анимацией см. в разделе «Использование анимаций в проекте» данного руководства или Animation Blueprints (Схемы с анимацией).
Виджеты утилит редактора
Виджеты утилиты редактора позволяют создавать собственные инструменты, панели и интерфейсы в редакторе с использованием визуальных сценариев Blueprint для оптимизации рабочих процессов. Эти виджеты утилиты могут обращаться и управлять данными редактора, к примеру акторами, ресурсами и уровнями. Любой созданный виджет утилиты можно закрепить, как и любую другую панель в Unreal Editor.
Виджеты утилиты редактора идеально подходят для оптимизации рабочих процессов, автоматизации повторяющихся задач, управления ресурсами и контентом прямо на уровне.
Подробнее об этих виджетах и о том, как можно начать их использовать:
Система «Программируемые инструменты»
Система Программируемые инструменты предоставляет функции и режим правки для создания пользовательских интерактивных инструментов, которые позволяют программистам, не знающим C++, создавать интерактивные инструменты в редакторе. Этот плагин выводит платформу интерактивных инструментов в схему Blueprint, тем самым обеспечивая авторов и технических художников средствами для разработки инструментов, которые работают аналогично тем, которые доступны в режиме Моделирование.
Они могут показаться похожими на виджеты утилиты редактора, но в них используется немодальное диалоговое окно, интерфейс которого позволяет писать различные типы сценариев в редакторе. Это мощный и полезный интерфейс сам по себе, но, как у варианта немодального диалогового окна, у него есть свои ограничения в использовании. Программируемые инструменты выводятся в модальном окне, а это значит, что во время их использования ни один другой инструмент не может быть активен. Это также означает, что есть более строгие правила работы в редакторе. Программируемые инструменты позволяют более эффективно захватывать объекты мышью, пользовательский интерфейс более структурирован, чем виджеты утилиты, а ещё можно использовать инструменты, созданные в среде выполнения.
Вот некоторые варианты использования программируемых инструментов:
отрисовка базовой трёхмерной геометрии, например линий и точек;
добавление наборов свойств к инструментам через схему Blueprint и их использование в качестве доступных для пользователя настроек инструмента;
создание одного или нескольких трёхмерных графических ориентиров, управление их местоположением и реагирование на изменения преобразований;
объединение программируемых инструментов с другими функциями движка, к примеру с процедурная генерация контента (PCG) и моушн-дизайн.
Подробнее см. в статье Scriptable Tools System (Система «Программируемые инструменты».
Следующая страница
Разработка и сборка миров в Unreal Engine для пользователей Maya
Обзор инструментов разработки Unreal Engine для создания сцен для пользователей Maya.