Что такое лод текстуры

lod текстуры что это

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

Статические и динамические методы детализации [ править | править код ]

Существуют два подхода к управлению детализацией: статический и динамический LOD-уровень. [2] [3]

Динамические LOD системы, например, ROAM (Real-time Optimally Adapting Meshes) и RQT (Restricted Quadtree Triangulation). [4]

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

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

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

Материал из S.T.A.L.K.E.R. Ins >

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

Изначально в пакете SDK отсутствуют LOD’ы. Их придется создать самостоятельно.

Источник

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

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

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

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

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

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

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

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

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

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

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

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

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

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

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

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

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

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

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

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

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

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

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

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

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

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

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

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

Надеюсь, будет полезно. Удачного моделирования

Источник

СОДЕРЖАНИЕ

Историческая справка

Такая же структура среды теперь предлагается как способ управления различными деталями, что позволяет избежать ненужных вычислений, но при этом обеспечивает адекватное визуальное качество:

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

Хорошо известные подходы

Хотя представленный выше алгоритм охватывает весь спектр методов управления уровнем детализации, в реальных приложениях обычно используются специальные методы, адаптированные к отображаемой информации. В зависимости от требований ситуации используются два основных метода:

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

Подробная информация о дискретном уровне детализации

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

Алгоритмы DLOD часто используются в ресурсоемких приложениях с небольшими наборами данных, которые легко помещаются в памяти. Хотя можно использовать алгоритмы, не связанные с ядром, степень детализации информации не очень подходит для такого рода приложений. Этот тип алгоритма обычно легче запустить, поскольку он обеспечивает более высокую производительность и меньшую загрузку ЦП из-за небольшого количества операций.

Дискретный пример LOD

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры
Сравнение и измерения визуальных воздействий

670

ИзображениеЧто такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстурыЧто такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстурыЧто такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстурыЧто такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстурыЧто такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры
Вершины140
ПримечанияМаксимальная детализация
для крупных планов.
Минимум деталей,
очень далекие объекты.

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

В следующей таблице сравнивается производительность рендеринга с учетом LOD и метода полной информации ( грубой силы ).

Сравнение и измерения визуальных воздействий

ГрубыйDLODСравнение
Визуализированные
изображения
Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстурыЧто такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстурыЧто такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры
Время рендеринга27,27 мс1,29 мс21 × уменьшение
Вершины сцены2 328 480109 44021 × уменьшение

Иерархический LOD

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

Практическое применение

Видеоигры

В популярной игре о строительстве городов Cities: Skylines моды позволяют изменять уровень детализации.

В ГИС и 3D моделировании городов

LOD встречается в ГИС и 3D моделях городов как аналогичная концепция. Он показывает, насколько тщательно были нанесены на карту особенности реального мира и насколько модель соответствует своему аналогу из реального мира. Помимо геометрической сложности, в LOD модели могут учитываться другие показатели, такие как пространственно-семантическая когерентность, разрешение текстуры и атрибуты. Стандартный CityGML содержит одну из самых известных категорий LOD.

Источник

OpenSceneGraph: Уровни детализации (LOD) и фоновая загрузка объектов

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

Введение

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

Типичный пример: «большой мир» при визуализации железной дороги на движке OSG. Не хватает только лангольеров, пожирающих мир за поездом.

1. Использование уровней детализации (LOD)

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

OSG предоставляет инструменты для реализации этого приема через класс osg::LOD, наследуемый от всё того же osg::Group. Этот класс позволяет представить один и тот же объект в нескольких уровнях детализации. Каждый уровень детализации характеризуется минимальной и максимальной дистанцией до наблюдателя, при соблюдении которой происходит переключение отображения объекта в этом уровне детализации.

osg::LOD позволяет задавать данный диапазон сразу при задании дочерней ноды, или позже, применением методы setRange()

Продолжаем мучать цессну и проиллюстрируем описанную технику примером

main.h

main.h

Для начала загружаем модель

Теперь необходимо генерировать несколько (ограничимся для примера двумя) моделек, с более низким уровнем детализации. Для этого скопируем загруженную ноду дважды, применяя методику так называемого «глубокого» копирования класса, для ноды реализуемого методом clone()

Теперь редуцируем геометрию этих моделей, используя класс osgUtil::Simplifer. Степень упрощение модели задается методом setSampleRatio() данного класса — чем меньше передаваемый параметр, тем менее детальной будет модель после применения процедуры редукции

Когда у нас есть модельки разного уровня детализации мы можем зарядить их в корневую ноду, созданную как умный указатель на osg::LOD. Для каждого уровня детализации задаем дистанцию отображения этого уровня

Под FLT_MAX понимается в некотором роде «бесконечно» большое расстояние до наблюдателя. После запуска вьювера получаем следующую картину

Уровень детализации 3

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

Уровень детализации 2

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

Уровень детализации 1

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

Видно, как при отдалении камеры от объекта снижается детальность отображаемой геометрии. Применяя этот прием можно добиться высокой реалистичности сцены при малом расходе ресурсов.

2. Техника фоновой загрузки узлов сцены

В движке OSG представлены классы osg::ProxyNode и osg::PagedLOD, предназначенный для баллансировки нагрузки при рендеринге сцены. Оба класса наследуются от osg::Group.

Узел типа osg::ProxyNode уменьшает время запуска приложения до начала рендеринга, если в сцене огромное количество загружаемых с диска и отображаемых моделей. Он работает как интерфейс к внешним файлам, позволяя выполнять отложенную загрузку моделей. Для добавления дочерних узлов используется метод setFileName() (вместо addChild) чтобы установить имя файла модели на диске и загрузить его динамически.

Узел osg::PagedNode наследует методы osg::LOD и загружает и выгружает уровни детализации таким образом, чтобы избежать перегрузки конвейера OpenGL и обеспечить плавную отрисовку сцены.

3. Динамическая (runtime) загрузка модели

Посмотрим, как происходит процесс загрузки модели с применением osg::ProxyNode.

main.h

main.cpp

Процесс загрузки здесь немного отличается

Вместо явной загрузки модели коровы мы указываем корневой ноде имя файла, где содержится модель и индекс дочерней ноды, куда следует поместить эту модель после её загрузки. При выполнении программы мы получи такой результат

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

Видно, что точка обзора выбрана не лучшим образом — камера упирается прямо в зеркальный бок коровы. Это произошло потому, что модель загрузилась уже после запуска рендера и инициализации камеры, когда нода 0 ещё не была видна. Вьювер просто не смог просчитать необходимые параметры камеры. Однако, модель загрузилась и мы может настроить режим её отображения путем манипуляций мышью

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

Что происходит в рассмотренном примере? osg::ProxyNode и osg::PagedLOD работают в данном случае как контейнеры. Внутренний менеджер данных OSG будет посылать запросы и загружать данные в граф сцены по мере того, как возникнет необходимость в файлах моделей и уровнях детализации.

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

Движок автоматически обрабатывает узлы, не отображаемые в текущем вьюпорту и удаляет их из графа сцены когда рендер перегружен. Однако, такое поведение не затрагивает узлы osg::ProxyNode.

Как и прокси-узел, класса osg::PagedLOD также имеет метод setFileName() для задания пути к загружаемой модели, однако для его необходимо установить диапазон дистанции видимости, как для узла osg::LOD. При условии, что у нас имеется файл cessna.osg и низкополигональная модель уровня L1 мы можем организовать выгружаемую ноду следующим образом

Нужно понимать, что узел modelL1 не может быть выгружен из памяти, так как это обычный дочерний не прокси-узел.

При рендеринге внешне не видна разница между osg::LOD и osg::PagedLOD, если использовать только один уровень детализации модели. Интересной идеей будет организовать громадный кластер моделей Cessna, используя класс osg::MatrixTransform. Для этого можно использовать например такую функцию

Пример программы реализующей фоновую загрузку 10000 самолетов

main.h

main.cpp

Предполагается, что самолеты будут располагаться на плоскости с интервалом в 50 единиц координат. При загрузке мы увидим, что загружаются только те цессны, что попадаю в кадр. Те самолеты, что исчезают из кадра пропадают из дерева сцены.

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

Заключение

Этот урок в цикле об OpenSceneGraph будет последним, выполненным в формате «How To». В рамках двенадцати статей удалось уместить базовые принципы работы и использования OpenSceneGraph на практике. Очень надеюсь, что данный движок стал более понятен русскоязычному разработчику.

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

Но я не прощаюсь, благодарю за внимание и до новых встреч!

Источник

lod текстуры что это

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

Статические и динамические методы детализации [ править | править код ]

Существуют два подхода к управлению детализацией: статический и динамический LOD-уровень. [2] [3]

Динамические LOD системы, например, ROAM (Real-time Optimally Adapting Meshes) и RQT (Restricted Quadtree Triangulation). [4]

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

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

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

Материал из S.T.A.L.K.E.R. Ins >

Что такое лод текстуры. Смотреть фото Что такое лод текстуры. Смотреть картинку Что такое лод текстуры. Картинка про Что такое лод текстуры. Фото Что такое лод текстуры

Изначально в пакете SDK отсутствуют LOD’ы. Их придется создать самостоятельно.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *