THREE.jsのcontrol系
区分としてはmisc(その他)
分類
カメラの操作
ターゲットの周りを回るもの
主観として動くもの
オブジェクトの操作
TrackballControls (トラックボールでの操作)
https://gyazo.com/c1cdd58c0210ace74cddb5da44b61363
回転の向きに制約なし
OrthographicTrackballControlsが昔あったが、TrackballControlsに吸収された
https://gyazo.com/102f3f0dd0e3a826965fe4446800c374
これは極座標系を動くので、頭の向きが常に上になる
これもOrthoとPerspectiveどちらも動く
入力
マウス、右左真ん中ボタン、Ctrlキー押しながら
矢印キーによるpan移動
設定で変えられる(ソースを見てどの変数なのか確認せよ)
MapControls
https://gyazo.com/15589954f452d26db8956a75703e59f5
これはorbitcontrolsのマウスの設定が変わっただけ
実際OrbitControlからimportする
import { MapControls } from './jsm/controls/OrbitControls.js';
DeviceOrientationControls
スマホとかの角度を取得して、カメラに反映してくれる
VR感がでる
PointerLockControls (マウスを非表示にして、マウス動きに追従する)
https://gyazo.com/997086df79af01a2acfeeb303a2004d3
ようはFPSぽいことができる
FlyControls (カーソルキーによる浮遊した操作ができる)
https://gyazo.com/cf5fa08c6684da4a08cef179bb69ab55
いまいち飛んでいる感じがしない。ズームしてない?
暇だったらソース読む
次のFirstPersonControlsのほうが良い
FirstPersonControls (FPS視点でポインタしたところに向く)
https://gyazo.com/1e77cab04af4af90e0d77324b9cfbeef
pointerlockがおきない
こっちのほうがめちゃくちゃflyって感じだが
This class is an alternative implementation of FlyControls.
そう書いてあったわ
DragControls (オブジェクトをマウスドラッグする)
https://gyazo.com/fa3774d2192387ffab14bb4e7a504ca2
カメラのコントロールではない
TransformControls (オブジェクトを平行移動、回転、スケールする)
https://gyazo.com/ee729c3575bac242bded1623403c38ae
Unityぽいことができる
キーを押すと動きが選べる
transform, rotate, scale