功能:
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结果: