Первоочередная сфера сравнения - UI-редакторы для разработки уровней.
По функционалу они очень схожи. Оба движка оборудуются браузерами для ассетов, обработки скриптов и остальных типов файлов. Разрабатываемые объекты просто перетаскиваем к сцене, и они вносятся в общую иерархию.
Для влияния на объекты, расположенные внутри редактора, используем встроенные инструменты: масштаб, поворот, отражение, изменение позиции и т.д. По функциям редактора колоссальных отличий не наблюдаем. Все свойства объектов, разработанных с помощью
Обеим движкам характерно наличие static meshes, которые можем передвигать, вертеть, масштабировать и т. д. Скелетные меши также присущи обоим вариантам – геометрические сущности, связывающиеся со скелетными костями, их задача сводится к анимированию персонажей. Разрабатывать skeletal meshes рекомендуем в Maya или Blender.
Движки поддерживают импорт скелетных мешей с анимацией. В случае с Unity действия соединяются с самим объектом, становясь клипами анимации. На движке Unreal 4 импорт представлен последовательностями анимации. При использовании Юнити для управления анимацией используются специальные контроллеры, по аналогичному принципу в UE4 реализуется Blueprints.
Обе разновидности движков дополняются стейт-машинами, отвечающими за переходы ассетов в разные состояния. В UE4 система носит название Persona, а во втором движке – Mecanim
. Есть функция передачи скелетных мешей между собой, в Unity функция предназначается преимущественно для анимации гуманоидов.
Редактирование анимации
Важным отличием UE4 является возможность редактирования анимации, чего в аналоге не представлено. На Unity особенно сложно реализовать реалистичные движения гуманоидов. В общем движки не являются инструментами профессионального анимирования, для этих целей стоит задействовать приложения, вроде Maya. С программы просто импортируем файлы с расширением FBX
. В файле представлен объект и весь прикреплённый материал, их легко добавить в рабочий проект. Недостатком подхода является необходимость вручную задавать шейдер и некоторые другие свойства.
Для выполнения поставленной задачи в Unity следует придать заготовке шейдер и дополнить его текстурами: картой неровностей, диффузией, нормалей. Создавать шейдеры можно самостоятельно или воспользоваться сторонними приспособлениями: ASE и Shader Forge. Непосредственно в UE4 есть встроенный и мощный редактор, который в основе использует ноды.
Написание кода
Для написания кода в UE4 используется
В Unity 5 одновременно внедрены
Разработчики двумерной графики по достоинству оценят Unity благодаря прекрасным инструментам, здесь есть различные спрайты: editor, creator, packer. В UE4 дополнительно встроены спрайты типа Paper 2D, но в предыдущем движке система мощнее и реализован отдельный физический движок.
UE4 обладает встроенным постпроцессингом, на сцену можем накладывать эффекты bloom, антиалиасинг, тонирование и т. п. Эффекты можем применять не только ко всей сцене, но и к конкретным участкам, используя PostProcessVolume. Unity обладает стеком постпроцессинга, только его предварительно придётся загружать из магазина ассетов. По гибкости система несколько уступает UE4, накладывать эффекты можем исключительно стеком и скриптам, работающим с камерой.
В UE4 есть Sequencer
для разработки синемантиков. Является мощным инструментом, взаимодействующим с временной шкалой, в которую можем добавлять объекты. В Unity 5.6 всё ещё не создана система синематиков, но редактор-timeline внесли в Unity 2017.
Отметим, что рассматриваемые движки весьма мощные, но по гибкости UE4 несколько выигрывает у конкурента. Зато при необходимости разработки 2D-игр предпочтение стоит отдать Unity 5. Дорогостоящий проект в 3D с необходимостью реализации открытого мира лучше делать на UE4.
Перевод статьи с поратала