Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 隐藏游戏对象背后的吉他文本 我在我的应用程序顶部有这个HUD,它显示了分数(左上角)、左右按钮(右上角)和中间的时间线。时间轴随着时间的推移而“滚动”_C#_Unity3d - Fatal编程技术网

C# 隐藏游戏对象背后的吉他文本 我在我的应用程序顶部有这个HUD,它显示了分数(左上角)、左右按钮(右上角)和中间的时间线。时间轴随着时间的推移而“滚动”

C# 隐藏游戏对象背后的吉他文本 我在我的应用程序顶部有这个HUD,它显示了分数(左上角)、左右按钮(右上角)和中间的时间线。时间轴随着时间的推移而“滚动”,c#,unity3d,C#,Unity3d,我想在时间线上画一些数字,以显示它所代表的年份。我目前正在使用GuitText来做这件事。不幸的是,我注意到,当时间线栏位于场景中左上角对象的后面时。吉他文本仍保留在此对象上 吉他文字总是画在其他东西的上面,还是有办法把它隐藏在游戏对象的后面 更新: 经过一些测试/研究,我得出结论,可能只有一种方法可以让吉他文本不出现在某些物体面前 如果你想让他们的文本(或任何类型的GUI内容)在某些对象后面,你必须至少使用一个额外的摄像头 第二台摄像机应设置为“仅深度”,且深度值低于主摄像机。这样,主摄影机绘

我想在时间线上画一些数字,以显示它所代表的年份。我目前正在使用GuitText来做这件事。不幸的是,我注意到,当时间线栏位于场景中左上角对象的后面时。吉他文本仍保留在此对象上

吉他文字总是画在其他东西的上面,还是有办法把它隐藏在游戏对象的后面

更新:


经过一些测试/研究,我得出结论,可能只有一种方法可以让吉他文本不出现在某些物体面前

如果你想让他们的文本(或任何类型的GUI内容)在某些对象后面,你必须至少使用一个额外的摄像头

第二台摄像机应设置为“仅深度”,且深度值低于主摄像机。这样,主摄影机绘制的所有内容都将位于第二个摄影机绘制的所有内容之上


使用消隐遮罩,设置要在不同层中显示/隐藏的对象。

经过一些测试/研究,我得出结论,可能只有一种方法可以使GuitText不出现在某些对象前面

如果你想让他们的文本(或任何类型的GUI内容)在某些对象后面,你必须至少使用一个额外的摄像头

第二台摄像机应设置为“仅深度”,且深度值低于主摄像机。这样,主摄影机绘制的所有内容都将位于第二个摄影机绘制的所有内容之上


使用消隐遮罩并设置要在不同层中显示/隐藏的对象。

您应该能够使用着色器来完成此操作

只需将对象的深度值从顶点着色器传递到gui的像素着色器。使用此值确定像素的alpha值


在使用自己的游戏引擎时,有很多方法可以做到这一点,并且可以访问代码,但是Unity会在这里限制您。我不确定Unity是否允许将像素着色器应用于GUI。如果没有,请考虑使用GUI的特定部分的广告牌,并进行类似的操作。

你将无法在其他游戏对象下渲染GeTeXT,而不是不使用另一个相机。如果你想让GUI成为场景中的3d元素,你就必须考虑其他GUI解决方案,比如NGUI。我认为问题在于你绘制项目的顺序。时间轴上的文本绘制在按钮上?这是因为文本是在按钮之后呈现的。试着把代码放在按钮之前。我认为问题与文本是GUI和按钮/图标是游戏对象(立方体)有关。我相信图形用户界面的东西总是最后绘制的。这是正确的吗?除了吉他文本,我还有其他方法可以画文本吗?你应该编辑/更新你的原始帖子,而不是在这里写你的答案。只是出于好奇,为什么不使用3D文本呢?如果要模拟吉他文字,请将其设置为摄影机对象的子对象,以便文字始终保持在视图中。我认为这在计算上比创建第二个摄像头要便宜。另外,已经有了一个为文本添加深度的方法。我刚刚忘记了3D文本:),我甚至知道着色器也是一个很好的解决方案!这是一个非常优雅的解决方案,我没想到。您能为我们这些不太熟悉着色器的人更详细地描述一下吗?