Flying Disc System
VRChat ワールド向けのフライングディスクです。FlyingDisc と FlyingRing を配置して使えます。
必要なもの
- VRChat Creator Companion(VCC)
- VRC SDK3
- UdonSharp
セットアップ
Assets/Applicotsource/FlyingDisc内の FlyingDisc または FlyingRing の prefab をシーンに配置します。- FlyingDiscBody を選択し、Inspector の
Ground Collision > Ground Objectsに、床や地形など着地先の GameObject を登録します。登録する GameObject にはコライダーが必要です。
Ground Objects は必ず設定してください。 未設定だとディスクが地面を貫通し、落下し続けます。
操作方法
VR
トリガーで手に取り、腕を振りながらトリガーを離して投げます。スピンをかけると揚力が発生し、遠くまで飛びます。
デスクトップ
- 拾う・離す:通常の VRChat Pickup 操作
- 左右に傾ける:J / L キー
- 前後に傾ける:I / K キー
- 投げる:右クリックを長押しして、離します
右クリックを長く押すほど速く飛びます。最大チャージ時間は Desktop Max Charge Time で調整できます。
飛行中・着地後に Auto Reset Time で指定した時間が経過すると、初期位置に戻ります。既定値は20秒です。
よくある問題
地面を貫通する
Ground Objects が未設定、または登録した GameObject にコライダーがありません。着地先の床・地形とコライダーの有無を確認してください。
投げても飛ばない
速度とスピンが、どちらも Min Throw Speed・Min Throw Spin の下限を下回ると不発になります。VR ではより素早く腕を振り、デスクトップではチャージ時間を長くしてみてください。
フレームレートによって投げ方が安定しない
既定の Throw Mode = PeakCluster はフレームレートの変動に強い方式です。Throw Average Time を 0.15 秒程度に広げる方法もあります。Regression は開発中の実験的なモードです。
詳細設定(Inspector)
必要な項目だけ調整してください。Ground Objects は設定が必須です。それ以外の項目は、まず既定値で試せます。
表は左右にスクロールできます。
地面の判定(Ground Collision・必須)
項目 | 既定値 | 説明 |
|---|---|---|
| 空 | 着地判定を行うコライダーを持つ GameObject。必ず設定してください。 |
| 0.2 m | 着地判定 SphereCast の半径 |
着地マーカーと自動リセット(Marker & Auto-reset)
項目 | 既定値 | 説明 |
|---|---|---|
| なし | 着地位置に表示するマーカー用 GameObject(任意) |
| 0.1 m | 着地マーカーの表示高さオフセット |
| 20 s | 飛行中・着地後、この秒数が経過すると初期位置に自動リセット |
グリップ(Grip)
項目 | 既定値 | 説明 |
|---|---|---|
| なし | VR 右手でピックアップしたときのグリップ基準 Transform |
| なし | VR 左手でピックアップしたときのグリップ基準 Transform |
飛行の物理設定(Physics)
項目 | 既定値 | 説明 |
|---|---|---|
| 1.6 | 揚力の強さ。値を大きくすると浮きやすくなる |
| 0.5 | 揚力によるジャイロ歳差回転の強さ。カーブの曲がり具合に影響する |
| 0.16 | 抗力係数(速度²に乗算)。大きいほど速く減速する |
| 9.81 m/s² | 重力加速度 |
| 0.10 | スピン減衰率(1秒あたりの割合)。大きいほどスピンが早く失われる |
| 12 rad/s | 揚力が最大になる基準スピン量 |
姿勢の安定化(Alignment)
項目 | 既定値 | 説明 |
|---|---|---|
| 1.0 | スピンが弱いときにディスク法線を上向きに戻す速さ |
| 1.0 | 自動安定化をスピンで抑制するスケール |
投げ方(Throw)
項目 | 既定値 | 説明 |
|---|---|---|
|
| 速度・スピンの計算方式。 |
| 0.07 s | 投げ直前の速度・スピンを探すタイムウィンドウ。 |
| 1 |
|
| 0.004 s |
|
| 0.10 s |
|
| 1.9 | 計算した投げ速度に掛けるスケール(飛距離の調整) |
| 1.9 | 計算した角速度に掛けるスケール(スピン量の調整) |
| 0.3 m/s | 投げ速度の下限。スピンも下限以下のとき不発になる |
| 1.7 rad/s | 投げスピンの下限。速度も下限以下のとき不発になる |
| false | 表裏対称なリング型ディスク用。投げた瞬間に裏向き(法線が下向き)だった場合、物理計算を表向きとして扱う |
見た目(Visual)
項目 | 既定値 | 説明 |
|---|---|---|
| false | チェックするとディスクの回転アニメーションを無効化(物理挙動には影響しない) |
デスクトップ操作(Desktop Mode)
項目 | 既定値 | 説明 |
|---|---|---|
| 2.0 s | 右クリックチャージの最大時間 |
| 14 m/s | チャージ最大時の投げ速度 |
| 25 rad/s | チャージ最大時のスピン |
| 90 deg/s | J / L キーの傾き変化速度 |
| 90 deg/s | I / K キーのピッチ変化速度 |
| 70 deg | 傾き・ピッチのクランプ上限 |
