これは何か
VRM の手(左右どちらでも)をつかんで引っ張ると、腕が伸びて、伸びきったら、引っ張った分だけ、歩いてついてきます。試作です。
操作
・緑の玉(左右の手の位置)をドラッグ: その手をつかんで、引っ張ります。地面と水平に動きます。つかんでいる間は、指を握ります。GAZE で、頭と目の向きを選べます(OFF / HAND: つかんでいる手 / CAMERA: カメラ。VR では、自分の頭)
・離す: 手を離します。止まって、腕が戻ります
・何もない所をドラッグ: 視点を回します(ホイール: ズーム、右ドラッグ: 移動)
・.vrm / .vrma を画面にドロップ: モデル・歩きのモーションを替えます
動き
・手が届く間: 腕が手を追って、体は、少し傾くだけです
・届かなくなったら: 引っ張る方向を向いて、歩き出します。速さは、引っ張った距離で決まります
・歩きのモーションは、前へ進む動きを消して使います(進む動きは、コードで決めます)
スライダー
・SLACK: 腕の長さの何 % まで伸びたら、歩き出すか
・FOLLOW: 引っ張った距離に対する、歩く速さの比
・MAX SPEED: 歩く速さの上限(m/秒)
・LEAN: 引かれたときの、体の傾き
・TURN: 向きを変える速さの上限(rad/秒)
・STRIDE: その場で歩くモーションを、等倍で再生したときに進む速さ(m/秒)。足が地面を滑るときに、合わせます
・GAZE: 押すたびに、OFF → HAND(つかんでいる間だけ、その手を見る)→ CAMERA(いつでも、カメラを見る。VR では、自分の方を見る)→ OFF。初期は OFF。設定は、このブラウザに保存されます
VR
・VR に対応した機器(Quest など)のブラウザでは、ENTER VR のボタンが出ます
・握る: コントローラーを、VRM の手(緑の玉)に近づけて、グリップボタンを握ります。握ったまま動かすと、引っ張れます。離すと、手を離します
・遠い手: コントローラーの線を玉に向けて、トリガーでつかめます
・移動: スティック。向いている方へ、自分が動きます。手をつかんだまま動くと、VRM もついてきます
・B / Y ボタン: RESET(VRM も自分も、最初の位置へ戻ります)
VR HANDS(ハンドトラッキング)
・VR HANDS を TRACKING にしてから ENTER VR します(切り替えは、次に VR を始めるときから効きます)
・Quest の設定で、ハンドトラッキングがオンである必要があります。コントローラーを置くと、手に切り替わります
・つまむ(親指と人差し指): 手の近くの玉は、つまんだ点でつかみます。遠い手は、手のレーザーの先の玉をつまみます。つまんだまま動かすと、引っ張れます
・手首をひねると、つかんだ点も一緒に動きます。指をはなすと、離します
・CONTROLLER のままなら、今までと同じです(コントローラーだけ)
キー
F1: このヘルプ、Esc: 閉じる。ほかのキーは、使いません。