我有这个HUD在我的应用程序顶部,它显示得分(左上角),一个关于按钮(右上角)和一个时间线在中间。随着时间的推移,时间轴“滚动”。
我想在时间线上画一些数字来显示它所代表的年数。我目前正在使用GuiText来做这件事。不幸的是,我注意到了,当时间线条位于场景中左上角物体的后面时。GUIText保持在这个对象之上。
GUIText总是被画在所有其他东西之上,还是有办法将它隐藏在游戏对象的后面?
更新:
经过一些测试/研究,我得出的结论是,可能只有一种方法可以使GUIText不出现在特定对象的前面。
如果一个人希望他们的文本(或任何类型的GUI东西)在特定的对象后面,你必须使用至少一个额外的相机。
第二个相机应设置为“深度仅限”,其深度值应低于主摄像机。这样,由主相机绘制的所有东西都将位于第二台相机所绘制的所有物体之上。
使用筛选掩码,并设置希望在不同层中显示/隐藏的对象。
发布于 2013-04-24 14:24:41
你应该可以使用着色器来完成这个任务。
只需将对象的深度值从顶点着色器传递到gui的像素着色器。使用此值确定像素的alpha值。
在使用您自己的游戏引擎并可以访问代码时,有许多方法可以做到这一点,但是在这里,团结会限制您。我不确定团结是否允许你将像素着色器应用到GUI上。如果没有,可以考虑在gui的这个特定部分使用广告牌,并做类似的操作。
发布于 2013-04-24 13:53:01
经过一些测试/研究,我得出的结论是,可能只有一种方法可以使GUIText不出现在特定对象的前面。
如果一个人希望他们的文本(或任何类型的GUI东西)在特定的对象后面,你必须使用至少一个额外的相机。
第二个相机应设置为“深度仅限”,其深度值应低于主摄像机。这样,由主相机绘制的所有东西都将位于第二台相机所绘制的所有物体之上。
使用筛选掩码,并设置希望在不同层中显示/隐藏的对象。
https://stackoverflow.com/questions/16189147
复制相似问题