VRChatで飛行移動

なぜ仮想空間でまでクソッタレな重力に縛られて地を這わなければならないのか?
NeosVRの素晴らしきNoClipモードのように自由に飛びたい。と模索した結果の記録。

結論としては完全な自由飛行は現状不可能で、代替手段となる。
VRChat用の「飛ぶ」ツールはいくつかあるが、常時使えるような実用性の高い物は無かった。目的は「空を飛んでみたい」という娯楽ではなく、いつでも好きな方向に高速移動し、好きな位置で静止してワールドを眺める事。翼ではなく舞空術を実現したい。

使用ツール

SteamVR用無料オーバーレイアプリ。
Space Dragという空間を掴んで自分を持ち上げるような機能があり、デフォルトでは位置調整くらいにしか使えないが、重力切替と組み合わせる事で上空まで一気に飛んで静止する。

設定

  1. Steamライブラリ > OVR Advanced Settings > VRオーバーレイを起動
  2. 左下の歯車アイコンで設定を開く

Space Drag、Gravity

  1. OVR Advanced Settings > Motion
  2. Motion Settingsを以下に設定
    • Space Drag > Right Hand (右手で飛ぶ場合)
    • Gravity Settings
      • On
      • Gravity Strength: 0
      • Fling Strength: 18程度

キーバインド

  1. OVR Advanced Settings > Bindings
  2. 割り当てるボタン名の[+]で設定を3個追加
    • ボタン > クリック なし > Right Hand Space Drag
    • ボタン > クリック なし > Gravity Toggle
    • ボタン > 詳細オプション > 長押し なし > Reset Offsets
Aボタンに設定した例

設定は一例。BボタンはVRCメニューが出るのでAに割当。右手をA押しと同時に振って飛び、再度A押しで静止。A長押しで位置リセット。

ゲーム上必要でAボタンを押した時にもGravityトグルが作動するので、同時押し等に設定した方がいい。必要時のみOVRASを起動して手軽に飛びたいので暫定対応。

位置リセット後もGravityを切りたいが、長押しにGravityトグルを重ねたり、同じ設定枠内でシングル: Gravityトグル、長押し: リセットにしても駄目だった(飛べなくなる)。

運用

飛びたい時にA+右手を振り、Aで停止。

VRCで位置がおかしくなったら位置リセット+リスポーン。ワールド移動やゲーム終了前にも位置リセットしておく。忘れて変な位置に出たらOVR Advanced Settings > Space Fix > Revert All Changes from This Sessionで初期位置に戻す。

飛行移動は基本的VR人権