ThreeJS 关于相机设置

173 阅读1分钟
  • 解决near设置成固定值后 出现面片抖动的问题
  • 整个问题与精度有关
function adjustCameraByBoundingSphere(camera, boundingSphere, cameraNear){
    // ToFix: Pan control
    let { radius, center } = boundingSphere;
    let cameraDistance = camera.position.distanceTo(center);
    if(cameraDistance - 2. > radius){
        camera.near = cameraDistance - radius - 1;
        camera.far = cameraDistance + radius + 1;
    }else{
        // Default
        camera.near = cameraNear;
    }
    camera.updateProjectionMatrix();
}