プレイヤーに当たったら音が出るブロックを作る方法を紹介します。
プレイヤーとしては以下を使います。
完成動画
やり方
音が出るGameObjectを作成
1.例としてCylinderを設置します。名前はCylinderPlayAudioにします。

プレイヤーが当たったら音が出るスクリプトを作成する
1.PlayAudio.csという名前のスクリプトを作成して、以下のコードを記載する。
using UnityEngine;
//AudioSourceコンポーネントが存在していない場合はアタッチされるようにする
[RequireComponent(typeof(AudioSource))]
public class PlayAudio : MonoBehaviour
{
// 音データの再生装置を格納する変数
private AudioSource audioSource;
// 音データを格納する変数(Inspectorタブからも値を変更できるようにする)
[SerializeField]
private AudioClip sound;
// Start is called before the first frame update
void Start()
{
// ゲームスタート時にAudioSource(音再生装置)のコンポーネントを加える
audioSource = gameObject.GetComponent<AudioSource>();
}
/// <summary>
/// 衝突した時
/// </summary>
/// <param name="collision"></param>
void OnCollisionEnter(Collision collision)
{
// 衝突した相手にPlayerタグが付いているとき
if (collision.gameObject.tag == "Player")
{
// 音(sound)を一度だけ(PlayOneShot)再生する
audioSource.PlayOneShot(sound);
}
}
}
スクリプトを音を出したいGameObjectにアタッチする
1.PlayAudio.csを音を出したいGameObject(CylinderPlayAudioオブジェクト)にアタッチする。

PlayAudioスクリプト(コンポーネント)に音を設定
1.HierarchyタブでCylinderPlayAudioオブジェクトを選択

2.InspectorタブのPlay Audio(Script)のSoundに好きな音データを入れる
※Audio SourceコンポーネントはスクリプトにRequireComponentで定義しているので自動でアタッチされる

2-1.音データをドラックアンドドロップで入れる

2-2.Soundに音データが入っていることを確認

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

完成
これでプレイヤーが音が出るGameObject(CylinderPlayAudioオブジェクト)にぶつかると、音が出る。
コメント
Very good information. Lucky me I found your website by chance
(stumbleupon). I have bookmarked it for later!