вторник, 28 декабря 2010 г.

LOD в 3d Studio Max

Что такое LOD? Это уровень детализации (Level of details). А вот для чего именно он нужен, сейчас я вам объясню.
Как и все полезные навороты LOD пришёл из геймдева. Игры это самый требовательный к ресурсам продукт. Поэтому разработчики игр стараются придумать различные уловки чтобы сэкономить как можно больше ресурсов на компьютере игрока. Таким образом из игр в 3d анимацию перекочевало много полезных вещей, таких как шейдеры, карты нормалей, UV-раскрой, физика, спрайты, анбиасед рендер и многое другое.
И так, что же такое LOD. Например представим себе ситуацию. Есть сцена в которой расположено здание на фоне гор. Горы очень и очень далеко. Вполне разумно было бы сделать горы в виде декорации. Например разместить обычную планарную поверхность и задать ей текстуру с фотографией гор. Никто не заметит здесь обмана. Но в в играх всё намного сложнее, ведь игрок может дойти до гор и поймёт что они не настоящие. Появляется дилема - игрока обманывать нельзя, если он подойдёт к горам, то они там должны быть, но а вдруг не подойдёт? Тогда в памяти компьютера будет висеть огромное число полигонов и большая текстура причём совершенно зря. Тогда начнутся "тормоза". И вот тут то и приходит на помощь LOD. Пока игрок далеко от гор, будет отображаться бутафория, которая не кушает практически ничего из ресурсов компьютера. Но если игрок начнёт приближаться к горам, то в когда он подойдёт на заданное расстояние, декорация незаметно сменится на среднеполигональную модель гор. А когда он окажется совсем рядом, среднеполигональная модель заменится на высокополигональную. Таким образом игрок не заметил подмены, он доволен, компьютер не тормозит. Когда он отойдёт обратно на своё первоначальное место, горы снова превратятся в плоскую декорацию и опять ресурс освободится.