×
Menu

Light as a texture (NiTextureEffect)

Создание текстурных эффектов посредством "фонариков".
 
В 3д МАХ можно создать 3 типа.
- EFFECT_ENVIRONMENT_MAP это обычный эффект блеска.
- EFFECT_PROJECTED_LIGHT это эффект имитации освещения.
- EFFECT_PROJECTED_SHADOW затемняет текстуру эффекта.
 
Помните!
EFFECT_PROJECTED_SHADOW приводит к вылету игру и редактора если использован на моделях содержащих свойства альфы! Однако, он может быть задействован на объектах без альфы.
 
Примечание.
EFFECT_FOG_MAP не создается средствами МАХ особенно для ниф файлов 4.0, 4.2.
Т.е. его можно получить для старших версий ниф файлов (10.Х) используя 3д редактор MAYA с официальным Ниф плагином от Gamebryo.
Но гораздо проще, будет, изменить тип эффекта в его настройках используя Нифскоп.
Т.е. в МАХ создаем проекцию в желаемом положении, а в нифскопе меняем тип эффекта на другой.
В данном случае с LIGHT, на FOG.
 
Создание:
Макс 3, 4, 5.
Нифтулз  в пролете.
Эффект можно применять, как на обычные геометрические объекты, так и на частицы.
 
Создать сцену, поместить фонарики.
 
При необходимости, прикрепить фонарики в "физическим" объектам и добавить тем анимации ( движения по сцене).
И экспортировать с флагом Light.
 

- Global Ambient - глобальное освещение сцены, не позволяет назначать текстуры, только вертексное освещение.
- Omni хороши для заливки больших поверхностей и активации на них Бампа.
- Spot лучше применять для проекции текстуры на плоские поверхности, либо для создания эффекта освещенности.
- Direct для тех же целей, что и Spot. Только проекция текстуры не изменяется на любой дистанции.
Spot и Direct хороши для создания трассировки луча в массиве частиц.
 
В одной сцене может быть несколько разных источников света.
С разными текстурами и настройками!
Полезно использовать минимум 2 фонарика создающих свет.
Один будет подсвечивать всю модель за счет серой текстуры со сплошной альфой.
А второй будет изображать пятно света локально.
 
Фонарик с эффектом блеска, может быть только один.
Фонариков с эффектом света, может быть несколько.
Но если они работают по массиву частиц, их текстуры могут конфликтовать!
Т.е. будет заметен только один эффект.
 
Можно совмещать оба типа эффектов освещения!
Однако, текстура должна быть правильно подобрана, иначе будет казаться, что эффекта от освещения вертексов - нет.
Впрочем, при использовании на моделях с особыми свойствами альфы, это не играет заметной роли.
 
Для финальной полировки зайти в нифскоп и, поправить параметры, если это необходимо.
Например включить Clipping plane, или изменить Texture Filtering на FILTER_TRILERP.
Также, можно поменять Coordinate Generation Type например установив его в CG_SPECULAR_CUBE_MAP.
Однако, для направленных (spot, direct) эффектов делать этого НЕ рекомендуется.
Это может нарушить их работу.
 
Все!
Никаких особых премудростей.
Экспорт проходит стабильно и работает это в игре достаточно точно.

Модель освещена "текстурой".
Что повлияло на площадь освещения.
Черная зона в задней части помещения эффект от Clipping Plane Z-1.
Т.е. текстура не проецируется на обратную сторону от "источника света". Если CP выключен - то модель вся будет залита текстурой.
 
Две текстуры EFFECT_PROJECTED_LIGHT.
взаимодействуя между собой по иному воздействуют на модель.
Блики на стенах заслуга Omni и EFFECT_ENVIRONMENT_MAP.
 
Эффекты вертексного и текстурного освещения в одном файле.
Свет в ячейке выключен.
 
Если были совмещены оба метода, то в игре будет практически полностью игнорироваться освещение объекта игровыми источниками света.
Т.к. Текстура эффекта имеет больший приоритет, чем вертексное освещение.
Однако, оба эффекта взаимодействуют между собой.
 
Свет включен.
Видно, что текстура блокирует изменение глобального уровня освещения.
Добавлена вторая (серая) текстура на слот EFFECT_PROJECTED_LIGHT.
Свет в ячейке выключен.
Свет включен.
Модель лучше среагировала на изменение освещения.