OrbitControls
3DCGにおいて、カメラが物体の周りを周回移動(orbit around)するように操作する機能です。
Three.jsでは、シーン内の特定の注視点を中心に、カメラを回転・ズーム・平行移動させるための仕組みを実装するカメラ操作用の補助クラスとして実装されています。 基本的な考え方
OrbitControls はカメラそのものを直接動かすのではなく、「注視点(target)」とカメラとの相対関係を管理します。
ユーザー操作によって、カメラはこの target の周囲を回り込むように移動します。
そのため、常に特定のオブジェクトや位置を中心に観察する用途に向いています。
主な操作内容
OrbitControlsが提供する代表的な操作は以下の通りです。
回転:注視点を中心にカメラを上下左右へ回転させます。
ズーム:注視点に近づいたり遠ざかったりする動きを行います。
パン:カメラと注視点を平行移動させ、視点全体をずらします。
これらの操作はマウス、タッチ、場合によってはキーボード入力に対応します。
設定とカスタマイズの方向性
OrbitControls には多くの設定項目があり、操作の有効・無効や速度、移動範囲の制限などを調整できます。
例えば、回転だけを許可してズームを禁止したり、上下方向の回転角度に制限を設けたりすることが可能です。
これにより、用途に応じた操作感を作り込むことができます。
注意点
OrbitControls は内部でカメラの位置や向きを継続的に更新します。
そのため、別の処理でカメラの回転や位置を直接変更すると、意図しない挙動になることがあります。
カメラ制御を OrbitControls に任せる場合は、カメラ操作の責務を分離して考える必要があります。
利用場面
OrbitControls は汎用的で扱いやすい一方、自由移動や一人称視点のような操作には向いていません。
シーンを観察する、モデルを確認する、といった用途に適したコントロールであり、目的に応じて他のコントロールクラスと使い分けることが重要です。