×
Меню
Индекс

DDS_Hint about using MIPs in DDS

DDS LODы или MIP-уровни.
 
Небольшой «трюк» позволяющий получить полезные эффекты.
Начиная от появляющегося из воздуха призрака, до изменяющихся картин и прочего.
 
Требуется ДДС плагин от версии 8.2 и выше.
 
Открыть ДДС файлы в режиме просмотра Мип-уровней.
*предварительно, понадобиться, поставить Флаг  Load Mip maps под кнопкой Read Config.
После этого, файл откроется в виде уменьшающихся квадратов, это и есть лоды.
Чем меньше квадрат текстуры, тем на более удаленном расстоянии она будет отображаться.
Все что остается, подкорректировать в ручную, что и где будет отображаться.
Например, очистив все квадраты, кроме самого первого. Теперь объект будет виден только когда игрок рядом.
Либо поменять цвет (для теста) наложив радужный градиент на все пространство текстуры.
Можно поставить разные картинки, это позволит создавать скрытые изображения, видимые только на определенной дистанции от игрока.
 
Как вариант, можно "играть" только с альфа каналом.
*в этом случае, объект должен иметь Свойства Альфы! Иначе, он будет просто черным в удалении.
 
Кол-во уровней определяет плавность переходов.
Чем больше размер текстуры, тем больше уровней.
 
Сохранить со значением Use Existing Mip maps!
Иначе, уровни будут созданы заново, но уже исходя из текущего размера файла.
Либо — экспорт будет остановлен.
 
Имеет смысл сразу же проверять в игре, дабы подобрать наиболее правильное значение!
Т.к. Нифскоп и КС не позволяют верно определить дистанцию, для того, или иного уровня.
 
В целом, этот способ более прост и удобен, чем создание модельных лодов в 3д максе.
 
Примечание.
Однако, ничто не мешает комбинировать оба метода!
Наоборот, это может быть крайне полезно.
Т.к. при правильной настройке текстурных ЛОДов, можно прятать ЛОДы самой модели, что позволит сделать появление объекта более плавным.
Например, можно сделать дальние уровни по альфу каналу, более прозрачными, чем ближние.
 
Примечание!
Важную роль играет метод наложения текстуры на модель!
Например если был использован режима byFace, то вся текстура целиком будет лежать на одном полигоне.
И чем меньше полигон, тем меньший уровень Лодов будет загружен!
На большом полигоне будет первый уровень, но на полигоне рядом уже 3-тий или 7-ой!
Что не критично если на всех уровнях одинаковый рисунок, но если он отличается, это создаст проблемы.
Учитывайте это при наложении текстур с измененными лодами на модель!
 

В первой текстуры изменены дальние уровни, во второй - альфа канал.
 
Вот так это - по нифскопу.
Призрак постепенно исчезает в удалении.
 
 
И обратный вариант!
Текстуру не будет видно когда игрок находится совсем близко к объекту.
Эдакую морковку для ослика можно сделать.
Либо интересный эффект, например; подсветки ступеней лестницы, только на определенной дистанции от ГГ.
 
Первый Мип-уровень полностью черный и прозрачный, затем начинается постепенное осветление и понижение прозрачности.
Вот так это в действии.
Пример измененных мип-уровней и развертки на полигонах.
 
Все красное, берется с одной текстуры, но в зависимости от размера полигона подгружается разный уровень.
Вокруг окон идут маленькие полигоны, отчего хорошо видна перспектива дальних мип уровней уходящих в белый цвет.
Но стенах, используются ближние уровни, отчего они сохраняют читаемую текстуру до конца зала.
При большем удалении от объекта, он весь станет белого цвета.
 
 
<-В этом случае использована Глоу карта с измененными мип-уровнями!
Это не блеск без бамп-карты, это дальние уровни Глоу Карты - дают такой эффект засветки объекта серым цветом.
Правильное использование мип-уровней может существенно "оживить" сцену разными "тенями" и "призраками"!
Тестовая текстура с разными рисунками на мип-уровнях.
Видно влияние развертки.
Чем меньше полигон, тем меньший фрагмент текстуры загружается.
 
Нижний ряд, текстура в режиме PixelData, где не работают ни мип-уровни ни альфа канал.
Хотя (по идее) должны, т.е. такие опции там имеются.
 
Изменение рисунка по мере удаления от камеры.
 
Здесь снова изменены Mip уровни у Глоу карты, но в дополнении к этому следует обращать внимание на режим фильтрации в настройках (текстурные свойства->текстура) различные режимы могут значительно изменять поведение Мип-Уровней!
Здесь, используется
FILTER_NEAREST_MIPNEAREST в настройках слота Glow ниф файла. Что позволяет добиться резкого изменения переходов между уровнями (мип-левел).
Обычный режим,
FILTER_TRILERP, дает более мягкие, плавные, переходы, без резкого повышения яркости и рваных границ.
Т.е. изменение метода фильтрации текстуры, способно оказывать критически заметный результат!
Впрочем, от самой текстуры, тоже "что-то" зависит, т.е. ее следует дополнительно настроить!

Отчего дальний уровни получают "вспышку", что в целом выглядит весьма интересно и живенько.
Очень хороший результат для всякого рода магических предметов и кристаллов мерцающих в удалении.
Фактически, так (может) выглядеть спекулярный блик (если бы он работал в МВ) (но его можно увидеть в Скене Виювере).
 
Собственно Глоу текстура с ее мип-уровнями как им быть.
Т.е. настройка поведения текстуры в зависимости от ее уровней.
 
- ближний уровень, эффект четкий и ясный.
- далее, эффект угасает и заблюривается.
- третий уровень, почти полное гашение.
- и только на 4ом уровне, яркая Вспышка!
- затем черный фон для всех прочих уровней.
 
Также, обратите внимание, на смещение пятна яркости у полосок!
Именно подобное смещение (более яркой зоны) и создает эффект перетекания (перелива) полос (при движении камеры игрока), т.к. эффект по факту - статичен.

+ FILTER_NEAREST_MIPNEAREST в настройках материала ниф файла, для резкого изменения отображения текстуры!
В динамике, кристаллики, выглядят очень эффектно!
Здесь используется (та же) текстура, но режим фильтрации уже FILTER_TRILERP.
 
Заказывали переливающиеся (мерцающие) при движении (камеры) полосы, рисунки и линии? Их есть у нас!
Быстро, дешево, сердито!
И никаких дополнительных контроллеров анимации в моделях!
Т.е. Глоу карта + FILTER_NEAREST_MIPNEAREST (либо какой-то другой для получения иного результата).
Здесь nearest дающий резкие яркие штрихи быстро меняющиеся на более темный уровень.
 
FILTER_BILERP
FILTER_TRILERP
FILTER_NEAREST_
MIPNEAREST
FILTER_NEAREST_MIPLERP
FILTER_BILERP
_MIPNEAREST