|
|
|
@ -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)) |
|
|
|
|