我知道在为着色器声明属性时,有一些类型的“输入”:浮点、范围、颜色、2D。但是当我尝试将模板操作设置为属性时。这个怎么做?我的意思是,我知道 Stencil Operation 是此列表之一(Greater、GEqual、Less、LEqual、Equal、NotEqual、Always、Never),那么如何从编辑器中指出哪个操作。
我看到了这样的一行:
_StencilOp(“模板操作”,浮点数)= 0
那么“0”代表什么?
操作的名称对应一个整数,但是必须记住所有数字会很乏味,所以我们有名称。但是您仍然可以使用变量分配整数。
在 C# 中,您使用枚举在着色器上设置一个 int CompareFunction
(这只是一个int
)
MyMaterial.SetInt("_MyStencilOp", (int)CompareFunction.Always);
在着色器中,您可以像这样放置变量
Stencil {
Ref [_PlayerStencilRef]
Comp [_MyStencilOp]
Pass Replace
}
(示例从这里修改)