隐藏无形墙后面的物体

时间:2018-05-28 09:40:37

标签: c# unity3d shader

我正在尝试使用立方体制作一个盒子,并使用此着色器代码实现透明化:

Shader "Custom/InvisibleMask" {    
    SubShader {
        Tags {"Queue" = "Transparent+1"}
        Pass {
            Blend Zero One
        }
}

现在我想让一个球体(或任何其他物体)像往常一样可见,但当它进入盒子时会消失。

截至目前,我将此作为添加到我的对象(Sphere)的脚本:

void Start () {
    Renderer[] renderers = GetComponentsInChildren<Renderer>();
    foreach (Renderer r in renderers)
        r.material.renderQueue = 3002;
}

不幸的是,这对我不起作用,我不知道如何解决这个问题,因为着色器真的不是我的强项。

如果有人能帮助我,那就太好了。 感谢您提前提供任何帮助!

1 个答案:

答案 0 :(得分:0)

经过长时间的挖掘,我发现由于某种原因,renderQueue设置为2002而不是3002,不知道为什么会发生这种情况,但我在检查器中手动更改了它并修复了它