×
Меню
Индекс

Микс цветов ENVIRONMENT вкратце

Все тоже самое, только без лишних слов.
 
Для начала приготовьте текстуры.
Оптимально 3. Красная, Зеленая и Синяя.
Для первых тестов нарисуйте простую полосу кисточкой и размойте Gausing blur-ом.
Сместите полоски относительно друг друга, если хотите получить большую игру цветов.
 
Теперь перейдите в 3д Редактор, или используйте Нифскоп:
- Создайте 2-3 копии слоя целевой поверхности.
*Если используются только 2 канал цвета, то 2 слоя. Если все 3, то создаются 3 копии базового слоя (шейпа).
- Сместите новые слои их относительно исходного на 0.0100, или около.*
Для целых объектов, для начала, попробуйте, изменить масштаб. Для "частей" используйте смещение.
- Каждый полученный слой поместите в свою niNode.
- На каждую ноду поместите свой текстурный эффект. Текстуры должны быть уникальными.
- Поместите все эти 2-3 ноды в одну общую.
- На эту общую ноду разместите свойства альфы с флагом 4805 (или иным, главное чтобы использовалось значение SRC COLOR) т.е. работа с цветом.
- Также, на эту ноду, поместите z-буфер с флагом 1.
*Это поможет предотвратить дрожание. Если значение оказалось недостаточным, что будет видно позже в игре, увеличьте это смещение.
*На самом деле, смещать не так чтобы всегда обязательно. Z-буфер 3 на основном объекте и Z-буфер 1 на клонированном в сочетании с SortAdjustNode, могут решить проблему пляски. Но не всегда...
 
Опционально:
- Перенесите niMaterial и niTexture property на эту общую ноду со вложенных.
- Упакуйте, или измените тип основной ноды на niSortAdjustNode с флагом сортировки 64, или SORTING_OFF.
 
Это были базовые настройки необходимые для включения смешивания цветов.
- Два (три) слоя для наложения уникальных текстурных эффектов.
- Общая нода для двух(трех) вложенных, для настроек смешивания слоев и эффектов между собой.
- Альфа свойства с флагами работы по цвету, для смешивания цветов из текстурных эффектов.
- Z-буфер, объединяющий слои в один, чтобы результат выглядел максимально естественно.
Нода сортировщик и перенос свойств не являются обязательными условиями, но могут помочь в улучшении работы и привнесут небольшие оптимизации.
 
Теперь уже можно зайти в игру и посмотреть, как эффекты взаимодействуют между собой.
По результатам наблюдений, переходите к тонкому редактированию их настроек.
Меняя метод Coordinate Generation Type и пр. значения.
Если результаты показались не удовлетворительными, воспользуйтесь "дополнительными" методами влияния, через использования BillboardNod.
 
Далее.
Это дополнительные настройки для улучшенного детектирования положения камеры, которые будут влиять на смещение текстурных эффектов.
- Создайте пустую ноду. Смените ее тип на niCollisionSwitch (на всякий случай). И разместите ее в корне ниф файла.
- Сместите эту ноду +- относительно 0.0.0. Это важно! Т.е. смещение ноды будет оказывать значительное влияние на поведение эффектов!
- Добавьте в ее состав еще 2-3 niBillboardNode флаг 72.
- В каждую из этих нод добавьте шейп.
Установите ему размер 0.1 и флаг Hidden (3).
Шейп можно взять любой, но чем он проще, тем лучше.
Дополнительно, укажите сами билборда нодам смещение Х+10 Х+0 Х-10 (это не так что бы критично было, но можно посмотреть).
- Укажите в разделе Children этих Билборд нод номера текстурных эффектов наложенных на ноды созданные выше.
Т.е. привяжите текстурные эффекты к влиянию Билбордов.

 
И примеры в картинках, что там собственно намешивается по результатам смешивания!
 
 
 
 
CG_WORLD_PERSPECTIVE
Добавлен бамп.
Эффекты убраны в Билборд Ноды.
Однако, находятся в нулевых координатах. Т.е. без смещения относительно целевой поверхности.
 
"полоски" текстур значительно смещены относительно друг-друга.
Отчего, зеленый цвет, будет выступать основным, а красный и синий (которые имеют меньшее смещение) практически постоянно дают магенту.
 
Сменим текстуры, на "полоски" в одинаковых координатах.
 
CG_SPHERE_MAP
Scale = 1
CG_SPHERE_MAP
+ бамп карта.
CG_WORLD_PERSPECTIVE
Эффекты находятся в нулевых координатах по отношению к  целевым объектам.
 
Добавлено смещение ноды со вложенными билбордами на -130.
Поворот объекта + добавлена нода сортировщик на корень файла.
Как ни странно, но niSortAdjistNode заметно влияет на реакцию поведения эффектов относительно камеры!
Как позитивно, так и негативно.
Здесь надо смотреть в игре, как Вам больше понравиться.
 
CG_SPHERE_MAP
CG_WORLD_PARALLEL
CG_WORLD_PERSPECTIVE
Scale = 50 для всех.
Т.е. у всех эффектов выбран разный режим проецирования!
Бамп убран.
Добавлено смещение ноды со вложенными билбордами на +130.
Заменены текстуры, с полосок, на пятна.
 
CG_WORLD_PERSPECTIVE для всех!
Текстуры в виде "пятна".
CG_WORLD_PARALLEL
Scale 70
FILTER_NEAREST
CLAMP_S_CLAMP_T
CG_SPHERE_MAP
Scale 70
FILTER_NEAREST
CLAMP_S_CLAMP_T
 
CG_WORLD_PERSPECTIVE для всех!
WRAP_S_WRAP_T
scale 70.0000
FILTER_TRILERP
Теперь эффекты работают только по областям заданным альфа каналом текстуры.