功能:
mtoa多维材质实现方法,以实现将多种材质或者多种纹理通过ID方式分配给不同物体。
思路:
aiSwitch是将多种shader切换输出,但aiSwitch的切换方式是以index值为准,比如当输入0时,则输出0的shader,这样我们可以给每个物体添加不同的index值,并将其传递到aiSwitch的index属性上。
实现方法:
依次将多个shader连接到aiSwitch的输入中,创建一个aiUserDataFloat
节点,将outvalue
输出到aiSwitch
的index
上:
aiUserDataFloat
节点上的attribute上填写传递的属性名称,比如index
。
选择物体的Shape节点,并给其添加一个浮点类型的属性,mtoa对自定义属性命名格式如下:
mtoa_constant_<attribute-name>
在这里,我们建立一个index
的属性名称,则为mtoa_constant_index
。数据类型为浮点,其它默认:
创建属性完毕后会在物体的Shape节点下多出index
属性:
给每个物体设置好index
的编号,最后渲染就能得到对应的shader结果: