当我设置场景、添加几何图形等时,如何设置相机以便看到整个场景?我正在尝试使用边界框实现算法,但我有点卡住了。
问问题
1600 次
1 回答
0
您实际上只需要使用 找到所有变量之间的最大绝对值Math.abs(number)
,一旦找到最大值,您就可以将相机的 depth(position.z) 设置为该数字。我做了一个简单的函数,它接收 2 个数字并返回最大的。
function findGreatestAbsolute( firstNumber, secondNumber ) {
if( Math.abs( firstNumber ) > Math.abs( secondNumber )) {
return Math.abs( firstNumber );
} else { return Math.abs( secondNumber ); }
}
如果数字太多,您也可以使用数组。找到号码后,您可以:
camera = new THREE.PerspectiveCamera( cameraFov, windowHalfX / windowHalfY , 1, someDepth );
camera.position.z(greatestNumber);
或者
camera.position.set(yourX, yourY, greatestNumber);
好吧,我希望它有所帮助。
于 2012-11-26T23:17:14.807 回答