Mashiro Auto Door

プレイヤーの入室で開き、エリア内が無人になると閉じる自動ドア。1 本の Timeline の前半を開きアニメ、後半を閉じアニメとして再生位置を制御し、開閉途中での反転に対応する。

構成

ファイル 役割
MashiroAutoDoor.cs ドア制御本体(Timeline の再生制御・在室チェック)
MashiroAutoDoor.asset MashiroAutoDoor の UdonSharp ProgramAsset
AutoDoorTrigger.cs トリガーコライダーの入退室イベントを MashiroAutoDoor へ中継する
AutoDoorTrigger.asset AutoDoorTrigger の UdonSharp ProgramAsset
自動ドア.prefab MashiroAutoDoor・AutoDoorTrigger・PlayableDirector を設定済みのドア一式
AutoDoor.playable 開閉アニメーションの TimelineAsset(全長 6 秒)
AutoDoorSample.playable 開閉アニメーションの TimelineAsset(全長 4 秒)

依存

仕様

Timeline の区間

開く条件

閉じる条件

在室チェック

同期

エラー時の挙動

条件 挙動
timeline 未設定 Start で Warning [MashiroAutoDoor] Timeline is not assigned. を出し、コンポーネントを無効化する
triggerZone 未設定 Start で Warning [MashiroAutoDoor] BoxCollider is not assigned. を出す。動作は継続する
autoDoor 未設定(AutoDoorTrigger) 入退室イベントを中継しない

Inspector

MashiroAutoDoor

フィールド 型 既定値 必須 内容
timeline PlayableDirector なし ○ 開閉アニメの TimelineAsset を再生する PlayableDirector
triggerZone BoxCollider なし — 在室チェックに使うコライダー
closeDelay float 3 — 最終入室から在室チェックを行うまでの秒数

AutoDoorTrigger

フィールド 型 既定値 必須 内容
autoDoor MashiroAutoDoor なし ○ 入退室イベントの中継先

API リファレンス

MashiroAutoDoor

UI へ手配線するもの

なし。

内部連携用(配線不要)

シグネチャ 用途 呼び出し種別
void OnPlayerEntered(VRCPlayerApi player) 最終入室時刻を更新し、閉状態・閉じ途中なら開き始める AutoDoorTrigger が呼ぶ
void OnPlayerExited(VRCPlayerApi player) 処理なし AutoDoorTrigger が呼ぶ

AutoDoorTrigger

UI へ手配線するもの

なし。

内部連携用(配線不要)

シグネチャ 用途 呼び出し種別
void OnPlayerTriggerEnter(VRCPlayerApi player) autoDoor.OnPlayerEntered を呼ぶ VRChat コールバック(内部専用)
void OnPlayerTriggerExit(VRCPlayerApi player) autoDoor.OnPlayerExited を呼ぶ VRChat コールバック(内部専用)

ライセンス

MIT License(MashiroTheater-Utils 同梱の LICENSE.md を参照)。


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