[LayaAir 2.0]处理渲染物体的visible属性时,没有考虑双相机的情况,会导致动画播放状态错误

Snipaste_2020-01-06_11-27-06.png

前提,引擎为2.1.1,使用双相机,并且开启遮挡剔除,动画裁剪状态为默认状态,即渲染时才播放动画
如图,在使用双相机之后,物体只被一个相机渲染,但是他的渲染状态_visible为false,导致动画被停止播放。
对照了源码之后,发现后面进行裁剪的相机会把前面相机的裁剪计算结果覆盖掉,导致即使被渲染了,也被判定为visible为false的状态。
目前只能把动画的裁剪模式设定为永久播放,才能解决这种问题
问题补充:
demo做起来比较麻烦,这边直接补充下我这边的发现
Snipaste_2020-01-06_16-30-04.png

Snipaste_2020-01-06_16-31-39.png


上两图是两个相机遮挡剔除计算的逻辑,是顺序执行的,也就是说后面相机的剔除计算结果会直接覆盖前面相机的剔除计算结果

Snipaste_2020-01-06_16-32-49.png

这个图是动画刷新时的部分逻辑,如果保持动画剔除状态为2,则被剔除后就不再执行动画刷新
已邀请:

Aar0n

赞同来自:

可以发个demo不

要回复问题请先

商务合作
商务合作