Unity2021から標準パッケージとなった”Visual Scripting(ビジュアルスクリプティング)”(旧Bolt)を使用して、プレイヤー(”Player”タグが付いたゲームオブジェクト)が当たると音が出るゲームオブジェクトの作り方を紹介します。
プレイヤーとしては以下を使います。
完成動作
プレイヤー(unitychan)がCylinder(赤)に当たったら音が出ます。
作り方
1.シーンに各オブジェクトを配置
1-1.以下のように配置する。床をPlane、プレイヤーをunitychan、当たったら音が鳴るゲームオブジェクトをCylinder(赤)とした。

2.Cylinderに”Audio Source”コンポーネントを追加
2-1.Cylinderに”Audio Source”コンポーネントを追加
※値はデフォルトのままでよい。これがないと音が鳴らない(音楽プレイヤーの役割)


3.プレイヤー(”Player”タグが付いたゲームオブジェクト)に当たったら音が出るビジュアルスクリプトを作成
3-1.Cylinderに”Script Machine”コンポーネントを追加


3-2.以下のような変数を作成

3-3.Valueに鳴らしたい音のファイルをアタッチ

3-4.”Graph”プロパティの”New”ボタンを押下

3-5.ファイルの保存ダイアログが開かれるので任意の場所にPlaySoundという名前で保存する。

3-6.”Edit Graph”ボタンを押下して、以下のようにグラフを作成する。
※今回はSound変数の音を一度だけ(Play One Shot)実行するようにした。

4.Colliderの”Is Trigger”にチェックは入れない
4-1.音を鳴らしたいゲームオブジェクト(Cylinder)のCapsule Colliderの”Is Trigger”にチェックを入れない。
※ここにチェックが入っているとOnCollisionEnterイベントではなく、OnTriggerEnterイベントが発火してしまう。デフォルトではチェックは入っていないので大丈夫。

5.プレイヤーオブジェクトのTagに”Player”を設定
5-1.プレイヤーオブジェクト(今回はunitychan)のTagに”Player”を設定

完成
プレイヤー(unitychan)がCylinder(赤)に当たったら音が鳴る。
コメント