Текстурный эффект Создание микса цветов
Как добавить 3 текстурных эффекта в режиме Блеска на одну поверхность.
Так что бы получить настоящую игру цвета от смешивания 3х базовых каналов цвета (RGB).
Если нет желания вникать в подробности, то, здесь, краткое изложение текущей заметки.
Об использовании этого метода на частицах, см. здесь.
Справка к движку сообщает, что де, такое невозможно!
Мол одна поверхность один
энверомент!
А мы тут такие: а дай-ка мы тебя щас как ту сову!
Т.е. если использовать небольшой "трюк" то смешать несколько эффектов, чтобы по настоящему Играть Цветом, оказывается, вполне возможно!
И даже с картой блеска и даже на "фактически" на единой поверхности!
Что нам для этого понадобиться?
Т.е. когда-то давным давно в 2006-7ом году, начинался наш путь в Моддинг и Модделинг как таковой.
Это была одна из первых заметок, с которой их Свод начал разрастаться в этот фолинат который теперь Вы читаете!
Но ладно, это была лирика!
Т.е. создаем копии слоя* на котором хотим поиграть цветами.
Создаем одну... вторую! И третью!
Т.е. сразу создаем 3 новых шейпа поверх базового.
Их не смещаем относительно друг друга, но только, совсем немного, относительно базового исходного.
Получаем 3 поверхности в общих координатах + базовый слой немного сзади.
На этот базовый слой, рекомендуется, сразу же добавить z-buffer с флагом 3.
Это дополнительно "пояснит" игре, что рисовать этот "слой" следует как обычно.
Примечание.
*если планируется играть только 2-мя цветам (+R+G-B например), то достаточно сделать 2 копии слоя.
*использовать 3д редактор будет удобнее, но нифскоп также позволит провести танцы и камлания.
Теперь, каждую поверхность (шейп) помещаем в отдельную ноду!
Да, метод нельзя назвать "экономным" в плане оптимизации кол-ва объектов в сцене, но таков путь!(С)
А мы не ищем легких путей, но только БЫЛИННЫЕ!
Теперь, все эти 3 ноды, помещаем еще в одну!
Это уже оптимизации, внезапно, будут.
И вот они, оптимизации!
Их делать не так чтобы обязательно, но можно.
- переносим текстурные и прочие свойства с шейпов на эту корневую, для них ноду.
- также указываем общую шейп дату в настройках шейпов, для всех их трех.
И собственно теперь достаем глобус... ака проводим танец с бубном дабы скрестить ужа с ёжом и разместить сову...
На эту самую, корневую для клонированных шейпов ноду, применяем:
- и наконец, на каждую из вложенных нод вешаем свой уникальный текстурных эффект с уникальной же текстурой!
Т.е. не используйте один и тот же файл текстуры на всех эффектах.
О текстурах для этих эффектов, скажем пару слов далее. А пока, оставьте слоты текстуры пустыми!
Собственно вот!
В итоге, получаем примерно такое.
Три слоя шейпов, три ноды с этими шейпами, три уникальных текстурных эффекта по одному на каждой ноде с этими шейпами!
Одна плоть, один дух, один дом! Дом дагот!(С)
и да, немного офтопа ^-^
Все, базовые настройки готовы, далее остается их сполирнуть и сбрызнуть!
Весь "секрет" в альфа свойствах (флаг смешивания цвета) и z-буфере который смешает слои в единый слой.
Примечание.
Для EFFECT_PROJECTED_LIGHT достаточно использовать одну поверхность.
Т.е. создать только одну копию базового слоя.
Т.к. альфа свойства, для смешивания, будут нужны!
Но, сам эффект свободно накладывается в нескольких копиях, на одну поверхность.
Что же, давайте сполировывать? Ака прописывать правильные текстуры и их проекции!
*и да, поллитры конечно же лишними не будут! Ибо как говаривал некий, фольклорный персонаж:
- Не приступай к работе не опохмелившись!
- Без поллитры лучше не разбираться!
- Мастерство не пропьешь!
^-^
Здесь, все таки, для начала, стоит вспомнить, что:
- разные методы проецирования текстурных эффектов по разному влияют на поведение текстуры!
А равно и на заполнение эффектом пространства поверхности.
Сферы зальют все по максимуму, параллели создадут тонкие полосы, а проекция один толстый "столб".
Т.е. при разных методах проекции, текстуры, будут по разному смешиваться между собой!
|
|
|
CG_WORLD_PARALLEL и
CG_WORLD_PERSPECTIVE
|
CG_WORLD_PERSPECTIVE и
CG_WORLD_PARALLEL
|
CG_SPHERE_MAP
|
Видите, как разные проекции по разному накладываются друг на друга?
И да, методы проецирования можно менять для каждого эффекта, но для начала, поставить для всех, эффектов, одинаковый.
Здесь, в идеале, надо найти наиболее подходящее положение, при котором, "лучи"(проекции) будут максимально интересно пересекаться между собой.
Нельзя сказать "правильно и естественно", т.к. разные материалы могут играть цветом по разному.
Хотя, конечно, постараться добиться естественного, лишь небольшого, смещение лучей от белого к красному (синему, зеленому) было бы, тоже, неплохо.
|
|
|
|
Включены свойства альфы флаг 4805
Тогда как, на скриншотах выше
|
которые начинают правильно
заметно, что смешивания
|
микшировать цвета!
не происходит!
|
Ах да еще... Еще же были сами текстуры, разные!
Не только в смысле их рисунка как такового, а еще и в смысле положения этого рисунка на самой текстуре относительно другой текстуры!
|
монотонные текстуры. Игра цвета будет возникать через "естественное" смешивание каналов. Полоски цвета имеет смещение относительно друг друга.
|
Т.е. пятно(полоса) в одном углу, будет иначе встречаться с пятном находящимся в другом углу второй текстуры!
Обратите внимание, что в ряде случаев, можно сокращать размер текстуры за счет использования "полосы".
Которая при использовании параллельной, или перспективной проекции, создаст цельную полосу без разрывов.
Которые, при небольшом смещении относительно друг друга, будут давать дополнительное смещение тем текстурам которые были им указаны!
Также, для проекционных методов наложение текстуры, билборды, единственный способ заставить двигаться эффекты относительно камеры.
Сферический метод будет перемещаться, но вот другие нет.
|
|
|
три квадратика под "ящиком" это те самые билборд ноды. Их шейпы специально отображены!
А их эффект, в виде лучей, проецирован на "ящик".
|
Тестовые плоскости удобно показывают проекцию лучей.
|
Разные методы работы билборд нод, будут по разному влиять на поведение текстур!
|
То есть у нас есть сразу несколько механизмов управляя которыми можно получить разные результаты.
- текстуры с разным положением рисунка относительно друга друга.
- билборды которые могут по разному смещать проекцию.
- различные методы проецирование текстурных эффектов.
И все это как-то надо организовать в нечто ЭПИЧНОЕ!
Так что бы, все 3 текстуры имели некоторое смещение относительно друг друга, чем, собственно и вызывая игру цвета!
...глаза совы кажется сами собой начали налезать на глобус... дададанетда? На самом деле не все так запущено.
Т.е. мы сделаем все проще, возьмем и используем все сразу!
И билборды, и немного смещенный рисунок текстуры, и текстурный эффект в режиме проекции!
Как-то-так!
Для этого, в корне файла, создаем еще одну простую ноду.
Шейп нужен для правильной работы билборда!
Теперь помещаем в дети этих нод (не в слот эффектов, а именно в children) те текстурные эффекты, что были наложены ранее на целевые поверхности.
Теперь, эффекты будут реагировать на смещение камеры.
Здесь важно!
Обратите внимание, что позиция этой ноды, будет ВЛИЯТЬ на поведение эффектов.
Т.е. если сместить ее на Z+130, то проецирование текстур будет заметно изменено.
Смещение на Z+-, боковые смещение не так заметно влияют на проецирование эффектов.
Далее!
- меняем настройки текстурных эффектов со сферического метода, на параллельный (или проекционный).
- сами билборд нодам делаем небольшое смещение Х+3, Х+0, Х-3.
Теперь билборды будут иметь дополнительное смещение.
- текстуры не забываем! И создаем 3 текстуры, где (полоски) цвета будут смещены относительно друг друга. См. выше.
Примечание.
*метод не обкатанный, отчего активно используется научный "тык", поэтому, насколько обязательно смещать все сразу, вопрос.
*возможно, другие настройки текстур (без смещения) положения рисунка оных в файле, также дадут позитивные результаты.
Ах да!
Еще малость!
Как же можно про нее забыть?
Коли мы читали столь древние записи, то конечно же, надо заглянуть и в самый самый корень, из коего вообще все (это) выросло!
Сюда!
То есть, да, сбрызгиваем
текстурные свойства Бампом, так чтобы текстурные эффекты получали дополнительные искажения!
Это особливо хорошо (будет работать) на хитине насекомых.
Как говорится, ловкость рук и никакого мошенничества!
А сова уютно обнялась с глобусом посредством скотча, ежа, ужа и танцев с бубнами! В качестве бонуса, два шарика по меньше, это ее глаза!
Добиться некоторого смещения текстурных эффектов относительно друг друга посредством настройки проекции и билборд нод (которые хорошо реагируют на смещение камеры) что придаст эффектам динамическое взаимодействие. Смешивание самих цветом, достигается посредствам альфы и z-буфера.
Примечание.
- Не забывайте про
gloss карту! Для более полного контроля над эффектами она будет необходима!
- Использование градиентных текстур, вместо монотонных, в сочетании с высоким уровням
бампа, может создать схожий эффект (игры цвета). См.
здесь.
|
вариант градиентных текстур.
Игра цвета будет достигаться посредством метода проецирования текстуры и уровней бамп карты.
Примеры использования, такого метода, см. в скрижалях Имен в Зале Славы.
В Симфония 1.8
|
- Не рекомендуется использование однопиксельных текстур. Т.е. где толщина = 1 пикселю. Хотя есть случаи, где это будет удобно.
- Использование этого метода (3х шейпов) лучше подходит для рисунка (с
альфа каналом в текстуре) чем для непрозрачных поверхностей.
- Инвертирование высот бампа и прозрачности для рисунка базовой поверхности позволит создавать еще более затейливую игру эффектов.
Т.е. если на базовой непрозрачной поверхности сзади слоя с эффектами используется инвертированная прозрачность и уровни бамп карты.
|
|
|
Хитиновая кираса с тремя доп слоями и текстурными эффектами.
Ваниль! Т.е. глосс карта не работает и эффект получается слишком "вырвиглазным"...
Не зря же мы совы поминали, правда?
|
А здесь Глосс карта работает и глубокий цвет начинает играть во всей красе неровностей хитинового панциря!
|
В динамике это Внушает!
|
|
|
|
практический результат.
Рисунок орнамента дан 3х слоем.
Да, удачно подобранная геометрия объекта, настройки бамп карты и проекции текстур, могут создать "натуральный" блеск на фасетчатых глазах насекомых!
|
3 цвета не всегда хорошо? Или немного "Гламуру" не будет лишним? Т.е. не обязательно использовать сразу все 3 канал цвета, иной раз достаточно использовать только 2.
|
Как здесь.
R+G-B.
Получаем сочный золотой цвет!
|
|
|
|
Игра цвета от 3х эффектов на кирасе.
Текстура в один пиксель, отчего рисунок получился довольно резким, без явного смешивания.
|
|
|
|
|
|
В данном случае, это упрощенный метод.
Использована градиентная текстура с высокими уровнями бампа и билборд нодой.
Т.е. игра цвета достигается только за счет искажения текстуры уровнем нормалей из бамп карты.
Из плюсов, у поверхности объекта только один слой и один эффект.
|
Это МСП и Глосс карта основательно притушили яркость блеска.
Жуки из Симфонии 1.8
|
еще один пример крупным планом.
Скрижали Имен в зале Славы Симфонии.
|