0 votes
by (120 points)

在开启Pass Through后,若场景中使用line renderer画线,背景部分(see through)部分的线段不会被渲染。
即,画一根射线时,若线的背后有mesh则能正常渲染,若线经 过了背景,则无法被画出来。

1 Answer

0 votes
by (37.0k points)

开发者您好,
请问一下您说的PassThrough中的背景部分(see through)是指使用EnableSeeThroughManual()这个接口吗?
能否提供一下画面截图,另外请问一下您使用的SDK版本是多少以及您设备的PUI版本是多少?

by (120 points)

enter image description here

如图,从手柄理应射出一根红色的射线(pico官方文档demo中自带的功能)。但是只能在有mesh的地方渲染(那三个cube),背景部分由于没有mesh,会显示背景区域,这些区域的射线都无法渲染。

SDK版本是2.0.5;设备PUI4.6.3

by (37.0k points)

开发者您好,
对于XR官方提供的红色射线在没物体遮挡的地方确实是渲染不出来的,XR射线并非是图片或物体,是画出来的Line,而Line是会被SeeThrough背景挡住。
要想一直显示手柄射线的话,建议您先不使用XR官方提供的这个射线,可以尝试自己制作一张图片材质来当做射线,这样可以避免XR射线Line被SeeThrough背景挡住。

by (120 points)

您好,我只是拿手柄射线举个例子。我的场景中有如特效射线等效果,只要使用了line renderer,他们都有显示异常的问题。

ago by (37.0k points)

开发者您好,
SeeThrough背景会遮挡住系统的LineRender。
您可以尝试替换射线材质查看是否可以正常显示。
enter image description here

ago by (120 points)

有具体的材质替换建议吗?替换成什么材质能最接近LineRenderer的效果,迁移成本最低呢?或者,SeeThrough背景影响shader的原理是什么样的,具体哪些shader受到影响呢?

ago by (37.0k points)

开发者您好,
抱歉,目前没有具体的材质建议,我们测试是使用一张jpg格式的测试图片新建的一个材质并替换LineRenderer中的材质来显示射线的。
enter image description here

ago by (120 points)

您好,关于该问题出现的原理能否介绍一下呢?后续有修复计划吗?

ago by (37.0k points)

开发者您好,
我们已经将该问题反馈给研发团队。我们将您的这个问题添加到“Issue Tracker”分类,并且会持续跟进。

...