Войти
АртСтатьи

Level Of Detail (LOD).

Автор:

Изображение

Что это такое.

Смысл LOD, вытекает из его названия. Это не что иное, как несколько вариантов одного объекта с различными степенями детализации, которые переключаются в зависимости от расстояния объекта до виртуальной камеры. Нет смысла обсчитывать сложнейший объект, если он будет виден на экране размером в два пиксела. Их применяют для того, чтобы уменьшить загрузку ресурсов компьютера, будь то рендеринг или реалтайм вывод на экран. Поэтому LOD'ы широко используются не только в кино/видео производстве, но и в компьютерных играх.

Как их делать.

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

В game-индустрии основой производства трехмерных объектов является полигональное моделирование. И здесь возникает задача быстрого и эффективного создания полигональных LOD'ов с сохраниением общей формы и, что особенно важно, текстурных координат. Кому охота каждый раз перенатягивать текстуры на каждый новый LOD?

При создании игр рекомендуется, чтобы каждый последующий LOD имел в среднем в 1,5 - 2 раза меньшее количество полигонов.

Как их делать в MAX'е.

Изображение

3DSMax - пожалуй самый широкоиспользуемый пакет для создания игровой графики. Для 3-й версии MAX'а существует неплохой плагин polychop. Это модификатор, который позволяет уменьшать детализацию без потери текстурных координат. Просто задайте уровень детализации в процентах. Также важным параметром является сохранение неизменного положения выделенных вершин(lockdown selected verts). Для этого нужно просто выделить нужные вершины до применения модификатора.

Изображение

4-й MAX имеет встроенный модификатор Multires. Он схож по функциональности с Polychop'ом, но более продвинутый. В нем, кроме процентного отношения, уже можно задавать количество вершин.

Также Multires позволяет сваривать вершины(Vertex Merging), принадлежащие разным элементам обьекта, т.е. когда в сетке имеются разрывы. Polychop этого делать не умеет.

Неплохим средством в помощь гейм-моделеру является утилита Polygon Counter.

Изображение

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

Переключение LOD'ов.

Изображение

Обычно для тестирования LOD'ы экспортируются в движок игры. Но для 3DSMAX'а существует полезный (слегка нами модифицированный) скрипт LOD_Tester (работает как в 3-й так и в 4-й версиях MAX'а). Он позволяет переключать LOD'ы непосредственно во вьюпорте. Это подходит для тех случаев, когда под рукой нет игрового движка.

Здесь все просто. Обьекты заносятся в список LOD List, для них указываются зоны видимости. Затем нужно создать и активизировать камеру. И все, теперь с помощью ползунка Cam Dist вы можете тестировать свое творение. В случае неудачи жмите кнопку Usage - это пошаговое руководство использования данного скрипта.

#3D Studio MAX, #LOD

20 августа 2001 (Обновление: 19 ноя 2009)