0

我正在 Unity 中制作多通道着色器,我希望某些三角形跳过一些通道。我不能通过多种材料做到这一点,因为通道的顺序不一样。例如,如果我有 4 次通过 ABCD,则将使用 ABD 绘制一些三角形,而使用 ACD 绘制一些三角形。必须完成所有“A”通道,然后是所有“B”通道,等等......所以它必须在单个材质和单个着色器中完成。

最有效的方法是什么?我可以使用黑白图像对我的对象进行纹理映射,并将其用作通道的 alpha 值,但这似乎不是最佳选择。

4

1 回答 1

0

最有效的方法是使用子网格。材质通道并没有什么神奇之处。您可以用简单的一次性材料安全地替换它们,并使用子网格代替。Unity 在绘制时保留子网格顺序(4.2 中有一个错误,但已修复)所以一切都应该没问题。

于 2014-06-08T02:24:53.920 回答