如何在两个3D对象之间渲染Unity UI画布?

时间:2016-07-19 10:27:22

标签: unity3d shader oculus

我有一个世界空间UI画布,我想在一些背景3D对象上渲染。到目前为止,我已经通过将canvas的Order in Layer属性设置为1来实现它。现在,画布在背景中呈现在3D对象之上。对于淡入淡出效果,我在ocpe上使用着色器(未点亮透明色),由Oculus提供:

Shader "Oculus/Unlit Transparent Color" 
{
    Properties 
    {
        _Color ("Main Color", Color) = (1,1,1,1)
    }

    SubShader 
    {
        Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"}
        LOD 100
        Fog {Mode Off}
        Cull Off  // Cull off makes 3D object render from both inside and outside. 
        ZWrite Off
        Blend SrcAlpha OneMinusSrcAlpha
        Color [_Color]

        Pass {}
    }
}

Fader工作正常,除了在Layer = 1中具有Order的画布之外的所有内容。由于此设置,无论我何时将推子球放置到相机上,UI总是出现在所有内容之上。

是否有任何类型的设置可用于控制画布顶部的3D对象渲染。就像我们在Sprite Renderer和UI Canvas中有Order in Layer一样?

0 个答案:

没有答案