[LayaAir3]3d预制体上通过UI3D挂在2d预制体进行进行倒计时进度条背景闪烁

2d预制体中创建一个img使用一个背景框a,然后兄弟节点上穿管一个进度条颜色图片框B,在b中创建一个sprite并且将sprite设置为b的Mask;然后将此2d预制体挂在到3d预制体拿到3d场景中使用,通过3d预制体自定义脚本找到2d预制体进图条b中的sprite,通过脚本触发倒计时实现倒计时进度条效果,显示的时候2d的a-img背景一闪一闪的,按理b在a后面会这盖住a呀
1.png 2.png 3.png 4.png
已邀请:

Laya_Fred

赞同来自:

您好,我们这边使用预制体上放置进度条,通过设置进度条的value来模拟内容更新,没有复现您说的闪动问题,辛苦您提供个demo我们看下吧。

yu见

赞同来自:

提供2d遮罩倒计时挂在ui3d上显示背景图一闪一闪问题demo
测试效果如下:
1、直接选择StatePrefab运行倒计时正常,不会闪烁
2、选择State3DPrefab或者Scene运行倒计时不正常,背景图一闪一闪的

yu见

赞同来自:

同个思路我这边提供demo
运行2d预制体不会闪烁
将2d预制体通过UI3D挂载显示,运行会闪烁
3d预制体添加到3d场景中运行会闪烁

Laya_Fred

赞同来自:

您好,这个问题已经复现了,可能是由于使用了mask遮罩,并且使用了graphic进行绘制时候,在更新UI3D材质的纹理时候出现了空白导致的闪烁问题,这个问题已经进行排期处理了哈,您可以关注下后修的更新日志内容,现在提供给您一个暂时的处理方法来规避这个问题:
将使用的2D预制体的根节点设置cacheAs为位图,这样会缓存一个2D预制体节点的显示内容,在使用graph进行绘制时候避免出现空白导致的闪烁,这里测试修改为位图之后UI3D运行正确且不出现闪烁问题。
Snipaste_2023-12-15_15-31-21.png

 

要回复问题请先

商务合作
商务合作