Unity/VRChatでスイッチを押すと爆発+音+オブジェクトが消える+書いた文字が消える機構を作りました。
そして私のVRカウンセリングルーム(相談室)に実装しました。
具体的には「文字を書いた文字盤が、スイッチを押すと爆発して文字とオブジェクトごと消える」というカスタムトリガー機構を実装させました。
スイッチ一つで同時に色々なことをするのは難儀ですが覚えれば簡単です。(私はこれを作るのに4ヶ月かかりましたが…)
簡易的ですがまとめておきます。
準備したもの
まずは基本としてとスイッチを設置します。
上のメニューの
GameObject→3DObject→cubeを置きたい場所に設置(Scene画面にドラッグアンドドロップ)
そして画像の例では、木箱と、爆発パーティクルと、その音源と、MoffペンというVR内で文字が書ける文字盤を用意しました。
※MoffペンはVR内でも同期ズレがないため後からジョインした人でも書いた文字が共有できて優秀です。
スイッチを押すだけで「文字を書いた文字盤が、スイッチを押すと爆発して文字とオブジェクトごと消える」までを作ります。
SetgameObjectActive
Add ComponentでVRC_Triggerを追加アタッチし、Advanced Modeにチェック、OnInteract(スイッチ)にします。
Actionsに追加していきます。
Actions
SetgameObjectActive
Receivers
爆発パーティクル
moffペン本体
OperationはToggleに。
※
Hierarchyにおける爆発パーティクルはGameObject下に属している必要があります。単独では動きません。GameObjectを作りその下に置きましょう。
爆発パーティクルはInspecotrでチェックを外して非表示にしておきます。(スイッチボタンを押すことで表示させたいので)
SendPC(Play)
Actions
SendPC(Play)
Receivers
音源(sound)
MethodはVRC_AudioBank.Playに。
Use Player IS as lastもチェックを外す。
BGMやSEの音楽の鳴らし方は
【Unity/VRChat】ワールドにBGM音楽を流す方法[ON/OFFスイッチを作る]
画像だけ載せておきます。
SetgameObjectActive②
2つ目のSetgameObjectActiveをつけます。ここではMoffペンをリセットさせます。
Actions
SetgameObjectActive
Receivers
Moffペンのクリアロックボタン
Moffペンのクリアボタン
Moffペンのクリアコントロールボタン
OperationでTrueにします。
スイッチを押すと有効化されて消えるということです。
Moffペン本体にOnDestroyをつける
MoffPen本体にもAdd ComponentでVRC_Triggerを追加アタッチし、Advanced Modeにチェックします。
そして本体が消えてくれるようにOnDestroyにします。
Actions
SetGameObjectActive
Receivers
MoffPen本体
OperationはTrue
最後に
Moffペン自体が文字の記憶回路が別にあるため、単純にオブジェクトのスポーンではリセットしなかったのでクリアの機構にそのまま働きかけることで文字を外部から制御することにしました。
対象が外部制御されているMoffペンであったためにスイッチで消すことに苦労しました。
Moffペン以外であればSetgameObjectActive②の手順は必要ありません。
Spawnを仕込めば再生成してくれます。
何らかの参考になれば幸いです。