有很多朋友对sprite3D在ui层的绘制和遮挡不太明白,这里稍微说明一下。
并且有其他疑问也可以回帖,然后会持续更新一些想要的功能。
引擎版本: cocos2dx 3.6
语言: C++
绘制顺序是按照这种顺序绘制的,
-
globalz<0的物体
-
3D不透明的物体,如果3D物体的globalZ为0,3D物体都在这里绘制,否则根据他们的globalZ决定绘制顺序
-
3D透明物体,如果3D透明物体的globalZ为0,都在这里绘制,否则根据他们的globalZ决定绘制顺序,粒子属于3D透明物体,默认在这里绘制。
-
globalZ=0的物体
-
globalZ>0的物体
截图:
和骨骼动画的绘制对比
经过我的测试,骨骼动画和sprite3D,他们的绘制顺序是根据globlezorder值 来定的,
在zorder值相同的时候,先绘制骨骼动画,后绘制sprite3D。
否则先绘制zorder值高的物体,没图说个JB,上图!
并且,sprite3D是不会吞噬触摸事件的
附上class文件和resource资源: Resources.zip (373 KB)







渲染管线解释的很清晰,但是这边的需求有这样的