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