Лодирование — это создание более низкополигонального меша, каждый вариант из которого называется лодом (LOD) и имеет меньше полигонов, чем предыдущий. В Unreal Engine есть инструмент, позволяющий добавлять сделанные LOD или автоматически генерировать их при помощи редактора.
Они используются для оптимизации, поскольку мы не можем наблюдать за всеми объектами на сцене сразу, особенно если карта большая. Поэтому для объектов создаются дополнительные варианты геометрии с меньшим количеством полигонов. Чем дальше будет объект, тем с меньше полигонов будет в LOD, чтобы сохранять общий силуэт, но не нагружать сцену мелкими деталями, которых уже не было бы видно на расстоянии, или вовсе убрать объект.
Добавление ЛОДов созданных вручную:
- Выбираем Static Mesh Actor (статический mesh) в Content Browser и кликаем по нему два раза.
- Переходим в раздел Details>LOD Settings. Первым будет LOD0, это нулевой LOD, который является исходной геометрией модели. Следующие LOD1, LOD2, LODn будут иметь меньшее количество полигонов на каждой итерации.
Skyrim — Генерация лодов (ландшафт, объекты, деревья) — Oscape, TES5LODGen | GKalian
Автоматическая система работает по принципу визуальной разницы и объединения граней (выбираются грани меньше всего влияющие на общий силуэт, и их вершины сшиваются). При объединении производится подсчет наиболее подходящего места для появления образованной вершины и удаление треугольников, которые были затронуты. Производится это до тех пор, пока не будет достигнуто указанное количество треугольников.
В Unreal Engine предусмотрено два варианта создания LOD. Их разница заключается в настройках. В первом – использование предварительно настроенных параметров для LOD групп, а во втором производится пользовательская настройка.
Использование подготовленных параметров, в которых настраиваются шаблоны на определенные группы объектов. Перед работой с проектом требуется найти файл BaseEngine.ini по пути расположения игрового движка (Epic GamesUE_5.0.3EngineConfig), открыть его в текстовом редакторе и проверить наличие раздела [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»))
Skyrim Pre Cache Grass & dyndolod 3.0 Grass Lod Tutorial | НЕТ Увядающей Травы И Удивительной Далекой Травы
Записи этого раздела позволяют определить функционирование LOD групп. Изменение их приведет к добавлению, удалению или настройке записей каждой LOD группы.
- Для того, чтобы сделать автоматическое лодирование, требуется перейти в Static Mesh Editor (редактор статического меша) через двойной клик по самому мешу.
- Открыть раздел Details>LOD Settings.
- В LOD Group можно заметить заданные кодом LOD группы на выбор. Выбирается соответствующая.
- Последует уведомление о перезаписи настроек, нажимаем «yes».
- В LOD Settings появится открываемый список LOD0, LOD1, LOD2, LODn с их параметрами, которые соответствуют заданным записям в файле BaseEngine.ini
Желательно использовать параметр Auto Compute LOD Distances, позволяющий автоматически определять нужное количество полигонов на определенном расстоянии от объекта, подбирая наиболее подходящие. Отключение функции требует ручной настройки данного параметра. Универсальной LOD группой является SmallProp, она имеет 4 этапа ЛОДирования и автоматически определяет на каком расстоянии перещёлкиваются ЛОД-ы.
- В Static Mesh Editor в разделе Details выбираем LOD Settings>Number of LODs. Параметр позволяет определить количество LOD групп. Нажимаем Apply Changes, будет создано заданное количество LOD. В этом способе также желательно использовать параметр Auto Compute LOD Distances.
- Открываем нужный LOD и в Percent Triangles (процент количества треугольников) указываем нужный процент от общего количества. Нажимаем Apply Changes. Так указывается процент для каждого существующего LOD.
Теперь можно проверить работу LOD, отдаляя камеру от объекта и наблюдая за изменением деталей. Также проверить можно через количество полигонов в левом верхнем углу в Static Mesh Editor. При расположении объекта на сцене, лодирование будет срабатывать автоматически в зависимости от расположения камеры по отношению к этому объекту.
Также можно сделать LOD для коллизии. Если коллизия имеет сложную геометрию и занимает большое количество полигонов, можно воспользоваться LOD for Collision в разделе Static Mesh Settings>Details. Указывается количество LOD для коллизии (0 – первоначальная коллизия).
Источник: cgitems.ru
От карты высот до мира в Skyrim — Часть 2
Теперь я работаю над лодами для своего мира. Я нашла эту прекрасную тему, где все это было обсуждено, спасибо вам!
В CS лоды создавались в Heightmap editor, в Creation kit это меню так же существует, но ничего не происходит, когда вы пытаетесь сделать меши лодов таким образом.
Для лодов нужны три вещи: меши (.btr files), текстуры (.dds files) и .lod-файл для самого мира. Существуют несколько способов для создания этих файлов, вы можете использовать CK или другую программу, способную сделать это.
Создание мешей и текстур
У меня были краши редактора, когда я пыталась сгенерировать текстуры. Я читала, что Skyrim нуждается в двух видах текстур — diffuse/color и normal. Они могут быть сгенерированы при помощи двух разных утилит — TES4qLOD и Oscape. Oscape создаст меши, normals и diffuse/color, я бы рекомендовала вам использовать эту программу, она намного быстрее и лучше чем CK. У меня редактор работал только с миром 16×16 (заняло несколько часов!).
Поправка: новая версия Oscape по ссылке.
Для работы с Oscape я воспользовалась небольшим советом от Maegfaer:
1. Убедитесь, что ваш ESM (только не ESP, Oscape не читает ESP-файлы) активирован в списке модов.
2. Запустите Oscape, убедитесь, что он запущен в режиме Skyrim mode (вкладка ‘Game’).
3. Нажмите Fill.
4. Выберите ваш мир в списке, отметьте feature-map и surface-map. (промотайте вниз до «Fill»)
5. Выберите папку, где будут сохраняться файлы, это не обязательно должна быть папка Skyrim, сохранять можно куда угодно. (Измените имя вашего .raw файла в соответствии с названием вашего мира).
6. Нажмите Extract. Если у вас появится окно с ошибкой, что нет такого мира, закройте Oscape и повторите шаг 2.
7. Ждите, пока все не закочнится. В определенный момент Oscape должен сам автоматически перейти на другую вкладку (Preview).
8. Обычно все параметры верны, программа покажет вам карту высот, которую она вытащила (не пропускайте предыдущие шаги, т.к. карта высот, которая у вас есть, отличается от той, что у Oscape в превью) и таблица, где вы можете выбрать какие части будут генерироваться. Всё включено по умолчанию. Затем нажмите Accept.
9. Перейдите на вкладку ‘Generator’.
10. Первое, что вы должны изменить — это ‘Target of max. resolution’. Попробуйте поставить 728000.
Поправка:
Значение The Target of Max resolution зависит от того, насколько детализирован ваш мир, даже самый плоский мир может иметь высокое число. Ethatron (создатель Oscape) рекомендует не ставить значение ниже 1000 pts per cell в вашем мире. Вам нужно будет протестировать, что будет работать в конкретном вашем мире.
11. Ниже проверьте, что у вас стоят галочки на ‘Meshes’, ‘Normals’ и ‘Colors’.
12. У’Meshes’ отключите DirectX и Wavefront.
13. У ‘Normals’ и ‘Colors’ отключите PNG, PPM и все разрешение, кроме 1024 (или же выберите то, которое вам нужно).
14. В самом низу выберите папку, куда всё будет сохраняться. Она может быть любой. Затем нажмите Generate.
15. Когда все будет сделано Oscape перескочит на вкладку ‘Installer’. Отметьте все поля ‘Install’ там. В самом низу выберите папку с Skyrim Data, после нажмите install.
16. Во время установки текстур, Oscape всегда выдает мне ошибки, что он не может конвертировать .dds файлы. Я нажимаю Retry и похоже все работает (зажмите Enter, если у вас будут тысячи сообщений).
The Oscape settings
Я не доверила Oscape установить эти файлы, были ошибки, поэтому установку произвела вручную.
Текстуры (.dds) должны быть в папке:
Skyrim/Data/Textures/Terrain/»worldspace»
а меши (.btr) в:
Skyrim/Data/Meshes/Terrain/»worldspace»
Вам нужно будет создать эти папки, если их у вас нет.
Скопируйте все файлы Copy all the .btr and .dds files.
Меши состоят из 4 уровней: 4, 8, 16 and 32. Все они нужны игре, уровень 32 создает карту.
Меши с помощью Creation Kit:
В Creation kit нажмите World, World LOD. В появившимся окне вы сможете выбрать различные настройки, затем нажать Generate. Так же есть настройка Background и High Priority, это определяет скорость генерации мешей (используйте High Priority, это сэкономит вам много времени). Мой Creation kit ломался, когда я его сворачивала, но перезапуск генерации помог.
Там так же есть утилита, которая очистит файлы (Clear Scratch Files), я думаю, она удалит все незаконченные лоды. Сами же файлы лоды должны быть в папке Skyrim/Data/Meshes/Terrain/»worldspace», а так же иметь расширение .BTR.
Создание .lod-файла
Без этого файла у вас не будут отображаться меши и текстуры лодов. .lod может быть создан в CK, у меня редактор ломался после 15 минут работы над сравнительно небольшим миром (2х2 квадранта).
Создать файл можно двумя способами:
1. Скопируйте tamriel.lod из Skyrim Meshes.BSA (Я распаковала архив через BSA unpacker). Переименуйте .lod-файл в название вашего мира. Файл нужно поместить в Skyrim/Data/lodsettings.
2. Воспользуйтесь программой по генерации .lod и сделайте файл.
Легко увидеть потенциальную красоту, даже со стандартной текстурой и без растений. Я люблю небо 🙂
Теперь лоды работают в игре, но у меня есть некоторые проблемы с пурпурными текстурами.
Это связано с отсутствующими текстурами. Некоторые текстуры имели черные квадраты, в результате отображается всё пурпурным.
Как я говорила ранее, карта мира была сделана из мешей 32 уровня и текстур. Первая картинка без карты нормалей и текстур, вторая с этими текстурами.
Огромное спасибо все моддерам, которые объяснили эти вещи на форуме Bethesda 🙂
/E
Источник: tesall.ru
Создание полноценного LOD
В этом туторе описано как сделать полноценный LOD для вашего мира. Сделал максимально понятно и доступно.
—>Всего комментариев : 19 | |
Что такое Modgames.net?
Modgames.net — это портал, где мы с вашей помощью собираем лучшие модификации к популярным играм. Мы начали свой путь в начале 2010го года, специализируясь на модификациях к Fallout 3 и Dragon Age: Origins. Теперь в нашей базе собраны тысячи качественных и переведенных на русский язык модификаций для популярных игр последних лет.
Источник: modgames.net