1

シーンをセットアップしたり、ジオメトリを追加したりするとき、シーン全体が見えるようにカメラを設定するにはどうすればよいですか? バウンディングボックスを使用してアルゴリズムを実装しようとしていますが、ちょっと行き詰まっています。

4

1 に答える 1

0

を使用して、すべての変数間で最大の絶対値を見つけるだけで十分です。最大Math.abs(number)のものを見つけたら、カメラの深さ (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 に答える