Текстурный эффект получение эффекта густого тумана
Делаем тот самый густой прегустой туман полностью заливающий модели и главное!
Создающий полное ощущение объемности оного!
Примечание.
Надо полагать, что при использовании МВСЕ, этот эффект, можно накладывать на целую игровую сцену, включая игрока и НПС.
Либо использовать в качестве полно экранного эффекта.
Добавив к камере игрока, дополнительный шейп, так же, как это делает тот самый "сплешскрин" урона, заливающий экран красным цветом.
Т.е. эффект можно проецировать, как на сцену, так и на локальный шейп работающий в качестве фильтра только на экране.
Однако, в этом случае, результат будет более "плоский", т.к. не будет учитывать геометрию сцены.
См. здесь. скриншот с клоуном.
Но для начала, попробуем создать тестовую сцену в виде локального ниф файла!
В качестве подопытного можно взять любую модели и добавить в нее еще несколько новых деталей, дабы вполне ощутить влияние эффекта.
Например, взять модель Кальдерской комнаты и добавить туда; стол, стул и еще по мелочи.
Но можно обойтись и любой простой моделькой, тарелкой например.
Здесь, использовали экспорт объектов в МАХ, с равным успехом можно использовать Блендер, или обойтись нифскопом, не важно.
Эффект будет добавляться только средствами Нифскопа.
Получив желаемую конфигурацию файла, оптимизируем ее!
"Spell->optimise->combine properties", проверяем корень файла, так чтоб в нем была только одна нода.
Т.е. выделив корень файла, niNode0 ->Attach Parrent->NiNode.
Получаем две ноды.
Корень и в нем еще одна, все прочие детали находятся уже в ее составе.
Теперь внедрим еще одну ноду, на которую и наложим текстурный эффект.
ПКМ по корню файла; Node->Attach Node->NiNode.
ПКМ по этой новой ноде; Attach Effect -> niTextureEffect
Все настройки оного (пока что) оставляем по умолчанию.
Далее, указываем номер эффекта в Effect Count 1ой ноды (OldRootNode).
Т.е. получаем три ноды, просто для удобства работы.
0 - корень файла.
1 - нода с объектами и на которую будет воздействовать текстурный эффект.
2 - нода в которой эффект находится на правах наследника. Здесь это нода номер 221.
В качестве текстуры эффекта прописать...
Текстуру означенного вида.
|
|
- эту текстуру можно взять в архиве файлов к заметкам.
- либо создать самим. Формат .TGA, разрешение выставить 512. Оригинальная текстура 64х64.
- фон прозрачный!
- можно использовать и .DDS формат. DXT5 или ARGBA32. Т.е. градиент должен быть мягким.
Но придется дополнительно подбирать значения для альфа канала.
Так, чтобы текстура была не слишком прозрачной, но и не слишком светлой.
|
.tga
|
.dds
|
Цвет выбрать по вкусу, сейчас важно только градиент и его положение "из угла".
|
Т.е. для первого "опыта" с туманом, используем текстуру максимально приближенную к оригиналу, который приводится в справке.
Т.е. создаем текстуру с градиентом прозрачности от угла.
Создав текстуру прописываем ее в настройки текстурного эффекта.
Сохраняем модель.
Идем в редактор, прописываем модель и видим примерно следующее.
Сцена залита "веселеньким" (у нас) розовым фоном.
Что же, переходим к сути!
Меняем положение эффекта в сцене.
В этой заметке, будем менять, это, в настройках самого эффекта, а не в его ноде, как было отмечено в данной заметке.
В тестовом файле, были использованы следующие настройки:
- положение в сцене + 40 по оси Z
- поворот Y 90*, это сбоку по отношению к модели.
- размер 2.0, это будет влиять на заполнение сцены туманом далее.
- Clamping - CLAMP_S_CLAMP_T (это важно!)
- Type - FOG_MAP (собственно туман, да)
- Coordination - PARALLEL, это создаст более равномерный туман.
*следует учитывать размер сцены, здесь это комната 512х512х256, отчего значения смещения эффекта устанавливаются в ХХ.
*т.е. следует учитывать размер объектов с которыми идет работа.
Уже интереснее, особенно если учесть, как текстура меняет плотность в зависимости от приближения камеры.
Но, то что увидели, конечно занятно, но не этого мы добиваемся!
Об этом было много сказано здесь.
Едем дальше!
- добавим смещение по X -220, это передвинет эффект из угла комнаты, где он находился сначала.
- повысим Scale, именно это отвечает за плотность тумана, в данном случае.
- Model Projection Transform 1.0, 0.5, 0.5
X - дает смещение вперед назад.
Y - повысит рассеивание по высоте...
Z - здесь никак себя особенно не проявляет.
Если выставить Model Projection Transform Y 3.0 туман рассеется еще сильнее.
|
|
Scale очень сильно влияет на плотность тумана!
При этом, поворот и позиция будут влиять на область заполнения туманом!
|
|
CG_WORLD_PERSPECTIVE "заметно" изменило результат, теперь придется заново подбирать параметры поворота и положения.
Впрочем... не об этом сейчас речь.
Ах да, конечно же эффект можно (и здесь это будет работать) упаковать в Billboard ноду.
Другой вопрос, насколько хорошим будет результат.
А в этом случае, билборд нода, не дает эффекта, что "интересно".
|
|
Что же, перейдем к тонким настройкам эффекта?
Т.е. смотрим на что примерно влияет матрицы эффекта и каким правки нужны для Nif.xml, чтобы правильно увидеть и отредактировать.
Теперь у нас появилась возможность повлиять на матрицу проекции эффекта более тонко, чем это возможно без редактирования Ниф.хмл файла.
|
Меняя значения матрицы на более низкие, можно добиться большей локализации эффекта.
Примечание.
Здесь, также внесены дополнительные изменения в разделы Scale, translation и Rotation.
Что позволило придать еще большую глубину эффекту тумана.
Примечание.
В основном используется только два значения матрицы.
X1 и Y2 Z3 - не определено на что воздействует.
При этом, чем ниже значение, тем точнее эффект.
Примечание.
Дефолтный вид матрицы:
1.000
0.000
0.000
|
0.000
1.000
0.000
|
0.000
0.000
1.000
|
|
|
Примечание.
Получить значения матрицы отличные от дефолтных, можно через фонарики МАХа. Spot и Direct.
Для direct, также, всегда активируется раздел Model Projection Transform.
|
|
Нормальный масштаб, изменены значения в матрице.
|
Это общий вид на эффект.
Стены и пол комнаты были увеличены на Scale 45.
Дабы видеть общий вид эффекта, так сказать.
|
|
|
|
Т.е. смещение данного значение, позволит (в данном случае) подрезать проекцию тумана снизу.
|
Обрежет эффект на половину.
В сочетании с Y1, даст поворот срезу по диагонали.
Т.е. игра со значениями матрицы, может привести к "неожиданным" результатам.
Примечание.
Сама "игра", довольно очевидна, сменили значение поглядели в редакторе, снова сменили.
И так далее, до достижения желаемого результат.
|
|
|
Влияет на поворот или на плотность? Результат действительно "странный"...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Т.е. влияние масштаба текстуры на проекцию.
|
|
|
Не определено, на что влияют эти параметры матрицы и Трансформации.
|
Это вариант с использованием в основном, только матрицы.
Т.е. можно (в принципе) использовать только матрицу и не менять положение эффекта в разделе translation rotation.
|
Здесь изменена только текстура.
С .Tga, на .DDS ARGBA32. Эффект стал более разреженным за счет более темного Альфа канала.
|
|
|
Освещение выключено.
|
Добавление еще одного эффекта текстурного в режиме LIGHT, показало не лучший результат.
Проступили полигоны на ветках елки, где использовались альфа свойства.
Но, это можно обойти, через добавление дарк, или декаль карт.
|
|
|
Текстура заменена на обычный градиент с нижнего края, а не из угла.
|
Финальный вид с фиолетовой текстурой тумана.
|
Как-то так, можно получить рассоверный густой туман непосредственно в ниф файлах. ^-^