Если вы давно заинтересовались профессией 3D художника или хотите работать в GameDev, но не знаете, на кого учиться и кем вообще можно стать в этой сфере, то эта статья для вас. Тут мы подробно опишем, чем вам предстоит заниматься на позициях от пропс артиста до технического художника, а также расскажем, где всему этому можно быстро и качественно обучиться. Поехали! #статья@cgitems
Лодирование (LODs)

Лодирование — это создание более низкополигонального меша, каждый вариант из которого называется лодом (LOD) и имеет меньше полигонов, чем предыдущий. В Unreal Engine есть инструмент, позволяющий добавлять сделанные LOD или автоматически генерировать их при помощи редактора.

Они используются для оптимизации, поскольку мы не можем наблюдать за всеми объектами на сцене сразу, особенно если карта большая. Поэтому для объектов создаются дополнительные варианты геометрии с меньшим количеством полигонов. Чем дальше будет объект, тем с меньше полигонов будет в LOD, чтобы сохранять общий силуэт, но не нагружать сцену мелкими деталями, которых уже не было бы видно на расстоянии, или вовсе убрать объект.

Добавление ЛОДов созданных вручную:

  1. Выбираем Static Mesh Actor (статический mesh) в Content Browser и кликаем по нему два раза.
  2. Переходим в раздел Details>LOD Settings. Первым будет LOD0, это нулевой LOD, который является исходной геометрией модели. Следующие LOD1, LOD2, LODn будут иметь меньшее количество полигонов на каждой итерации.

    Рисунок1.png

  3. Number of LODs (количество ЛОДов).
  4. LOD Import>Import LOD Level 1. Откроется проводник, в котором нужно будет выбрать соответствующий fbx-файл. Каждый LOD должен иметь идентично расположенный пивот к основной модели. Для реимпорта меша используется Reimport LOD Level n.
  5. Использование Auto Compute LOD Distances. Параметр позволяет автоматически настроить выбор LOD в зависимости от соотношения размера объекта на экране, какую площадь он занимает в кадре, и их количества.

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

В Unreal Engine предусмотрено два варианта создания LOD. Их разница заключается в настройках. В первом – использование предварительно настроенных параметров для LOD групп, а во втором производится пользовательская настройка.

Использование подготовленных параметров, в которых настраиваются шаблоны на определенные группы объектов. Перед работой с проектом требуется найти файл BaseEngine.ini по пути расположения игрового движка (Epic Games\UE_5.0.3\Engine\Config), открыть его в текстовом редакторе и проверить наличие раздела [StaticMeshLODSettings].

Пример настроек групп.

[StaticMeshLODSettings] LevelArchitecture=(NumLODs=4,LightMapResolution=32,LODPercentTriangles=50,PixelError=12,SilhouetteImportance=4,Name=LOCTEXT("LevelArchitectureLOD","Level Architecture")) SmallProp=(NumLODs=4,LODPercentTriangles=50,PixelError=10,Name=LOCTEXT("SmallPropLOD","Small Prop")) LargeProp=(NumLODs=4,LODPercentTriangles=50,PixelError=10,Name=LOCTEXT("LargePropLOD","Large Prop")) Deco=(NumLODs=4,LODPercentTriangles=50,PixelError=10,Name=LOCTEXT("DecoLOD","Deco")) Vista=(NumLODs=1,Name=LOCTEXT("VistaLOD","Vista")) Foliage=(NumLODs=1,Name=LOCTEXT("FoliageLOD","Foliage")) HighDetail=(NumLODs=6,LODPercentTriangles=50,PixelError=6,Name=LOCTEXT("HighDetailLOD","High Detail"))

Записи этого раздела позволяют определить функционирование LOD групп. Изменение их приведет к добавлению, удалению или настройке записей каждой LOD группы.

  1. Для того, чтобы сделать автоматическое лодирование, требуется перейти в Static Mesh Editor (редактор статического меша) через двойной клик по самому мешу.
  2. Открыть раздел Details>LOD Settings.
  3. В LOD Group можно заметить заданные кодом LOD группы на выбор. Выбирается соответствующая.
  4. Последует уведомление о перезаписи настроек, нажимаем «yes».
  5. В LOD Settings появится открываемый список LOD0, LOD1, LOD2, LODn с их параметрами, которые соответствуют заданным записям в файле BaseEngine.ini

    Рисунок2.png

Желательно использовать параметр Auto Compute LOD Distances, позволяющий автоматически определять нужное количество полигонов на определенном расстоянии от объекта, подбирая наиболее подходящие. Отключение функции требует ручной настройки данного параметра. Универсальной LOD группой является SmallProp, она имеет 4 этапа ЛОДирования и автоматически определяет на каком расстоянии перещёлкиваются ЛОД-ы.

Пользовательская настройка.

  1. В Static Mesh Editor в разделе Details выбираем LOD Settings>Number of LODs. Параметр позволяет определить количество LOD групп. Нажимаем Apply Changes, будет создано заданное количество LOD. В этом способе также желательно использовать параметр Auto Compute LOD Distances.
  2. Открываем нужный LOD и в Percent Triangles (процент количества треугольников) указываем нужный процент от общего количества. Нажимаем Apply Changes. Так указывается процент для каждого существующего LOD.
  3. Теперь можно проверить работу LOD, отдаляя камеру от объекта и наблюдая за изменением деталей. Также проверить можно через количество полигонов в левом верхнем углу в Static Mesh Editor. При расположении объекта на сцене, лодирование будет срабатывать автоматически в зависимости от расположения камеры по отношению к этому объекту.

    Также можно сделать LOD для коллизии. Если коллизия имеет сложную геометрию и занимает большое количество полигонов, можно воспользоваться LOD for Collision в разделе Static Mesh Settings>Details. Указывается количество LOD для коллизии (0 – первоначальная коллизия).

Ваша заявка отправлена!
Если во входящих на почте: нет письма, проверьте папку спам или напишите нам в телеграм