绑定通道 (BindChannels) 命令让您可以指定顶点数据如何绘制到图形硬件中。
使用可编程的顶点着色器时,绑定通道无效,因为这种情况下,捆绑由顶点着色器输入控制。
默认情况下,Unity 为您进行绑定,但是在有些情况下,您需要自定义使用的绑定。
例如:您可以绘制在第一个纹理阶段使用的主要 UV 集和第二个纹理阶段使用的辅助 UV 集;或者通知硬件要考虑顶点颜色。
源 (Source) 可以是:
目标 (Target) 可以是:
Unity 在哪些源可绘制到哪些目标上有一些限制。源和目标在 顶点 (Vertex)、法线 (Normal)、切线 (Tangent) 和 颜色 (Color) 上必须是相匹配的。网格的纹理坐标(Texcoord 和 Texcoord1)可绘制到纹理坐标目标(对于所有的纹理阶段为 Texcoord 或者对于特定阶段为 TexcoordN)。
BindChannels 的两个经典使用案例:
// 将第一个 UV 集绘制到第一个纹理阶段 // 并将第二个 UV 集绘制到第二个纹理阶段 BindChannels { Bind "Vertex", vertex Bind "texcoord", texcoord0 Bind "texcoord1", texcoord1 }
// 将第一个 UV 集绘制到所有纹理阶段 // 并使用顶点颜色 BindChannels { Bind "Vertex", vertex Bind "texcoord", texcoord Bind "Color", color }
Page last updated: 2013-06-28