NeosVR開発用メモ書き - USFN Universal Racing Systemの導入の仕方

USFN Universal Racing Systemについて

海外のコミュニティで制作されたNeosVR用レースシステムで、
この記事を書いている時点では
最大6人同時の対戦レース
一人で行うタイムアタック
で遊ぶことが出来ます。

その他特徴として
・ユーザーの移動方法や当たり判定の状態に依存しない
・チェックポイントがいくつか設けられており、そこを通過しない限り周回カウントされない簡易不正防止機能あり
・ユーザーが一か所のゴールを目指すタイプの競技であれば、カーレースに限らず何にでも使用可能
・既存のワールドに後から導入することも可能
といった点が挙げられます。
導入方法に若干癖がありますが、NeosVRのワールド制作やツール開発をしたことがある方であれば比較的簡単に導入できます。

導入の仕方

基本的には下記の共有フォルダに入っている動画を見れば大体のことはわかります。

▼共有フォルダURL▼
neosrec:///G-United-Space-Force-N/R-fbcca180-19a7-4f15-9e96-af97d912d32f


以下、動画には書いていないポイントを補足していきます。

導入までの大まかな流れ

システムの読み込み

Rootの座標をリセット

システムで使用するUIとチェックポイントだけをBring Toを使って手元に引き寄せる

UIを任意の場所に設置

チェックポイントを設置

チェックポイントの認識範囲を設定

テスト走行して問題なければ完了

躓きやすいポイント

チェックポイント
ユーザーの頭とチェックポイントの距離を測って射程内に入っていればチェックポイント通過
という構造を採用している。
初期値は60(=60m)とかなり広めに設定されているので、
自分のコースの大きさに合わせて調整が必要。

具体的には
MeterTip
https://neosvrjp.memo.wiki/d/MeterTip
を使って自分のコースの道の幅を測定。
道の幅の半径よりいくらか大きい値にしておけば基本的には問題ないと思われる。
フィニッシュライン
フィニッシュラインもチェックポイントと同様の仕組みを採用しているとのことなので、
ゴールラインよりも先の位置に置かないと、ゴールの60m(初期値の場合)手前の時点でレースが終了してしまうことになる。
なのでMeterTipで距離を測って自分の設定した値分だけゴールより先の位置に設置してあげる必要がある。
UIの固定
モニタの扱い
通常のUIの他に、観客用がそれぞれ状況をみられるUIが備わっている。