Введение
На этой странице представлен подробный обзор основных систем и рабочих процессов Unreal Engine, а также их сравнение с часто используемыми редакторами, инструментами и типами ресурсов Unity. Этот документ предназначен для того, чтобы помочь разработчикам Unity понять, как выполнять знакомые рабочие процессы в Unreal Engine. Вы можете узнать больше о каждой функции, перейдя по ссылкам в каждом разделе.
На этой странице описаны инструменты и функции, используемые в версиях Unreal Engine 5.5.4 и Unity 6 (6000.0.30f1). В других версиях любого движка упоминаемые функции могут отличаться.
Игровой процесс
Физика
Более подробный обзор функций, которые идут вместе с «Физикой Chaos», смотрите в разделе Physics (Физика).
Движок физики
В состав Unreal Engine входит Физика Chaos — ресурсоэффективное решение для симуляции физики, созданное с нуля и соответствующее требованиям игр последнего поколения. «Физика Chaos» включает в себя множество функций, таких как разрушение, сетевая физика, физика твёрдого тела, транспортные средства и т. д.
Физическим движком Unity для трёхмерных игр по умолчанию является NVIDIA PhysX, который обладает многими функциями, схожими с функциями «Физики Chaos».
Chaos Destruction
Система Разрушение Chaos — это набор инструментов в Unreal Engine, которые можно использовать для достижения уровней разрушения кинематографического качества в реальном времени. Помимо великолепных визуальных эффектов, которые создаёт эта система, она оптимизирована в части производительности и предоставляет художникам и дизайнерам больше возможностей для контроля над созданием контента.
Система «Разрушение Chaos» использует группы геометрических объектов — тип ресурсов, созданных из одной или нескольких статических сеток, включая те, которые вложены в схемы Blueprint. Группы геометрических фигур можно разбить на части для обеспечения эффекта разрушения в режиме реального времени.
Система обеспечивает больше возможностей для контроля над созданием контента и процессом разбивания благодаря интуитивно понятному нелинейному рабочему процессу. Можно создать несколько уровней разбиения, а также выборочное разбиение на частях группы геометрических объектов, что обеспечит больший контроль для авторов. Можно также определять пороговые значения урона для каждого скопления, которые будут приводить к разрушению.
Подробнее о «Разрушении Chaos» см. в документации Chaos Destruction (Разрушение Chaos).
Сетевая физика
Сетевое взаимодействие, или репликация в играх, позволяет передавать информацию об игровом процессе между несколькими компьютерами через интернет-соединение. У Unreal Engine надёжный сетевой фреймворк, который помогает разработчикам упростить создание многопользовательских игр.
Сетевая физика является частью сетевого фреймворка. Она обеспечивает физические симуляции в многопользовательской среде. В Unreal Engine репликация физики относится к акторам с реплицированными движениями, которые симулируют физику. Эти симуляции запускаются внутри локального клиента (компьютера игрока) во время игрового процесса.
You can learn more about Networked Physics by reading the Networked Physics documentation.
Динамика твёрдого тела
«Физика Chaos» предлагает множество функций динамики твёрдого тела. Это такие функции, как реакция на столкновение, трассировка, ограничения физики, а также затухание и трение.
Столкновение
В Unreal Engine коллизия предусмотрена в большинстве компонентов акторов, которые используют физический движок. Настройки коллизии для актора можно изменять в секции «Коллизия» на панели «Сведения». Например, можно включить функцию «Симуляция генерирует события удара», чтобы объект мог генерировать события удара, к которым можно обратиться через схемы Blueprint или код для обнаружения столкновений. Эта функция похожа на функцию обработки коллизии в Unity с помощью OnCollisionEnter на C# или функцию Visual Scripting (Создание визуальных сценариев).
Подробнее о настройке коллизии для акторов см. в разделе Collision (Коллизия).
Трассировки с рейкастингом
Система «Физика Chaos» включает в себя множество методов трассировки. Трассировки обеспечивают для актора метод сбора внешней информации. Эту информацию в дальнейшем можно использовать в среде выполнения для реагирования на изменение условий игрового процесса.
При запуске трассировки доступны различные параметры. Вы можете использовать различные типы трассировки, таких как линия, сфера, кубоид или капсула. Также можно отслеживать одиночные или множественные пересечения и определенные типы объектов или каналы коллизии.
Система трассировки в Unreal похожа на систему рейкастинга в Unity.
Подробнее о трассировке см. в разделе Traces with Raycasts (Трассировка с рейкастингом).
Ткань Chaos
Ткань Chaos обеспечивает точную и эффективную симуляцию ткани в играх в реальном времени. Система включает в себя обширный набор элементов управления для пользователя, а также встроенные физические реакции (к примеру, ветер), для достижения определённых художественных эффектов. «Ткань Chaos» также включает в себя мощную систему драйверов анимации, которая подстраивает сетку ткани под анимированную каркасную сетку её родительского элемента.
А ещё «Ткань Chaos» обеспечивает симуляцию ткани с машинным обучением. Эта система обеспечивает более высокую точность симуляции в сравнении с традиционной моделью на основе физики благодаря использованию набора данных машинного обучения, который можно использовать в реальном времени для получения результатов, достижимых ранее только при автономном моделировании.
Подробнее о «Ткани Chaos» см. в разделе Chaos Cloth (Ткань Chaos).
Транспорт Chaos
Транспорт Chaos — это ресурсоэффективная система Unreal Engine для симуляции физики транспорта. Эта система обеспечивает большую гибкость для пользователя, позволяя симулировать любое количество колёс для транспортного средства. Вы также можете настроить любое количество передач переднего и заднего хода для большей персонализации.
Система «Транспорт Chaos» позволяет симулировать сложные транспортные средства. Вы можете добавить любое количество аэродинамических поверхностей, которые обеспечивают прижимную или подъёмную силу в определённых местах шасси. Они могут симулировать спойлеры транспортных средств или даже крылья или рули направления самолёта. Каждой из этих плоскостей для управления можно манипулировать посредством поворотов: крена, тангажа и рыскания.
Подробнее о «Транспорте Chaos» см. в разделе Chaos Vehicles (Транспорт Chaos).
Симуляция жидкостей
В Unreal Engine включён набор встроенных инструментов для симуляции 2D- и 3D-эффектов жидкостей в реальном времени. С помощью физических методов моделирования эти системы создают реалистичные эффекты огня, дыма, облаков, реки, брызг и разбивающихся о берег волн.
Набор инструментов разработан как платформа с возможностью экспериментирования за счёт наличия этапов моделирования, многократно используемых модулей и надёжных интерфейсов данных.
Подробнее о симуляции жидкостей см. в разделе Fluid Simulation (Симуляция жидкостей).
Искусственный интеллект
Unreal Engine содержит в себе различные системы для создания агентов ИИ (NPC) и управления ими во время игрового процесса.
Симуляция агентов ИИ в необходимом масштабе
MassEntity — это ориентированная на игровой процесс инфраструктура, созданная для высокопроизводительных и ориентированных на данные симуляций. MassEntity можно использовать для эффективного управления и отрисовки большого количества сущностей на экране.
Подробнее см. в разделе MassEntity.
Симуляция поведения агента ИИ
В Unreal Engine предусмотрены функции агента ИИ в следующих категориях: восприятие и стимулы, принятие решений, навигация по миру и взаимодействие с окружением. В каждой категории есть одна или несколько систем, которые помогут достичь желаемых результатов.
Восприятие и стимулы
Что касается восприятия и стимулов, то в Unreal Engine есть следующие функции: Чувства пешки, Излучатель шума пешки и Компоненты восприятия ИИ.
Восприятие ИИ можно использовать для определения и обработки того, к каким чувствам имеет доступ агент ИИ. Компонент восприятия ИИ — это тип компонента, который можно добавить в схему Blueprint контроллера ИИ пешки из окна компонентов. Он используется, чтобы определить, какие чувства задействуются, задаёт их параметры и указывает, как реагировать на распознанные чувства.
Кроме того, при помощи нескольких других функций можно получить информацию о том, какие чувства были зафиксированы, какие акторы были восприняты, а также переключать тип чувств.
Подробнее см. в разделе AI Perception (Восприятие ИИ).
Принятие решений
Для принятия решений в Unreal Engine предусмотрены деревья поведения и деревья состояний. Эти ресурсы содержат логику, которую агенты ИИ используют для принятия решений во время игры.
Ресурсы дерева поведения содержат граф решений с множеством узлов, содержащих логику, которую может реализовывать агент ИИ. Дерево начинается с корня и выполняет определенные узлы на основе данных, хранящихся в ресурсе информационной доски, или других данных, поступающих от самого агента. Деревья поведения предлагают интуитивно понятный способ визуализации того, как агенты ИИ принимают решения, и могут быть сконфигурированы таким образом, чтобы они были многоразовыми и гибкими.
Подробнее см. в разделе Behavior Trees (Деревья поведения).
StateTree — это иерархический конечный автомат общего назначения, который объединяет селекторы из деревьев поведения с состояниями и переходами из конечного автомата. StateTree можно использовать для создания высокопроизводительной логики, которая остаётся гибкой и организованной.
Подробнее см. в разделе State Tree (Дерево состояния).
Навигация по миру
Что касается навигации по миру, в Unreal Engine для агентов ИИ предусмотрена система навигации с множеством функций.
Навигационная система предоставляет эффективные возможности поиска пути для агентов ИИ в проекте. Вы можете разместить на уровне Актор навигационной сетки, выстроить и спланировать навигацию для агентов. Вы также можете использовать Модификаторы навигационной сетки и Пользовательские области навигации, чтобы сократить затраты памяти при прохождении определенных областей, — так вы значительно повлияете на выбор агентами ИИ оптимального пути до точки назначения.
Кроме того, в системе предусмотрены две системы уклонения — взаимное уклонение при движении (RVO) и диспетчер маневрирования в толпе, которые помогают агентам ИИ избегать динамических элементов в окружении и друг друга.
Подробнее см. в разделе Navigation System (Система навигации).
Взаимодействие с окружением
Для взаимодействия с окружением в Unreal Engine предусмотрены смарт-объекты.
Смарт-объекты — это объекты, помещённые на уровень, с которым могут взаимодействовать агенты ИИ и игроки. Эти объекты содержат всю информацию, необходимую для таких взаимодействий. Smart Objects являются частью глобальной базы данных и используют структуру пространственного разделения. Это означает, что их можно запрашивать во время выполнения программы, используя такие фильтры, как область поиска вокруг агента и игровых тегов.
Подробнее см. в разделе Smart Object (Смарт-объект).
Машинное обучение
Для создания более сложных решений ИИ, в которых агенты ИИ могут обучаться и адаптироваться, в Unreal Engine предусмотрен плагин Learning Agents (обучающиеся агенты), который можно использовать для обучения агентов ИИ с помощью таких алгоритмов, как Reinforcement Learning (обучение с подкреплением). Это компонент Unreal Engine, эквивалентный пакету MLAgents в Unity.
Подробнее см. в разделе Learning Agents (Обучающиеся агенты).
Анимация персонажей и объектов
Схемы с анимациями — это компонент Unreal Engine, аналогичный Animator Controllers (контроллеры анимации) в Unity. Схемы с анимациями включают в себя граф анимации и стандартную схему событий Blueprint и позволяют определять параметры и прописывать сценарии сложного поведения анимации и логики в единой точке входа.
Подробнее см. в разделе Animation Blueprints (Схемы с анимациями) .
Если вы привыкли организовывать анимации с помощью конечного автомата, вы можете создать узлы State Machine (Конечный автомат) в графе анимации, а затем дважды щёлкнуть по ним, чтобы открыть их специализированные подграфы. После этого вы можете создавать новые состояния, тракты и псевдонимы состояний, а также связи между ними. Каждое состояние содержит собственный граф анимации, который управляет выходными данными состояния, а соединения управляют переходами между ними.
Подробнее см. в разделе State Machines.
Пространства смешивания определяют графы анимаций, которые смешиваются на основе параметров. Например, двухмерное пространство смешивания может смешивать анимации движения вперёд, назад, влево и вправо с учётом скорости и направления взгляда персонажа.
Подробнее см. в разделе Blend Spaces (Пространства смешивания).
Unity использует инструмент Timeline (Временная шкала) для анимирования последовательностей внутриигрового видео. Аналогом Timeline в Unreal Engine служит Редактор Sequencer. В части координации анимаций, эффектов и движений камеры его интерфейс аналогичен нелинейному редактору. Вы можете использовать Sequencer для построения видеорядов, которые составляют внутриигровое видео, или отдельных анимаций персонажей и объектов.
Подробнее о создании последовательностей см. в документации Sequencer Editor.
В Unreal Engine также есть система регулятора каркаса, с помощью которой можно создавать скелетные сетки для анимации непосредственно в редакторе. С помощью регулятора каркаса можно создавать и настраивать индивидуальные элементы управления оснасткой персонажа, анимировать их в Sequencer и использовать многообразие других инструментов анимации, чтобы содействовать вашему процессу анимации.
Подробнее о скелетной анимации в Unreal Engine см. в документации Control Rig.
Для записи и экспорта изображений и видеопоследовательностей в Unreal Editor можно использовать Очередь отрисовки видеоролика. Это аналог инструмента записи Recorder в Unity. Очередь отрисовки видеоролика можно использовать для отрисовки и экспорта покадровых последовательностей, игровых изображений или видеозаписей без потери качества.
Подробнее об очереди отрисовки видеоролика см. в статье Rendering High Quality Frames with Movie Render Queue.
Фреймворк геймплея
Инфраструктура игрового процесса Unreal Engine — это набор классов, который представляет собой модульную основу для создания игрового процесса, а именно режима игры, состояния игрока, контроллеров, пешек и камер.
В Unity аналогичные структуры обрабатываются такими компонентами, как CharacterController и сценарии MonoBehaviour, прикреплённые к объектам GameObjects для определения поведения.
Подробнее об использовании инфраструктуры игрового процесса см. в статье Gameplay Framework (Инфраструктура игрового процесса).
Ввод
Расширенная система ввода предназначена для управления вводом данных игроком с нескольких устройств, включая клавиатуры, геймпады и сенсорные экраны.
Вы можете определить действия ввода (например, для прыжков и стрельбы) и оси ввода (например, для непрерывного ввода в случае с перемещением или поворотом камеры). Эти действия и оси могут быть привязаны к определённым клавишам, кнопкам или даже сенсорным жестам, благодаря чему их можно сделать максимально персонализированными.
Чтобы начать работу с улучшенной системой ввода, вы можете создать ресурсы расширенного ввода в «Каталоге ресурсов», нажав кнопку + Добавить и выбрав Ввод. Эти ресурсы можно настроить так, чтобы они определяли привязки клавиш и действия ввода для игры.
Можно привязать эти действия и оси к событиям ввода игроком в игровой логике. Эту систему можно использовать для управления различными схемами ввода (например, с клавиатуры или геймпада); она также позволяет определять сложные схемы управления.
Разработчики, пользующиеся Unity, могут быть знакомы с системой ввода Unity, функции которой аналогичны функциям расширенной системы ввода в Unreal Engine. In Unreal Engine, Enhanced Input is the standard for complex input handling or runtime control remapping.
Подробнее о настройке ввода в проекте см. в документации Enhanced Input (Расширенный ввод).
Создание и дизайн мира
Функции для создания миров в Unreal Engine подразделяются на различные режимы редактирования в окне просмотра уровня.
Моделирование и создание прототипов уровней
В режиме моделирования предусмотрены функции, аналогичные функциям расширения ProBuilder в Unity, с большим набором инструментов для редактирования вершин, рёбер, граней и развёрток, таких же, как те, которые вы использовали бы в программе моделирования.
Режим моделирования можно активировать, нажав на раскрывающееся меню «Режимы» в окне просмотра и выбрав «Моделирование».
Подробнее о моделировании в Unreal Engine см. в разделе Modeling Mode Overview.
Создание рельефа/ландшафта
В режиме формирования ландшафта предусмотрены те же функции, что и в системе создания рельефа Terrain в Unity. Режим формирования ландшафта можно использовать для создания ландшафта и придания ему формы с помощью набора инструментов, аналогичных инструментам из системы создания рельефа Terrain в Unity, например для создания подъёмов, спусков и выравнивания рельефа.
Режим формирования ландшафта можно активировать, нажав на раскрывающееся меню «Режимы» в окне просмотра и выбрав «Ландшафт».
Подробнее см. в разделе Landscape Quick Start Guide (Краткое руководство по работе с ландшафтом). Также ознакомьтесь с разделом
Растительный мир
Режим Растительность аналогичен системе создания рельефа Terrain в Unity для добавления и управления растительностью. В режиме растительности можно окрашивать деревья, траву и прочую растительность на уровне, задавая такие свойства, как плотность, высота и вращение для каждого элемента.
Одним из ключевых отличий от системы Terrain в Unity является то, что режим растительности в Unreal Engine можно использовать для окрашивания растительности на любом объекте, а не только на ландшафте. Этот режим обеспечивает интуитивно понятный способ наполнить ваш мир природными элементами, одновременно позволяя вам управлять тем, как они отображаются в ландшафте или на любой поверхности на уровне.
Режим растительности можно активировать, нажав на раскрывающееся меню «Режимы» в окне просмотра и выбрав «Растительность».
Подробнее см. в разделе Foliage mode (Режим «Растительность»). Также ознакомьтесь с разделом Open World Tools (Инструменты открытого мира), чтобы узнать больше о процедурном заполнении больших пространств ресурсами статичных сеток для создания открытых пространств, которые кажутся естественными и оживлёнными.
Процедурная генерация контента (PCG)
Инфраструктура Процедурной генерации контента (PCG) — это набор инструментов для создания процедурно генерируемого контента в Unreal Engine. Художники и дизайнеры могут использовать PCG для создания быстрых, итеративных инструментов и контента любой сложности, начиная от утилит ресурсов, таких как постройки или генерация биомов, и заканчивая целыми мирами.
Инфраструктура PCG разработана для обеспечения расширяемости и интерактивности; она поддерживает интеграцию в существующие конвейеры мира, эффективно размывая границы между процедурными и традиционными рабочими процессами.
Подробнее о создании процедурно генерируемого контента в Unreal Engine см. в разделе Procedural Content Generation Framework.
Система водных объектов
Систему водных объектов можно использовать для создания рек, озёр и океанов, которые можно связать с системой ландшафтов посредством рабочего процесса, основанного на сплайнах.
Разработчики, пользующиеся Unity, могут быть знакомы с системой водных объектов для проектов — HDRP. Система водных объектов в Unreal Engine подходит для проектов любого размера и поддерживается на всех платформах.
Подробнее о добавлении водных объектов на уровни см. в разделе Water System (Система водных объектов).
Визуальные средства и отрисовка
Unity использует систему Scriptable Render Pipeline (конвейер для отрисовки с возможностью создания сценариев, SRP) и предоставляет шаблоны, такие как High Definition Render Pipeline (конвейер для отрисовки с высоким разрешением, HDRP). В Unreal Engine предусмотрен унифицированный, надёжный и легко настраиваемый конвейер отрисовки. Это означает, что поддержка устройств, функциональность и набор параметров не разделены между шаблонами.
В Unreal Engine для изменения визуального качества игры можно использовать настройки масштабируемости. Подробнее см. в разделе Scalability Reference (Справочная документация по масштабированию).
Источники света
Рабочие процессы для настройки освещения в Unreal Engine аналогичны таковым в Unity. Вы можете добавлять или убирать источники света на уровнях, и вам доступны различные типы источников света, например удалённые, точечные или направленные.
В меню Создать > Источник света, вы можете выбрать форму источника освещения, который хотите добавить на уровень. Так вы создадите новый объект. Подробнее о типах освещения и о том, как их использовать см. в разделе Light Types and Their Mobility.
небесный свет.
Свет неба захватывает отдалённые части вашего уровня и применяет их к сцене в качестве освещения. Это означает, что внешний вид неба и его освещение/отражения будут совпадать, неважно, происходит ли ваше небо из атмосферы, или облаков вверху купола неба, или от гор вдали.
Для нового уровня в Unreal Engine на панели Структура по умолчанию создаётся папка Lighting (Освещение). Эта папка содержит набор объектов освещения по умолчанию, таких как DirectionalLight, ExperimentalHeightFog и SkyLight. Подробнее см. в разделе Sky Lights.
Глобальное освещение и отражения Lumen
Lumen — это полностью динамическая система глобального освещения и отражений Unreal Engine, разработанная для устройств нового поколения, которая служит системой глобального освещения и отражений по умолчанию. Это означает, что свет будет отражаться от поверхностей и взаимодействовать с ними, мгновенно создавая естественное освещение с помощью предварительного расчёта рабочих процессов без необходимости прописывать такое освещение.
Подробнее об использовании динамического глобального освещения и отражений в проекте см. в разделе Lumen Global Illumination and Reflections.
Постобработка
В Unity постобработка выполняется с помощью областей. После создания объекта GameObject с компонентом области можно назначить профиль постобработки и указать, будет ли он глобальным или локальным.
В Unreal Engine постобработка в основном выполняется с использованием размещённых областей. Однако её можно использовать и другими способами. В целом, постобработка выполняется аналогичным образом, если можно переопределить значения по умолчанию.
| Способы применения постобработки | Описание |
|---|---|
Настройки проекта | По умолчанию Unreal Engine применяет к игре набор эффектов постобработки с учётом настроек масштабируемости. Эти настройки применяются ко всему проекту (если они не переопределены). Вы можете изменить эффекты постобработки по умолчанию, которые применяются к проекту глобально, перейдя в Настройки проекта > Движок > Rendering (Отрисовка). |
Компонент камеры | Для каждого компонента камеры предусмотрен отдельный набор переопределяемых настроек постобработки. Всё будет зависеть от выбранной камеры, то есть камеры, которая не переопределяя какие-либо настройки, будет применять эффекты по умолчанию, определённые в настройках проекта, либо использовать значения, заданные для размещённой области. |
Объем постобработки | Область постобработки можно добавить на уровень, выбрав Добавить > Область. Так вы создадите на уровне новый актор, который переопределяет настройки постобработки по умолчанию, почти как в случае с компонентом области в Unity. Эти области могут применять постобработку, когда камера игрока находится внутри одной из них, или применять любые переопределения глобально ко всему уровню, если для них включена настройка Бесконечное расширение (без ограничений) Она работает аналогично настройке Global Mode (Глобальный режим) во фреймворке области в Unity. |
Материалы
Для определения новых шейдеров в Unity используется Shader Graph (Граф шейдеров). Аналог в Unreal Engine — система «Материал». Шейдеры и материалы в Unreal Engine имеют следующие отличия:
Шейдер — это низкоуровневая конструкция на C++, которая определяет базовую модель затенения, такую как Lit (Освещённый), Unlit (Неосвещённый), Clear Coat (Прозрачный слой) или Hair (Волосы). Это определяет параметры ввода для шейдера, такие как «Металл» или «Прозрачность», и то, как каждый из них реагирует на свет.
Материал — это логический граф со входами, формулами и инструкциями для текстур, добавляемых в шейдер, который представляет свойства поверхности отдельного объекта и специфическое выражение этого шейдера.
Чтобы создать материал, щёлкните правой кнопкой мыши в любом месте Каталога ресурсов и выберите Создать базовый ресурс > Материал. В редакторе материалов отобразится пустой граф с узлом Main Material.
Нажмите на узел Main Material, чтобы открыть его свойства на панели Сведения. Вы можете выбирать различные шейдеры с помощью настройки Модель затенения.
Если вы хотите применить уникальный материал к нескольким сеткам, рекомендуем использовать Экземпляры материала. Эти параметризованные версии материалов можно использовать для большего разнообразия и уникальности, не расходуя при этом память.
Каждый экземпляр материала использует либо материал, либо другой экземпляр материала в качестве родительского (или «основного» материала) для внесения изменений. Все узлы, которые были параметризованы в основном материале, доступны в редакторе экземпляров материалов. Эти доступные параметры можно использовать, чтобы создавать бесконечные вариации одного исходного материала для создания многообразия цветов, применения различных текстур, увеличения или уменьшения деталей и т. д.
Использование экземпляров материалов более эффективно, когда вы используете основной материал и его дочерние материалы для внесения изменений.
Чтобы создать экземпляр материала, щёлкните правой кнопкой мыши на материале в Каталоге ресурсов, затем выберите Создать экземпляр материала.
Подробнее о материалах и экземплярах материалов см. в документации Materials (Материалы) и Creating and Using Material Instances. Подробнее о редактор материалов см. в статье Material Editor Guide.
Nanite
Nanite — это система виртуализированной геометрии Unreal Engine, которая использует внутренний формат сетки и технологию рендеринга для отрисовки деталей до масштаба пикселей и большого количества объектов. Она работает только с теми деталями, которые можно разглядеть.
Nanite предоставляет различные преимущества для проектов, например повышение сложности геометрии на несколько порядков, увеличение количества треугольников и объектов по сравнению с тем, что было возможно ранее в режиме реального времени. Ресурсы памяти для отрисовки кадров больше не ограничиваются количеством полигонов, командами отрисовки и памятью, занимаемой сетками.
Подробнее о системе Nanite и о том, как её использовать в проектах см. в разделе Nanite Virtualized Geometry.
Звук
Unity использует инфраструктуру источников звука, в которой с каждым источником в игровом мире связан один голос. Для применения настроек аудиоканала к этим источникам в Unity используются микшеры.
Плагин MetaSounds в Unreal Engine — это система генерации звуков, которую можно использовать для полного управления графом Digital Signal Processing (Цифровая обработка сигналов, DSP) в среде визуального программирования, подобной Blueprint.
Подробнее см. в разделе MetaSounds.
Для микширования звука рекомендуем использовать плагин Audio Modulation (Модуляция звука), который обеспечивает динамическое управление звуковыми параметрами, такими как громкость и высота звука, через системы Blueprint или «Компонент» в Unreal Engine.
Подробнее см. в разделе Audio Modulation Overview (Обзор системы модуляции звука).
Звуковые схемы — это звуковые объекты, в которые упакован комплекс задач звукового оформления в виде графа узлов. Их можно использовать для динамического изменения частей дизайна звукового эффекта путём размещения и модификации узлов аудиосигнала, а также создания сложных звуков.
Подробнее о звуковых схемах см. в разделе Sound Cue Reference (Справочная документация по звуковым схемам).
Подробный обзор звуковых систем Unreal Engine см. в разделе Working with Audio (Работа со звуками).
Визуальные эффекты
Системы частиц Niagara в Unreal Engine аналогичны системам частиц и графу визуальных эффектов Unity. Вы можете настроить генераторы Niagara для создания одиночных генераторов частиц или системы Niagara для объединения нескольких генераторов для воссоздания более сложного визуального эффекта. При создании нового ресурса системы или генератора в качестве шаблона можно использовать существующий генератор Niagara.
В графе System Overview (Обзор системы) редактора Niagara есть интерфейс для редактирования частиц, аналогичный редактору системы частиц в Unity. Генераторы и системы Niagara состоят из модульных компонентов, которые могут работать с разными моделями поведения или событиями. Каждый добавляемый модуль увеличивает сложность системы частиц и добавляет новые параметры для настройки.
Подробнее см. в разделе Creating Visual Effects.
Для добавления дыма, огня, взрывов, воды, брызг и других физически правдоподобных эффектов в проекты можно использовать плагин Niagara Fluids (Жидкости Niagara).
Подробнее см. в разделе Niagara Fluids (Жидкости Niagara).
Пользовательский интерфейс
Редактор Unreal Motion Graphics, или UMG, — это система Unreal Engine, аналогичная набору инструментов для создания интерфейсов и библиотеке компонентов интерфейса Unity В UMG встроен редактор WYSIWYG для создания интерфейсов из различных виджетов, включая кнопки, текстовые элементы и множество контейнеров и сеток.
Чтобы создать новый интерфейс, создайте новую схему Widget Blueprint (Схему создания виджетов) в Каталоге ресурсов. После открытия Widget Blueprint откроется редактор UMG, в котором отобразится пустая решётка с панелью виджетов Палитра слева и панелью «Сведения» справа. Кнопка в правом верхнем углу позволяет переключаться между режимами Конструктор и Граф.
Используйте режим «Конструктор», чтобы расположить виджеты внутри Widget Blueprint. Нажимайте и перетаскивайте виджеты с панели «Палитра» в граф, а для изменения порядка отрисовки панель используйте «Иерархия». Виджеты, расположенные ниже в списке, отображаются сверху. Поставьте флажок напротив параметра Является переменной на панели «Сведения» виджета, чтобы перенести его в сценарий интерфейса.
Как следует из названия, любую созданную вами схему Widget Blueprint (Схема создания виджетов) можно использовать в качестве виджета внутри других Widget Blueprints (Схем создания виджетов). Они отображаются в палитре в категории Создано пользователем. Widget Blueprint можно использовать как для целых меню и HUD-интерфейсов, так и для повторно используемых компонентов, таких как кнопки или шкалы прогресса.
Подробнее см. в разделе UMG UI Designer Quick Start Guide. Подробнее о создании и отображении интерфейса см. в разделе Creating User Interfaces (Создание интерфейсов).
Сохранение и загрузка
Идея выхода игрока из игры с возможностью последующего продолжения с того же места, где игра была приостановлена, является неотъемлемой частью большинства современных игр. В зависимости от типа создаваемой вами игры, возможно, вам понадобится сохранять только базовую информацию, такую как последняя контрольная точка, которую достиг игрок, или другие более подробные сведения.
Пользователи Unity могут быть знакомы с механизмом PlayerPref, который можно использовать для сохранения предпочтений игрока между игровыми сеансами, а также с различными пакетами Asset Store (Хранение ресурсов), которые предоставляют функции сохранения и загрузки. Эти функции встроены в Unreal Engine.
Подробнее о добавлении возможности сохранять и загружать игровые сеансы в Unreal Engine см. в разделе Saving and Loading Your Game (Сохранение и загрузка игры).
Сравнение высокоуровневых функций движков
В этом разделе представлен общий обзор названий и способов использования некоторых функций и инструментов в Unity и Unreal Engine.
| Назначение | Unreal Engine | Unity |
|---|---|---|
| Интерфейс | ||
Создание интерфейсов | Unreal Motion Graphics (UMG) | UI Toolkit |
| Создание мира | ||
Создание всех форм ландшафта | Режим «Формирование ландшафта» | Система создания рельефа Terrain |
Добавление растительности в ландшафт | Режим «Растительность» | Растительность системы создания рельефа Terrain |
Создание препятствий на уровне | Режим моделирования | ProBuilder |
Создание водоёмов и подводных эффектов | Система водных объектов | Система водных объектов |
Процедурная генерация мира | Процедурная генерация контента (PCG) | Инструменты сторонних разработчиков |
| Оптимизация | ||
Набор инструментов профилирования для выявления проблем с производительностью | Трассировка | Profiler |
| Игровой процесс | ||
Обработка ввода пользовательских команд | Расширенная система ввода | Input System |
Визуальное программирование | Редактор Blueprint | Visual Scripting (ранее — Bolt) |
Написание сценариев и поддерживаемые языки программирования | C++ (программирование) | C# (написание сценариев) |
Движок физики | Физические явления в Chaos | NVIDIA PhysX |
Сохранение и загрузка игровых данных | Объекты SaveGame | PlayerPrefs/Пользовательские решения |
| Искусственный интеллект | ||
Конечный автомат для создания состояний ИИ | StateTree | Инструменты сторонних разработчиков |
Создание зон, по которым могут перемещаться персонажи ИИ | Навигационная система | Nav Mesh |
| Анимация | ||
Обработка данных анимации | Схемы с анимацией | Animator Controller |
Создание последовательностей анимации | Редактор Sequencer | Временная шкала |
Скелетная анимация трёхмерных персонажей | Control Rig | Инструменты сторонних разработчиков |