Mashiro Pickup Space Fixer

保持中の Pickup をダブルトリガーでその場に固定し、固定中に掴むと固定を解除する UdonSharp コンポーネント(MashiroPickupSpaceFixer)。固定状態を全プレイヤーで同期する。

構成

ファイル 内容
MashiroPickupSpaceFixer.cs 本体スクリプト(MashiroTheater.MashiroPickupSpaceFixer)
MashiroPickupSpaceFixer.asset MashiroPickupSpaceFixer の UdonSharp ProgramAsset

依存

仕様

固定

解除

物理状態

状態 Rigidbody.useGravity Rigidbody.isKinematic 全 Collider.isTrigger
固定中 false true true
非固定 true false false

同期

Inspector

MashiroPickupSpaceFixer

Add Component メニュー: MashiroTheater/Mashiro Pickup Space Fixer

フィールド 型 既定値 必須 内容
doubleTriggerWindow float 0.3 – ダブルトリガーと判定する押下間隔の上限(秒)
audioSource AudioSource なし – 固定時の効果音を鳴らす AudioSource。未設定なら鳴らさない
fixSound AudioClip なし – 固定時に鳴らす音。未設定なら鳴らさない

API リファレンス

MashiroPickupSpaceFixer

UI へ手配線するもの

なし。

内部連携用(配線不要)

シグネチャ 用途 呼び出し種別
override void OnPickup() 固定中なら解除する VRChat コールバック(内部専用)
override void OnPickupUseDown() ダブルトリガーを判定して固定する VRChat コールバック(内部専用)
override void OnDeserialization() 同期された固定状態を物理へ適用する VRChat コールバック(内部専用)
override void OnOwnershipTransferred(VRCPlayerApi player) 固定状態を物理へ再適用する VRChat コールバック(内部専用)

ライセンス

MIT License(リポジトリルートの LICENSE.md)。


本ドキュメントは AI を用いて作成しています。不明点・記載の誤りなどありましたら、下記までお問い合わせください。