diff --git a/src/designer/model2DEditor/ThreeJsEditor.vue b/src/designer/model2DEditor/ThreeJsEditor.vue index baa095a..b5d7589 100644 --- a/src/designer/model2DEditor/ThreeJsEditor.vue +++ b/src/designer/model2DEditor/ThreeJsEditor.vue @@ -312,13 +312,10 @@ function updateGridVisibility() { * 计算相机到目标的有效视距 */ function getEffectiveViewDistance() { - // 1. 获取相机到目标的距离 - const targetDistance = controls.target.distanceTo(camera.position) - - // 2. 计算当前视口高度(世界单位) + if (!camera) { + return 10 + } const viewHeight = (camera.top - camera.bottom) / camera.zoom - - // 3. 计算等效的透视相机距离 // 假设我们希望匹配一个虚拟的透视相机(通常使用45度fov作为参考) const referenceFOV = 45 // 参考视场角 return viewHeight / (2 * Math.tan(THREE.MathUtils.degToRad(referenceFOV) / 2))