Laya入坑实录-使用Laya截图出现模型透视和穿透问题

2018-7-18
Laya版本: 1.7.18

问题:

在使用Laya.stage.drawToCanvas的方式截取屏幕发现与实际3D场景不一致,出现了穿模和透视的情况。

原因:

初步判断应该是截图并没有按照3D场景的纵深来绘制每个物体的正确层级,而是按照类似与Unity的UGUI那样以文件排列顺序来判断渲染层级,以下是我做了一个简单的实验

  • 1 如图所示我将4个不同颜色的方块摆放在场景中,Unity下渲染器正确的按照每个方块与摄像头的距离渲染出来,但他们的位置顺序是刚好相反的
    Laya入坑实录-使用Laya截图出现模型透视和穿透问题_第1张图片

  • 2 导入到Laya中并截图,图片如下,并没有按照z轴来正确的渲染,而是与文件的层级顺序来渲染,所以刚好与Unity中的渲染顺序相反
    Laya入坑实录-使用Laya截图出现模型透视和穿透问题_第2张图片

  • 3 现在我重新调整Unity中4个方块的文件顺序,最后面的方块在第一个最前面的方块在最后一个以此类推
    Laya入坑实录-使用Laya截图出现模型透视和穿透问题_第3张图片

  • 4 导入到Laya中并截图,发现截出来的图片层级关系正确了
    Laya入坑实录-使用Laya截图出现模型透视和穿透问题_第4张图片

解决方案:

在Unity中搭建3D场景时最好层级顺序也要按照上面所说的放置在正确顺序,因为截图并不会根据3D场景的纵深来判断层级,而是根据场景中的文件顺序来渲染。

此外注意: Laya仅仅是在截图会出现这种情况,3D渲染目前和Unity一样时通过判断纵深来渲染的无视层级顺序问题

你可能感兴趣的:(Laya)