0

我知道在为着色器声明属性时,有一些类型的“输入”:浮点、范围、颜色、2D。但是当我尝试将模板操作设置为属性时。这个怎么做?我的意思是,我知道 Stencil Operation 是此列表之一(Greater、GEqual、Less、LEqual、Equal、NotEqual、Always、Never),那么如何从编辑器中指出哪个操作。

我看到了这样的一行:

_StencilOp(“模板操作”,浮点数)= 0

那么“0”代表什么?

4

1 回答 1

0

操作的名称对应一个整数,但是必须记住所有数字会很乏味,所以我们有名称。但是您仍然可以使用变量分配整数。

在 C# 中,您使用枚举在着色器上设置一个 int CompareFunction(这只是一个int
MyMaterial.SetInt("_MyStencilOp", (int)CompareFunction.Always);

在着色器中,您可以像这样放置变量

Stencil {
            Ref [_PlayerStencilRef]
            Comp [_MyStencilOp]
            Pass Replace
        }

(示例从这里修改)

于 2021-04-05T15:34:18.737 回答