画布上的Linerenderer无法正确显示

时间:2019-04-25 18:23:48

标签: c# unity3d unity-ui

我目前正在开发游戏,但是遇到了以下问题:

我想在我的Canvas上绘制一些结果作为图形,到目前为止,我发现我的Canvas需要在Screenspace-Camera中才能工作,因为LineRenderer是3D对象,并且会否则将被Screenspace-Overlay覆盖。

我实际上已经可以使用它了,如下所示: LineRenderer in front of canvas

但是我遇到的问题是,如果我增加屏幕尺寸,例如通过拉伸GameView或使其最大化,即使与我的所有UI元素相比z均为负z,该行也消失了,因此在EditorView中出现在它们的前面:

Screenshot of full editor window

如果我尝试通过相对于屏幕尺寸应用更大的负z值来解决此问题,则线条会变得失真,因为它们越来越靠近相机,并且将其对齐方式从视图更改为z轴。都不帮忙。

更令人困惑的是,这首先发生在绘制得较低(y值较小)的线上,这意味着图形底部的线会更早消失。我真的不知道为什么会这样。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:1)

对于与UI元素混合的3D对象,我建议使用深度比摄影机绘制标准ui元素更大的单独摄影机。这样,您的3D对象将始终呈现在UI元素上,而您不必担心Z位置。