BACK TO ARCHIVE
Arnold Maya Lookdev DCC Mechanics & Nuances

Arnold to Maya MultiSub Shader

07.23.2018 ADUCG RESEARCH

功能:mtoa 多维材质实现方法,以实现将多种材质或者多种纹理通过 ID 方式分配给不同物体。

思路:aiSwitch 是将多种 shader 切换输出,但 aiSwitch 的切换方式是以 index 值为准,比如当输入 0 时,则输出 0 的 shader,这样我们可以给每个物体添加不同的 index 值,并将其传递到 aiSwitch 的 index 属性上。

实现方法:

依次将多个 shader 连接到 aiSwitch 的输入中,创建一个 aiUserDataFloat 节点,将 outvalue 输出到 aiSwitchindex 上:

aiUserDataFloat 节点上的 attribute 上填写传递的属性名称,比如 index

选择物体的 Shape 节点,并给其添加一个浮点类型的属性,mtoa 对自定义属性命名格式如下:

mtoa_constant_<attribute-name>

在这里,我们建立一个 index 的属性名称,则为 mtoa_constant_index。数据类型为浮点,其它默认:

创建属性完毕后会在物体的 Shape 节点下多出 index 属性:

给每个物体设置好 index 的编号,最后渲染就能得到对应的 shader 结果:

本文采用 Creative Commons BY-NC-ND 4.0 协议进行授权。

BY-NC-ND: 署名-非商业性使用-禁止演绎

End of Article