[技术讨论] linerenderer如何渲染在部分UI之下
已解决
10
楼主悬赏蛮牛币
本帖最后由 chuhongkui 于 2019-7-31 16:12 编辑

我在一个界面上用linerenderer画了一些线,


但是当我在这个界面中打开其他界面时 linerenderer画出的线仍然显示在最上方,新打开的界面并没有遮住这些线。


我试着调了一下Layer,不过并没有达到理想的效果,请问这该怎么搞

我来回答
引用: chuhongkui 发表于 2019-7-31 17:06
render mode 是 screen space camera

那我知道了,你是用这个模式的话,linerrender有可能覆盖UI
1、看一下linerrender的use world space 是否是true,true就修改线的点的坐标,false就修改linerender所在的游戏对象坐标,切换到3d模式可以看到线段是在UI前面还是后面。
2、修改你的canvas的plane distance,可以决定UI和相机的距离。
不太明白,linerrender画出的线不会在最上层的吧,可以放出详细截图看一下吗?
引用: 我叫Rookie 发表于 2019-7-31 15:39
不太明白,linerrender画出的线不会在最上层的吧,可以放出详细截图看一下吗? ...

感谢回复  我新上传了图片 就是在游戏界面有一些linerenderer的线  当我打开退出游戏的弹窗时 希望可以遮挡住这些线 但事实上并没有 有什么好的解决方法吗
引用: chuhongkui 发表于 2019-7-31 16:14
感谢回复  我新上传了图片 就是在游戏界面有一些linerenderer的线  当我打开退出游戏的弹窗时 希望可以遮 ...

linerender 是3D空间的,你试着调整每一个点的Z轴看看?
引用: chuhongkui 发表于 2019-7-31 16:14
感谢回复  我新上传了图片 就是在游戏界面有一些linerenderer的线  当我打开退出游戏的弹窗时 希望可以遮 ...

哥们,我这边怎么都弄不出linerender在UI上层的情况,有点神奇
引用: 我叫Rookie 发表于 2019-7-31 16:22
linerender 是3D空间的,你试着调整每一个点的Z轴看看?

z轴试过  不过并不能改变渲染的层级
引用: 我叫Rookie 发表于 2019-7-31 16:53
哥们,我这边怎么都弄不出linerender在UI上层的情况,有点神奇

你那边是怎么设置的啊
引用: chuhongkui 发表于 2019-7-31 17:03
z轴试过  不过并不能改变渲染的层级

你的canvas是使用camera类型吗?如果是overlap的话,UI应该始终最上层.
引用: 我叫Rookie 发表于 2019-7-31 17:05
你的canvas是使用camera类型吗?如果是overlap的话,UI应该始终最上层.

render mode 是 screen space camera
引用: 我叫Rookie 发表于 2019-7-31 17:12
那我知道了,你是用这个模式的话,linerrender有可能覆盖UI
1、看一下linerrender的use world space 是否 ...

我了解你的意思了  你是想通过修改z轴 让它不在摄像机的渲染范围内 是吧  不过 我打开的弹窗可能只会挡住一条线的一部分 没挡住的还是要显示的
我一个朋友给我的解决方案是:给最上层界面加一个Graphic Raycaster  然后把override Sorting 勾上,改变层级
我试了试 是可以的