我想将虚拟对象放置在渲染透明的增强现实场景中。
为简单起见,我们来看看Googles SimpleAugmentedReality Scene。当你只是拍摄来自示例项目的场景时,地球和月亮会放在你面前,用纹理渲染不透明。
当我更改材料"渲染模式"到"透明"我希望它们变得透明但没有任何变化。
我还尝试了自定义着色器,其中我只渲染了一个立方体并将alpha值设置为1.0以下。它也在AR场景中被绘制为不透明。
我是否会错过Tango Camera预制件中的某些配置?
答案 0 :(得分:1)
现在TangoSDK不支持此功能,但我认为这是一个非常合理的问题。
它无法正常工作的原因是因为TangoSDK将后台摄像头渲染命令注入Unity的命令缓冲区,并使用glDepthMask(GL_FALSE);
这将导致alpha混合不从背景相机渲染中获取颜色。
答案 1 :(得分:0)
实际上它现在有效:
我不熟悉Unity中的着色器,所以我忘记了子着色器中的Tags{"Queue" = "Transparent"}
标签。此外,Blend SrcAlpha OneMinusSrcAlpha
指令未在传递中设置。
现在我的对象呈现透明"在顶部" RGB摄像机视频帧的颜色取决于着色器中定义的alpha值。