に制限をかける方法はありOrbitControls.js
ますか? 地面の上に何かを作成していると想像してください。カメラを地面の下に移動させたくありません。ズームイン、ズームアウトも同様です。カメラを近づけたり遠ざけたりしたくないので、それを制限するためにいくつかの変数を設定する方法はありますか?
24766 次
3 に答える
2
誰かが地面の高度とカメラのターゲット調整でより堅牢な答えを必要とする場合に備えて:
コントロール ターゲットとカメラの地上位置 (高度に関係なく) に対する角度を見つけて、maxPolarAngle を割り当てます。上軸を調整します。私の場合は Y でした。コントロール変更イベント内:
var centerPosition = controls.target.clone();
centerPosition.y = 0;
var groundPosition = camera.position.clone();
groundPosition.y = 0;
var d = (centerPosition.distanceTo(groundPosition));
var origin = new THREE.Vector2(controls.target.y,0);
var remote = new THREE.Vector2(0,d); // replace 0 with raycasted ground altitude
var angleRadians = Math.atan2(remote.y - origin.y, remote.x - origin.x);
controls.maxPolarAngle = angleRadians;
于 2016-07-26T19:48:09.860 に答える