Cocos create3d 1.2 ,在旋转摄像头的时候,3d场景里面的墙面和地面老是会重叠
这是为什么类,要调整那些参数才好!
调调相机远近面,控制地板和墙的渲染顺序
按照您的思路去找了一些资料,有说是该zIndex 的
有的说是调用 node.setSiblingIndex 方法
但是试下来,还是没啥改变,请问有可以阅读的文档吗!
这位老哥说的是 camera 的 near far clip 调整,避免 z fighting 问题
参考
https://docs.cocos.com/creator/3.3/manual/zh/editor/components/camera-component.html?h=camera
https://docs.cocos.com/creator/3.3/manual/zh/editor/scene/#场景相机设置
我也碰到过类似的透视现象,删除物体重新添加后消除,但如果把材质的Technique选成:1-transparent,问题会更严重,还没找到解决方法。
谢谢 panda
1.首先把摄像机的 Far 参数从 1000 调到了 100,
2.其次把墙和地面的距离调整了下,让墙和地面尽量不挨着,但是又不能隔得太远不然墙和地面就有缝隙了,目前调了一个合适的值,就不会出现重叠了。
但是感觉这不是一个治标的方法,请问有什么更好的方法不
首先把摄像机的 Far 参数从 1000 调到了 100,
其次把墙和地面的距离调整了下,让墙和地面尽量不挨着,但是又不能隔得太远不然墙和地面就有缝隙了,目前调了一个合适的值,就不会出现重叠了。
但是感觉这不是一个治标的方法
我那个是把物体删除重新添加就好了,但是把材质的Technique选成:1-transparent,后,无论怎么重新加都会出现透视,而且更严重。感觉是有BUG吧。
像这种表现问题得发个截图
transparent 建议不要勾选 instancing,否则渲染顺序可能有问题,或者你手动设定材质 priority
instancing原来就没勾选,勾了后就任何角度都透出来了,还有priority调了好像也没用,因为两个箱子用的是同一个材质,调就等于两个箱子一起调了。
试了下两个方块用不同材质,也不行,哪个材质priority调高,哪个就会挡在前面,如果两个材质priority一样,就是某个角度会透出来,和使用同材质一样。把其中一个Technique改成opaque就不会出现遮挡了。试了3.1.1版本和3.3版本都一样
两个都用transparent试试
出问题的就是两个都transparent,一个opaque一个transparent,或两个opaque都没问题。但两个opaque偶然碰见过一次,删除模型重新添加后正常了。
3.2 也存在这个问题
如果使用 opaque queue,会按照 center depth 和 material priority 进行排序,另外一般材质都会开启 depth write 会在 fragment 中写入深度值。这样就可以保障没有穿透问题。而 transparent 材质为了保障半透明像素的颜色混合正确性,一般不会写入和测试深度,所以完全按照渲染提交顺序进行渲染,在渲染不透明像素的时候自然会出现这种相互覆盖的情况(排序仍然按照 center depth 排序)
你的使用场景就应该用 opaque
应为想设置物体半透明度,所以用transparent模式,queue好像不能设置半透明透明度。
如果是这样的话最好保障变化的时候视角不变