【Unity】Visual Scriptingでプレイヤーが当たったら音が出るゲームオブジェクトを作る

Unity

スポンサーリンク

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(赤)に当たったら音が鳴る。

Unity

Posted by ton