Переход На Unigine С Unity: Руководство Для 3D-Художников



Сетки, материалы, шейдеры, освещение, оптимизация и многое другое.



Переход на UNIGINE с Unity: руководство для 3D-художников

Специально для тех, кто ищет полноценный аналог Unity или Unreal Engine, мы продолжаем серию статей о безболезненном переходе на UNIGINE с зарубежных движков.

Во втором эпизоде мы рассмотрим миграцию Unity с точки зрения 3D-художника.



Ресурсы

Система ресурсов в UNIGINE очень похожа на систему в Unity. Прежде всего, давайте посмотрим на окно Обозреватель активов - аналог окна Проект в Единстве.



Переход на UNIGINE с Unity: руководство для 3D-художников

Содержимое папки находится здесь данные - все ресурсы проекта.

Сюда во время импорта копируются текстуры, модели и другие ресурсы.

Как и в Unity, ресурсы можно обновлять с помощью сторонних приложений (исправлять текстуру или модель), и изменения автоматически подхватываются в редакторе UNIGINE. Привычных Пакетов здесь нет, как и менеджера пакетов — набор возможностей определяется редакцией SDK, а также плагинов движка и редактора.

Сообщество y Edition сама по себе представляет собой полноценную среду разработки, и Инженер г и Сим содержат дополнительные опции для конкретных требований.

  • Пакеты в редакторе UNIGINE - ресурсы *.

    upackage — позволяют удобно переносить наборы ассетов со всеми зависимостями между проектами; они импортируются в проект как обычные ресурсы, а содержимое распаковывается на месте.

    Дополнительные наборы контента в UNIGINE доступны как дополнения в браузере SDK.

  • Набор стандартных ресурсов - материалы, шейдеры, текстуры - находится в папке.

    основной (содержимое архива core.ung ).

  • конфиги — текстовые файлы конфигурации проекта, здесь, например, можно задать запуск мира по умолчанию.

Файловую систему можно расширить с помощью точки монтирования , включая возможность создать общее сетевое хранилище ресурсов и использовать его всей командой.



Компоненты против узлов

В Единство главный объект сцены - Игровой объект - по сути это просто точка в пространстве сцены с трансформацией.

Компонентный подход, принятый в Единство , подразумевает, что любая функциональность Игровой объект определить назначенные ему компоненты, являются ли они стандартными или нет. В UNIGINE подход к элементам мира более строгий.

Все узлы имеют свой тип и делятся на группы : Есть объекты , источники освещения , наклейки , объекты для дизайна уровней и так далее.

Вы можете назначить компонент C# (или C++) всем узлам, чтобы применить логику программы или расширить базовую функциональность узлов.

Все узлы доступны в меню Создавать ( Shift + ПКМ в окне просмотра):

Переход на UNIGINE с Unity: руководство для 3D-художников

Узел-пустышка похоже на пустой Игровой объект , который можно использовать для группировки объектов и в логике.

Вероятно, это один из наиболее часто используемых узлов в проектах, поэтому стоит запомнить горячую клавишу Ctrl+Г , который создает новый фиктивный узел (если нет выделения) или группирует выбранные узлы.

Многие объекты дизайна уровней (некоторые из них доступны в Unity в URP/HDRP или в сторонних пакетах) включены в UNIGINE «из коробки»:



Переход на UNIGINE с Unity: руководство для 3D-художников

Кучево-дождевые облака над террейном

Переход на UNIGINE с Unity: руководство для 3D-художников

Иерархия в Unity

Переход на UNIGINE с Unity: руководство для 3D-художников

Мировые узлы в UNIGINE В окне Мировые узлы представлен весь мировой контент. Среди важных отличий от Unity: отображается только содержимое загруженного в данный момент мира, а отключение родительского узла строго влияет на все дочерние узлы.



Сетки

То же, что и в Единство , сетка — основной графический примитив в UNIGINE. Вы можете использовать модели FBX из проектов Unity, не меняя масштабирования — 1 единица в UNIGINE также равна 1 метру.

Но UNIGINE имеет правостороннюю систему координат: ось Z+ направлена вверх, а ось Y+ — вперед. Если важно, чтобы модель имела правильную ориентацию по умолчанию, это необходимо учитывать при экспорте геометрии из 3D-пакетов.

Рекомендации по наиболее популярным пакетам — в нашем документация .



Переход на UNIGINE с Unity: руководство для 3D-художников

Левая система координат Unity

Переход на UNIGINE с Unity: руководство для 3D-художников

Правая система координат UNIGINE После импорта в проект ассет FBX становится доступен в Обозреватель активов и является контейнером для всех хранящихся в нем сеток.

В Редактор Unity Чтобы получить доступ к содержимому актива FBX, используйте кнопку со стрелкой, расположенную рядом с ним:

Переход на UNIGINE с Unity: руководство для 3D-художников

Сетки и материалы внутри ресурса FBX в редакторе Unity В UNIGINE вы можете сделать то же самое, дважды щелкнув ресурс:

Переход на UNIGINE с Unity: руководство для 3D-художников

Сетки внутри ресурса FBX в UNIGINE Каждая отдельная геометрия в модели FBX представлена исполняемым активом в формате .

сетка .

При необходимости отдельные объекты можно объединить в один, настройки импорта модели довольно гибкий.

Материалы и текстуры (если они присутствуют в сцене и при условии, что включен их импорт) располагаются в папке рядом с ассетом.

Как и в редакторе Unity, вам просто нужно перетащить ресурс FBX в область просмотра, чтобы расположить объект на сцене.

В UNIGINE это добавит узел Сетка объекта Статическая в мировую иерархию для каждой отдельной сетки — аналогично GameObject с компонентами Сетчатый фильтр И Сетчатый рендерер в Единстве.

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

Например, Статическая сетка представляет сетки, геометрия которых не изменится, Динамическая сетка для деформируемой геометрии (из кода или с использованием физики).



Переход на UNIGINE с Unity: руководство для 3D-художников

Похожие параметры сетки в Unity и UNIGINE Здесь в игру вступают поверхности ( Поверхности ).

UNIGINE разбивает исходную сетку на группы полигонов в соответствии с назначенным материалом (при моделировании в 3D-пакете) — поверхностями.

Это используется при оптимизации вызовов отрисовки и позволяет настраивать параметры видимости и освещения для каждой поверхности отдельно.

А чтобы использовать разные материалы (прозрачный/непрозрачный, блестящий металл/человеческая кожа) на разных частях объекта, нужно разделить меш на поверхности (т.е.

назначить разные материалы полигонам в 3D-редакторе).

Но если части геометрии должны двигаться отдельно (например, вращающиеся колеса автомобиля), то они должны быть представлены отдельными сетками.

Для удобства поверхности можно организовать в иерархию и выключите.



Уровни детализации (LOD)

В Единство компонент ЛОД Групп Отвечает за работу с несколькими уровнями детализации геометрии.

Активный уровень детализации определяется диапазоном, основанным на отношении высоты экранного пространства сетки к общей высоте экрана.



Переход на UNIGINE с Unity: руководство для 3D-художников

ЛОД Групп В UNIGINE уровни детализации представлены поверхностями с настройки видимости на основе расстояний от камеры — на более низком уровне, чтобы обеспечить точную настройку.

Вы можете выбрать минимальное и максимальное расстояние просмотра от камеры для каждой поверхности.

Для плавное переключение между лодами ( Перекрестное затухание ) вам необходимо установить минимальное и максимальное расстояние отображения (Минимальное затухание/Максимальное затухание) .



Переход на UNIGINE с Unity: руководство для 3D-художников

Настройки уровня детализации поверхности Важный! Эти параметры поддерживают значения -инф и инф (-infinity и +infinity) для указания минимального и максимально возможного значения, чтобы, например, последняя жила была видна на произвольно большом расстоянии от камеры.



Переход на UNIGINE с Unity: руководство для 3D-художников

UNIGINE предлагает автоматическое создание уровней детализации для каждой сетки с возможностью автоматического сглаживания нормалей при импорте модели.

Если вам нужен полный контроль над геометрией лодок, вы можете использовать опцию Объединение по постфиксам и объединить объекты из импортированной сцены FBX по постфиксам в их именах: например, сетки car_lod_0, car_lod_1 и car_lod_2 превратятся в поверхности с выбранными расстояниями видимости.

Подробнее читайте в Руководство по импорту FBX .



Анимация

Unity поддерживает как скелетную анимацию, так и анимацию ключевых кадров основных свойств объекта.

Модели FBX с анимацией костей при импорте включают анимационные клипы.

В UNIGINE такие клипы представлены ресурсами .

аним , отдельный ресурс для каждого клипа.



Переход на UNIGINE с Unity: руководство для 3D-художников

UNIGINE импортирует только скелетную анимацию.

Объект Сетка со шкурой является аналогом компонента Unity Средство рендеринга скиновой сетки для обработки скелетной анимации: помимо сетки в ней можно указать клип для проигрывания анимации.

Для создания синематиков и произвольной анимации любых объектов и свойств в UNIGINE используйте инструмент Трекер .

Unity предоставляет систему анимации Меканим с поддержкой конечного автомата, который управляет состояниями анимации и переходами между ними.

Система скелетной анимации UNIGINE основана на работе со слоями анимации: вы можете настроить несколько слоев с разными клипами (как для всей модели, так и для ее частей) и выполнять смешивание между ними с помощью программного API.

Переход на UNIGINE с Unity: руководство для 3D-художников

Пример анимации с использованием двух слоев Для получения дополнительной информации см.

следующие статьи:



BlendShapes

Точно такой же объект Сетка со шкурой поддерживает морфинг.

Если включено Импортировать цели морфинга , из FBX будет импортировано морфинг объектов для каждой поверхности.

В компоненте Unity Средство рендеринга скиновой сетки предоставит доступ к blendshapes в параметрах:

Переход на UNIGINE с Unity: руководство для 3D-художников

В UNIGINE вы можете назначить произвольное количество слоев морфинга из существующих объектов морфинга и управлять их смешиванием с помощью Методы API .



Материалы и шейдеры

Как и в Unity, затенение в UNIGINE основано на физически правильных свойствах материала ( ПБР ).

Хотя для тех, кто привык управлять зеркальными бликами материалов по старинке, UNIGINE предлагает Зеркальный рабочий процесс , похоже на шейдер Стандартный ( Зеркальная установка ) в Юнити.



Переход на UNIGINE с Unity: руководство для 3D-художников

В Unity материалы реализуют определенный выбранный шейдер в зависимости от совместимости этого шейдера с типом компонента.

Рендерер .

Например, для Сетчатый рендерер используются материалы, реализующие стандартный физически корректный поверхностный шейдер (или Горит в URP/HDRP).

В UNIGINE система материалов состоит из базовые материалы и унаследовал от них нестандартные материалы .



Переход на UNIGINE с Unity: руководство для 3D-художников

Материалы в конвейере рендеринга UNIGINE Базовый материал — это нередактируемый набор параметров и текстур, которые передаются в шейдеры фрагментов, вершин и геометрии в ходе нескольких проходов рендеринга.

Базовый материал можно использовать только для узлов или поверхностей определенного типа.

Для всех типов узлов в UNIGINE есть готовый библиотека основных материалов и стандартные шейдеры для моделирования практически любого реального материала.

Все материалы указаны в окне Материалы (меню: Окна -> Иерархия материалов).

Основные материалы на высшем уровне.

mesh_base — это базовый PBR-материал в UNIGINE с впечатляющим списком стандартных эффектов и настроек, используемых для сеток.



Переход на UNIGINE с Unity: руководство для 3D-художников

Его основные параметры:

  • Альбедо ,
  • Металличность ,
  • Шероховатость (шероховатость поверхности вместо Гладкость в Единстве),
  • Зеркальный (для тонкой настройки бликов на диэлектриках),
  • Микрофибра (для имитации ворсистых поверхностей).

Также важна настройка прозрачности материала ( Настройки прозрачности ), поскольку определяет не только режим прозрачности материала, но и сцену рендеринг кадра для него.

Давайте сравним идентичные режимы с режимом рендеринга в Unity:

  • Непрозрачный – Непрозрачный;
  • Вырез – Альфа-тест;
  • Прозрачный – Альфа-смесь.

Мы наследуем базовые материалы Пользовательский контент , переопределяя некоторые из них параметры .

Создание нового материала в Обозреватель активов подбираем основной материал, тем самым определяя тип совместимых предметов.



Переход на UNIGINE с Unity: руководство для 3D-художников



Переход на UNIGINE с Unity: руководство для 3D-художников

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

Это очень полезно в больших проектах, когда художник готовит базовый материал для определенного типа поверхности (скажем, дерева или окрашенного металла), а затем от него наследуются новые материалы с небольшими изменениями, подстраиваемыми под объекты.



Переход на UNIGINE с Unity: руководство для 3D-художников

Вы можете собрать свой базовый материал со сложными эффектами для сеток и декалей, используя визуальный интерфейс.

редактор материалов .

В отличие от Unity Shader Graph, на выходе мы получаем не шейдер, а материал.

Мастер-стек с контекстами Vertex и Fragment отсутствует, основной узел Материал , который включает опции для вершинных и фрагментных шейдеров.

Вы можете начать изучать возможности с примеры графиков материалов .

Смотрите также:



Текстуры

UNIGINE поддерживает те же форматы текстур, что и Unity: 2D, 3D, Cubemap и 2D Array, но типы текстур (представленные предустановками настроек в UNIGINE) другие.

В проекте есть пресеты практически для всех текстурных приложений: PBR-текстуры, маски, карты высот и так далее.

Мы настоятельно рекомендуем использовать правильные пресеты текстур, так как это обеспечит наиболее подходящее сжатие и правильные настройки импорта.



Переход на UNIGINE с Unity: руководство для 3D-художников

Для удобства пресеты применяются автоматически на основе постфиксы названий текстур : файл mytexture_alb.png будет распознан как текстура альбедо, и mynormal_c.hdr - как кубическая карта.

UNIGINE также позволяет импортировать и использовать текстуры «как есть», без изменений.

В некоторых случаях сжатие текстур принесет только вред — например, при использовании текстур вершинной анимации или пользовательских карт hdr — поэтому вы можете пометить эту текстуру как Без изменений .

Несколько слов о подготовке текстур.

Текстура Затенение Для mesh_base должен иметь следующий формат канала:

  • Р – Металличность;
  • Г – Шероховатость;
  • Б – Зеркальный (при необходимости);
  • А – Микрофибра (при необходимости).

Однако при необходимости вы можете настроить любой удобный формат представления этих карт в пользовательском материале в редакторе материалов.

Карты нормалей в UNIGINE - Д- (Обычный стиль DirectX).

Если вы берете текстуры непосредственно из проектов Unity, в которых используются карты нормалей Y+ (в стиле OpenGL), вы можете использовать флаг Инвертировать G-канал для комфорта.

UNIGINE использует двухканальные карты нормалей (вычисляется третья координата вектора нормалей), а третий канал может использоваться для карты прозрачности или другой информации при необходимости.

UNIGINE использует собственный формат представления касательного пространства ( Касательное пространство ), используемый для отображения нормалей, не полностью совместим с Unity. Обычно вы можете импортировать касательное пространство непосредственно из FBX, но нужно быть осторожным — разные пакеты моделирования используют разные касательные пространства.

В целом 3D-художники дают следующие рекомендации по запеканию карт нормалей:

  • Попробуйте создать разрыв УФ-островков и края без сглаживания ( Жесткий край ) в местах, где углы контакта многоугольников острее 45 градусов;
  • Всегда запекайте карты нормалей на триангулированной сетке, чтобы предотвратить искажение нормалей в будущем, когда триангуляция изменится во время импорта;
  • Соблюдайте расстояние между УФ-островками.

Все это позволит вам не беспокоиться о корректности запекания нормалей в любом программном обеспечении.

В этом случае нет необходимости сохранять касательное пространство при экспорте модели в FBX — UNIGINE автоматически рассчитает его при импорте модели.

Также для каждой назначенной текстуры в параметрах материала доступны настройки ограничения текстур по осям (clamping) и флаг отключения анизотропной фильтрации.



Переход на UNIGINE с Unity: руководство для 3D-художников

Общие настройки текстур (качество и разрешение) доступны в настройках рендеринга.



Освещение и атмосфера

Так же как и в Единство UNIGINE имеет как динамическое (в реальном времени), так и статическое (заранее рассчитанное) освещение.

Инструментарий позволяет объединить оба подхода.



Источники света

В Единство источники света представлены компонентом Свет .

UNIGINE предоставляет несколько типов источники света , аналогичный тем, которые используются в Unity.

Переход на UNIGINE с Unity: руководство для 3D-художников



Тени

В Единица y источники света могут находиться в режимах В реальном времени ( в реальном времени ), Смешанный ( смешанный ) И Запеченный ( запеченный ), а также по умолчанию отбрасывает тени в реальном времени (с использованием популярной техники Shadow Mapping).

Когда дело доходит до запекания света (включая тени), рабочий процесс Единство подразумевает использование световые карты ( Карты освещения ).

Вклад Игровой объект Освещение для выпечки определяется его флагом.

Статический (Внести вклад GI).



Переход на UNIGINE с Unity: руководство для 3D-художников

Теги: #Разработка игр #туториал #Работа с 3D-графикой #3d-графика #3d-движок #рендеринг в реальном времени #gamedev #unigine

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.