Сообщество Империал: [Tutorial] Создание LOD'ов для 3D моделей - Сообщество Империал

Avetis Kalustyan

[Tutorial] Создание LOD'ов для 3D моделей

автоматическая генерация лодов
Тема создана: 27 января 2016, 01:31 · Автор: Avetis Kalustyan
 Avetis Kalustyan
  • Imperial
Imperial
Нахарар

Дата: 27 января 2016, 01:31

Урок достаточно "углублённый", касается уже самых "глубоких" этапов графического мододелания, но я надеюсь, что кому-нибудь будет полезен.

Что такое, зачем нужно?

Цитата

LOD (англ. Levels Of Detail — уровни детализации) — приём в программировании трёхмерной графики, заключающийся в создании нескольких вариантов одного объекта с различными степенями детализации, которые переключаются в зависимости от удаления объекта от виртуальной камеры. Другой метод заключается в использовании одной основной, «грубо приближенной», модели и нескольких внешних надстроек к ней. Каждая последующая надстройка к основной модели дополняется элементами детализации пропорционально номеру надстройки. То есть на самом большом расстоянии будет отображаться единственная главная модель объекта. С приближением же последнего к камере игрока к конвейеру отрисовки будут последовательно подключаться последующие надстройки деталей.

Смысл приёма заключается в том, что отображать высокодетализированные объекты, находящиеся на большом расстоянии от виртуальной камеры, нецелесообразно, затратно по вычислительным ресурсам. Использование LOD способно существенно снизить требования к ресурсам компьютера при выводе графики на экран, будь то рендеринг или вывод в реальном времени[1]. С использованием LOD, впрочем, связан широко распространённый баг, при котором на ближних планах отображается низкополигональная модель объекта.


Суть - ясна, необходимость - очевидна.
Без лодов любая мало-мальски сложная модель может вызвать значительное провисание FPS. Особенно в таких играх, как серия TW, где количество "важных" моделей на тактической карте исчисляется многими тысячами.

Создание одной лишь модели можно считать достаточно сложным и затратным по времени процессом. Добавим к этому создание текстурной развёртки, "риг" (прикрепление вершин модели к костям виртуального скелета персонажа) - и получаем большое количество сил и времени.
Если делать лоды вручную, то процессы "ухудшения" модели, развёртки и рига необходимо повторять для каждой модели, что ещё сильнее увеличит время работы.

Поэтому резонно искать автоматизированные средства генерации лодов.




Выбор инструмента

Для примера возьмём такую модель (слегка переделанная кирасса сакских катафрактов из Рима-2, адаптированная под модели из Аттилы, скелет - стандартный для Аттилы/Рима-2):

Imp

Imp

Как видим в левом верхнем углу, модель имеет достаточно немалое количество полигонов - 1230.
В этом уроке мы упускаем детали создания рига и текстурирования. Данная модель уже готова к созданию лодов.

Варианты решения

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

1) Для просмотра ссылки Зарегистрируйтесь - редактор, хорошо известный по моддингу M&B. В него можно импортировать модель (заранее экспортировав её в OBJ-формат) и сделать набор лодов одним нажатием.
Минусы критичны:
- нет поддержки рига
- карта текстур обычно "слетает" и для лодов её нужно делать заново
- лоды, зачастую, слишком упрощены и от исходной модели не остаётся и следа (нет возможности контролировать процесс "упрощения" моделей)

Вердикт: не годен


2) Для просмотра ссылки Зарегистрируйтесь
Приятное лёгкое решение - скрипт для Макса. Работает быстро, есть возможность контролировать степень потерь для лодов. Сохраняет текстурную карту и даже риг (последний, впрочем, частенько "слетает").
Всё хорошо, но сложные модели страдают рандомным флипом нормалей в некоторых полигонах. Это выглядит примерно так, что некоторые полигоны принимают текстуру с "обратной стороны".
Чтобы долго не разглагольствовать, выглядит этот кошмар вот так:

Imp

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


3) Решение, которое меня устраивает абсолютно - плагин Для просмотра ссылки Зарегистрируйтесь.
По указанной ссылке можно скачать плагин для 3Ds Max / Maya бесплатно. Всё, что от вас потребуется - регистрация на сайте (авторизация проходит при первом запуске плагина).
Совершенно уникальное решение, SDK (платная версия со своей собственной средой разработки) версией которого пользуются многие разработчики игр.
В нашем случае, потребуется лишь немногая часть того, что умеет Simplygon. О процессе работы - далее.

Вердикт: то, что надо!




Генерируем LOD'ы

1) Выбираем нашу модель, переходим во вкладку "Utilities", намаем кнопку "More", в списке выбираем "Simplygon" и нажимаем "ОК"

Imp

2) В появившемся свитке снимаем галочку "Silent mode" и нажимаем на кнопку "Launch Simplygon"

Imp

3) Открывается окно подпрограммы "Simplygon"
Для быстрого решения поставленной задачи переходим в правой колонке в закладку "Quick Start", выбираем пункт "LOD chain" ("цепочка ЛОДов"), отмечаем необходимый уровень упрощения моделей (в нашем случае это 71, 50 и 36 процентов от исходного количества полигонов), далее нажимаем "Click me to Proceed"

Imp

4) В процессе работы вы увидите кнопку "Download" ("Скачать"). Прелесть в том, что вычисления происходят в "облаках", то есть не зависят от вашего компьютера, отсюда такая скорость таких сложных вычислений. В любом случае, вы можете поставить галочку "Download automatically in future" (скачивать автоматически в будущем). Пока этот пункт не выбран, нажимаем "Скачать" вручную.

Imp

5) По окончании процесса нажимаем на кнопку "Import"

Imp

6) После, закрываем Simplygon. При этом программа спросит "импортировать ли сгенерированные ЛОДы в 3Ds Max", нажимаем "Yes"

Imp

7) Теперь у нас есть наша исходная модель + 3 её лода. Их необходимо переименовать. Правила именования моделей в серии TW: окончания должны иметь вид _lod1 (исходная модель), _lod2, _lod3 и _lod4.

8) Тут же, в списке элементов сцены вы сможете обнаружить три сторонних объекта с именами Object#. Это копии корня сцены, появившиеся в процессе создания лодов. Не будем вдаваться в подробности, их нужно просто удалить.

Imp

9) Все четыре ЛОДа готовы, их текстуры впорядке, риг костей сохранён. Далее в ход вступают нюансы экспорта моделей для данной конкретной игры, что за рамками данного урока.
Для примера я просто разместил лоды рядом. Обратите внимание на качество упрощённых моделей - Сразу не так просто увидеть, что последняя почти в 3 раза менее детализирована. Отчасти, в этом заслуга текстур, но львиная доля зависит именно от Simplygon.

Imp




Вот так всё быстро и просто. Даже подозрительно :02:

Надеюсь, будет полезно. Удачного моделирования
     Похожие Темы
    ШСоздание вручную скриптов HotSeatScript и Force Diplomacy. Установка
    RTW, BI, Alex. На Win7 и выше.
    Автор a as1991
    Обновление 24 марта 2024, 09:30
    BРазработка моделей для Hills Has Brains. Моделируем феодальное войско.
    Кто не скачет - тот в пехоте.
    Автор b bitterhowl
    Обновление 13 марта 2024, 06:25
    СВнедрение 3д моделей поселений на стратегической карте
    Как внедрять модели поселений для стратегической карты, а также ресурсов и фортов
    Автор J Jukoman
    Обновление 07 марта 2024, 00:43
    Воспользуйтесь одной из соц-сетей для входа
    РегистрацияВход на форум 
    «Империал» · Условия · Ответственность · Визитка · 29 мар 2024, 19:03 · Зеркала: Org, Site, Online · Эльдорадо казино · Gold казино · Счётчики