threejs 深度检测

620 阅读1分钟

问题:

因为面的深度一样,加载模型后缩放会出现如图所示的显示不全的闪烁问题。 BIM首屏展示 - Google Chrome 2022_11_9 11_25_02 (2).png

解决:

第一种方法:渲染器开启深度检测logarithmicDepthBuffer

renderer = new THREE.WebGLRenderer({ logarithmicDepthBuffer: true, // 深度检测 });

可能出现的问题:精灵sprite可能会被遮住。

第二种方法:透视相机的near参数调大

camera = new THREE.PerspectiveCamera(45,window.innerWidth / window.innerHeight,8,100000);

出现的问题:near变大,拉近距离小于near值时场景不可见。

第三种方法:材质参数depthTest

material.depthTest = true;

可能出现的问题:绘制透明物体时可能会出现遮挡问题。

参考文章:

biyusr.blog.csdn.net/article/det… blog.csdn.net/lmchhh/arti… blog.csdn.net/qq_40245044…