0 votes
in Issue Tracker by (120 points)

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

1 Answer

0 votes
by (49.1k 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 (49.1k points)

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

by (120 points)

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

by (49.1k points)

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

by (120 points)

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

by (49.1k points)

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

by (120 points)

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

by (49.1k points)

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

by (49.1k points)

开发者您好,
与研发团队沟通确认,此问题是因为默认的Line Render中的默认材质shader中的color alpha值导致的。
所以您只需要使用自定义材质,然后shader中color alpha值不为0即可显示。
enter image description here

ago by (170 points)

你好 可以问一下这个 透视效果是怎么开发出来的吗? 我看了半天文档 不知道怎么调用

...