Непонятные шейдера

Другим фактом, по началу пугающим начинающих, является наличие в mental ray больше количества разных типов шейдеров, часть из которых не имеют аналогов в Maya Soft-ware. Например, что делать с Geometry shader^^ Или, куда и зачем подсоединять Lens shader’a? Об Custom’bK шейдерах можно узнать из следующей главы.

Custom shaders

Помимо стандартных майских шейдеров, мы можем видеть в Maya так же и так называемые. custom шейдера. Эти шейдера можно найти в Hypershade во вкладке “Create mental ray Nodes”.

Примечание: Если у вас в Hypershade нет вкладки Create mental ray Nodes, то, скорее всего у вас не загружен mental ray рендер в Plug-in Manager. Для того, чтобы его включить, идем в Window=>Settings/Preferences=>Plug-in Manager и ставим галку напротив Mayatomr.mll.

Так что же такое custom shaders? На самом деле, это стандартные библиотеки шейдеров для mental ray, которые поставляются во все пакеты, куда интегрирован mental ray. Это можно сказать, минимально необходимый набор. Часть из этих шейдеров поставляется с исходным кодом, и каждый желающий может править их по своему усмотрению. Он могут служить хорошим примером для желающих написать свои собственные шейдера Это библиотеки: base, contour, physics, subsurface(без исходного кода) и paint(без исходного кода). В этих библиотеках можно найти различные шейдера, начиная от самых простых вроде Lambert, Blinn, и заканчивая достаточно сложными комплексными шейдерами для просчета Sub Surface Scattering’a (под поверхностное рассеивание света).

Многие скажут: “А зачем нам blinn, когда в Maya уже есть свой blinn?” дело в том что существует несколько принципиальных различий между майскими и менталовским шейдерами. Они, скорее, идеологические, чем принципиальные. Рассмотрим эти различия на примере того же blinn’a.

Основное различие касается работы шейдера с альфа каналом. Майские шейдера возвращают 4 цвета(^): Out Color, Out Glow Color, Out Matte Opacity, Out Transparency, то есть каждый шейдер просчитывает все эти компоненты по отдельности, А стандартные менталовские шейдера, разумеется, не имеют Out Glow Color и Out Matte Opacity, a Out Color и Out Transparency объединены и просчитываются вместе, то есть как rgba. Именно по этой причине в одном шейдинг нетворке, например, в Layered шейдере, лучше не использовать вместе менталовские шейдера и майские, так как в этом случае чей-нибудь альфа канал обязательно потеряется.

В данном случае видим, что теряется альфа канал из mib_illum_blinn

В этом случае теряются 3 канала: Out Glow Color, Out Matte Opacity и Out Transparency

Если же в shading network (сеть из нескольких шейдеров) использовать только один тип шейдеров, например, только майские или только менталовские, то мы гарантированно получим корректный результат и правильный альфа канал. Разумеется, на двух разных объектах можно использовать разные шейдера, например на одном майские, а на другом менталовские.

Именной по причине того, что альфа канал в майских шейдерах считается другим способом и отдельно, у custom шейдеров по умолчанию вообще отключен альфа канал, так как подразумевается, что будут пользоваться в основном майскими родными тендерами. Поэтому многие люди, обнаружив пропажу альфа канала на кастомных шейдерах, поднимают панику. А решается все просто включением в Render Settings опции ‘Pass Surface Color Alpha Channel’. Эту опцию следует включать всегда, когда вы используете кастомные шейдера - разумеется, если вам вообще нужен альфа канал.


⇐ вернуться назад | | далее ⇒