Simplygon LODs в Unreal Engine 4

0
6
Simplygon LODs UE4
В этом разделе описывается использование возможностей Simplygon для создания LODs для StaticMeshes в Unreal Engine 4. Если у вас нет лицензии Simplygon, стандартная система FBX имеет метод импорта LODs для StaticMeshes. Подробнее смотрите документацию FBX Static Mesh Pipeline.

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

Основные функции:

  • Группы LOD, которые определяют настройки уровня детализации по умолчанию, разрешение карты освещения и разрешают глобальные переопределения (например, уменьшают все SmallProp LODs на 10%). Вы можете выбрать группу LOD во время импорта и изменить ее в любое время в редакторе Static Mesh.
  • Определите и переопределите параметры группы LOD для каждой платформы или устройства.
  • Нормали и касательные всегда импортируются из FBX. В любое время вы можете выбрать, использовать ли импортированные нормали / касательные или выбрать, чтобы Unreal пересчитал их.
  • Оптимизированный рабочий процесс настройки и правки LODs в Редакторе StaticMesh.
  • Автоматическая генерация LODs с использованием Simplygon.
Simplygon распространяется вместе с Unreal Engine, но лица, имеющие разрешение, должны сначала получить лицензию от Donya Labs (simplegon.com/), что\бы использовать эту функцию. Пожалуйста, свяжитесь с ними для получения дополнительной информации о получении лицензии.

Управление LOD

Панель Level of Detail (Уровень детализации LOD) в Редакторе StaticMesh предоставляет возможность управлять и генерировать полные цепочки LODs мешей в соответствии с правилами, которые вы настроили в форме групп LOD Groups либо на основе каждой меши и каждого LOD.

Лод панель ue4

LOD Генерирование

Автоматическая генерация LOD использует Simplygon для создания упрощенных версий базовой меши, которые будут использоваться как LODs. Эти алгоритмы учитывают такие факторы, как целевая сложность, сохранение координат силуэта и текстуры и многое другое для создания новой меши, которая может отображаться на расстоянии без заметного ухудшения или артефактов.

Для применения LOD Group (группы LOD):

  1. Выберите LOD Group для использования в настройках LOD Settings.

выбор группы ue4

  1. Нажмите на кнопкуПодать заявление UE4чтобы создать новые LOD меши.

Чтобы создать пользовательскую цепочку LOD:

  1. Выберите количество LOD мешей для генерации в настройках LOD Settings.
Вы также можете выбрать LOD Group для использования в качестве отправной точки, а затем изменить настройки.

номер lod ue4

2. Установите Reduction Settings (настройки редукции) для каждой LOD меши для создания.

параметры Лод ue4

3. Нажмите на кнопкукнопка Применить, чтобы создать новые LOD меши.

Предварительный просмотр LOD

Меши LOD можно просмотреть с помощью элементов управления на панели инструментов:

Настройки LOD

НастройкаОписание
LOD Group/ Группа LODУказывает группу LOD Group, чтобы использовать для меши.
Number of LODs/ Количество LODУстанавливает количество LODs для меши. Список обновлений LODs, так как это значение изменяется, но фактические изменения не производятся до тех пор, пока нажата кнопкакнопка Применить.
Auto compute LOD Distance/ Автоматическое вычисление расстояния LODДля определения расстояний, на которых происходят переходы между LODs, используется простая метрика ошибки. В противном случае свойство Distance для каждого LOD используется для определения перехода к этому LOD.
LOD Distance Error/ Ошибка расстояния LODМасштабирует расстояния, на которых происходят переходы между LODs при использовании автоматического вычисления.

Настройка сборки

НастройкаОписание
Recompute Normals/ Пересчитать НормалиГруппы сглаживания будут пересчитаны с помощью Unreal. В противном случае группы сглаживания будут сохранены из файла FBX.
Recompute Tangents/ Пересчитать КасательныеКасательные будут пересчитаны с помощью Unreal. В противном случае касательные будут сохранены из файла FBX.
Remove Degenerates/ Удалить вырожденияВырожденные треугольники, найденные во время импорта, будут удалены. Отключение этой опции приведет к обнаружению вырожденных треугольников. В общем, этот параметр должен быть включен.
Use Full Precision UVs/ Использовать полную точность UVsUVs для меши будут храниться как 32-битные массы, а не 16 битные.

Настройки Редукции

НастройкаОписание
Percent Triangles/ Процент треугольниковРедактор упрощает меш, пока не будет определено точное количество указанных треугольников.
Max Deviation/ Максимальное отклонениеМаксимальное отклонение от базовой меши в процентах от ограничивающей сферы. Редактор использует требуемое качество для вычисления показателя ошибки для меши. Эта метрика ошибки не позволяет инструменту упростить меш таким образом, чтобы поверхность новой меши слишком сильно отклонялась от поверхности исходной меши. Преимуществом этого подхода является то, что инструмент может разумно оптимизировать меш в пределах некоторого отклонения исходной меши, не останавливаясь при произвольном пределе треугольника.
Silhouette/ СилуэтУказывает, насколько важен силуэт меши. Вы можете выбрать между Off (Откл.)Lowest (Самый низкий)Low (Низкий)Normal (Обычный)High (Высокий), и Highest (Самый высокий). Выбор более высокого значения приведет к упрощению, чтобы лучше сохранить геометрическую форму меши, но приведет к более высокому числу треугольников.
Texture/ ТекстураОпределяет, насколько важна плотность текстуры. Вы можете выбрать между Off (Откл.)Lowest (Самый низкий)Low (Низкий)Normal (Обычный)High (Высокий), и Highest (Самый высокий). Выбор более высокого значения приведет к упрощению, чтобы избежать артефактов растяжения текстуры, но приведет к более высокому числу треугольников.
Shading/ ЗатенениеОпределяет, насколько важно качество затенения. Вы можете выбрать между Off (Откл.)Lowest (Самый низкий)Low (Низкий)Normal (Обычный)High (Высокий), и Highest (Самый высокий). Выбор более высокой настройки приведет к упрощению, чтобы лучше сохранить качество затенения, но приведет к более высокому числу треугольников.
Welding Threshold/ Порог сваркиВершины на этом расстоянии друг от друга автоматически как бы свариваются. Это может помочь устранить мелкие грани. Использование больших значений может привести к нежелательным результатам.
Hard Edge Angle Threshold/ (Порог угла жесткой грани)Углы, превышающие это значение между гранями, приведут к жестким краям между гранями. Меньшие углы создадут мягкие края.

LOD Groups – Группы LOD

Группы LOD определяют настройки уровня по умолчанию, а также некоторые параметры для глобальной модификации Статик мешей.

Группы определены в разделе [StaticMeshLODSettings] файла Engine.ini. Например:


[StaticMeshLODSettings]
LevelArchitecture=(NumLODs=4,LightMapResolution=32,LODPercentTriangles=0.5,SilhouetteImportance=4)
SmallProp=(NumLODs=4,LODPercentTriangles=0.5)
LargeProp=(NumLODs=4,LODPercentTriangles=0.5)
Vista=(NumLODs=1)
Foliage=(NumLODs=1)

Эти настройки определяют пять LOD групп:

  • LevelArchitecture (уровень архитектура)
  • SmallProp (свойство маленький)
  • LargeProp (свойство большой)
  • Vista (перспектива)
  • Foliage (листва).

Группы LOD могут быть добавлены и удалены без модификаций кода, просто отредактировав формат INI. Дополнительные группы LOD будут автоматически отображаться в пользовательском интерфейсе Редактора. Меши, которые были удалены из группы, будут использовать настройки по умолчанию, определенные кодом. Эти настройки по умолчанию также могут быть переопределены в INI, определяя группу LOD.

Настройки группы по умолчанию

Следующие настройки определяют значения по умолчанию для каждой группы. Они применяются только тогда, когда импортируется меш или изменяется LOD группа меши.

НастройкаОписание
NumLODsПо умолчанию определяет количество LOD для генерации. Это значение должно быть в диапазоне 1 – 4.
LightMapResolutionРазрешающая способность карты освещения.
BasePercentTrianglesПроцент треугольников для сохранения в базовом LOD, 0.0-1.0.
LODPercentTrianglesПроцент треугольников для уменьшения каждого LOD. Например, если для меши с 4 LOD установлено значение 0,5, а LOD0 имеет 5 000 треугольников, то остальные LOD будут иметь 2500, 1250 и 625 треугольников соответственно.
MaxDeviationМаксимальное расстояние, на котором поверхность LOD может отклоняться от базового LOD в локальном пространстве.
WeldingThresholdЕсли расстояние между двумя вершинами меньше этого значения, они будут свариваться вместе.
HardAngleThresholdЕсли угол между двумя треугольниками выше этого значения (в градусах), нормали не будут гладкими по краю между этими двумя треугольниками.
SilhouetteImportanceБолее высокие значения пытаются сохранить силуэт объекта при генерации LOD.
TextureImportanceБолее высокие значения пытаются предотвратить растяжение текстуры при генерации LOD.
ShadingImportanceБолее высокие значения пытаются свести к минимуму изменения в норме при генерации LOD.

Глобальные настройки группы

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

НастройкиОписание
BasePercentTrianglesMultДальнейшее уменьшение базового LOD. Например, если это значение равно 0,9, то базовый LOD всех мешей в группе будет иметь свои треугольники, уменьшенные на 10%.
LODPercentTrianglesMultДалее уменьшает треугольники каждого LOD. Аналогично BasePercentTrianglesMult, но не применяется к базовому LOD.
MaxDeviationBiasИзменяет максимальное отклонение, используемое во время редукции для всех мешей.
WeldingThresholdПодстраивает начало “сварки”, используемый во время редукции для всех мешей.
HardAngleThresholdИзменяет начало жесткого угла, используемый во время редукции для всех мешей.
SilhouetteImportanceИзменяет значение силуэта, используемое во время редукции для всех мешей.
TextureImportanceИзменяет значение текстуры, используемое во время редукции для всех мешей.
ShadingImportanceИзменяет значение затенения, используемое во время редукции для всех мешей.

Simplygon®

логотип simplygon ue4

Simplygon используется для автоматического создания готовых к игре моделей Уровня Детализации (LOD) для определенного разрешения пикселей, удаляя как можно больше информации без ухудшения качества LOD для определенного экранного размера. Simplygon использует запатентованный метод сокращения меши, который сохраняет геометрическую целостность LOD и визуальное качество переключения LOD, производя AutoLOD, которые могут быть непосредственно использованы в играх Triple-A.

Unreal Engine 4 использует Simplygon для обеспечения высококачественного сокращения меши без необходимости выходить из Редактора Unreal. Разработчики могут быстро упрощать меши, генерировать LODs и сразу видеть результаты на своих картах.