Texture projection and animation
Проецирование текстуры эффекта на какую-нибудь поверхность.
Собственно в
прочих разделах
об этом довольно сказано, но в качестве примечания выделим в отдельный раздел.
Берем прожектор FSpot - применяем к нему текстуру, например скриншот некой игровой локации.
И регулируя положения прожектора в сцене - проецируем картинку на некую поверхность.
Поскольку используется текстура, то от положения прожектора будет зависеть только масштаб оной.
Т.е. не важно в каком режиме работает проекция Circle или Rectangle.
Редактируем Hotspot для точного размещения проекции и, собственно пока все.
|
|
|
|
Это из справки к МАХу, то что должно получиться.
|
|
|
|
|
Не принципиально, растяжение будет во всех режимах.
|
Получилось как-то не важно, полосы портят впечатление.
Но, это поправимо!
Переходим в фотошоп:
Где, делаем небольшую рамку вокруг текстуры.
Для EFFECT_PROJECTED_LIGHT режима работы эффекта - белую. Т.к. белый цвет в этом слоте эффекта дает прозрачность.
Для EFFECT_ENVIRONMENT_MAP - черную. Здесь наоборот, черный = прозрачность.
И снова смотрим, что получилось!
Точно и аккуратно!
Такая "проекция" полностью неподвижна, не смотря на то, что это эффект.
Что позволяет делать проекции картин, или "видений" .
Примечание.
Рамку можно создавать при экспорте используя флаг в ДДС плагине.
Анимации...
Hrnchamd писал о том, как работает текстура зачарования в игре.
Enchanting adds a NiTextureEffect (dynamic texture effect)
It's applied with the "environment map" mode.
The NiTextureEffect texture is manually cycled by the engine.
Yeah, it needs a timer and checks to stop it cycling during pause.
NiTextureEffects aren't designed to have flip style textures. I think they expect you to use render targets for that stuff.
И такэ создать Кинотеатр в Нирне.
Правда, это потребует времени...
На самом деле, все весьма просто!
1. Создаем поток текстур, т.е. то что будет "кином".
2. Создаем проекцию, как было показано в начале этого параграфа,
назначаем на его Projector Map первый фрейм потока.
Фонарик, повернуть на 90* к поверхности объекта. Т.е. он покамест не должен светить на поверхность.
Полезно задать фонарику имя текстуры, дабы потом не путаться, где и какой фрейм на каком фонарике.
3. Клонируем фонарик! Назначаем на его Projector Map следующий фрейм текстуры.
И так далее... Сколько текстур, столько и фонариков.
Теперь все, что остается это их анимировать!
Поскольку, эффект не может быть выключен, это приходится как-то обходить.
Самый просто способ, менять проекцию!
Т.е. просто повернуть фонарик относительно поверхности.
Будет удобно делать это сразу после клонирования и назначения текстуры.
Берем первый фонарик, в первом фрейме направляем его на поверхность, во втором фрейме, поворачиваем его в сторону.
Например вверх.
Поскольку поворот занимает всего 1 фрейм, то в игре это не будет заметно.
Точно также для второго фонарика.
Во втором фрейме он освещает поверхность, а в третьем повернут в сторону.
Берем третий... и дальше!
Вот тут потребуется выдержка и время, т.е. чем больше текстур, тем больше фонариков!
И каждый нужно правильно анимировать.
|
|
Последовательно сменяющие друг друга картинки.
В статике конечно не очень наглядно, но в динамике это выглядит весьма затейливо.
|
Вращаем фонарики, как кадры кинопленки!
|
|
Примечание.
Придел эффектов на поверхность 100.
Однако, это можно решить
заменив поверхность. Посредством анимаций.
До 100го фрейма одна, а после 100го фрейма - другая.
Также можно использовать Light Include&Exlude tool - для указания, какие фонарики на кого светят.
Поскольку все это делается в 4-ом, или 5-ом МАХах, то поддержано создание всех эффектов и анимаций.
Примечание.
Другие режимы не поддерживают наложение нескольких текстур на одну поверхность..
Не забывайте, EFFECT_PROJECTED_LIGHT требует светлых текстур и светлых поверхностей!
Впрочем если использовать белую текстуру эмитирующую экран, то можно пользовать и темные текстуры.
Примечание.
В каких-то случаях, можно прикрепить фонарики к другому объекту установив на нем флаг
Billboard.
Это будет полезно при создании некоторых интерактивных эффектов.
Примечание.
Если задумаете сделать эффект трассировки луча в массиве частиц, не следует назначать текстуры "кинопленки" в качестве эффекта! Примените обычную текстуру с "пятном" света назначив ее на отдельный фонарик!
Используйте Light Include&Exlude tool для этого.
Можно попробовать просто двигать фонарик для получения эффекта воздействия луча проектора на частицы.
Т.е. поместив эффект в Billboard ноду можно получить более интересные результаты.
В т.ч. создавать глаза всегда смотрящие за игроком с упрощенной геометрией объекта!
См.
здесь. И
здесь.
И да, это текстурный эффект в режиме проекции!
Что позволяет избавиться от проблемы вылезания глазных яблок из орбит.