unity sound trigger 특정 위치에서 소리 출력하기

  • Hierarchy창 빈공간 마우스 우클릭
  • 3D Object > Cube 선택하여 큐브 생성
  • inspector창에서 MashRenderer 체크 해제

  • 큐브를 Player와 부딧칠 수 있도록 경로상에 배치

스크립트 생성

  • Project창 마우스 우클릭 Create > c# script
  • 이름을 SoundTrigger로 지정
  • 다음의 내용을 작성
using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;

public class SoundTrigger : MonoBehaviour
{
    private AudioSource audioSource;
    public void Start()
    {
        audioSource = GetComponent<AudioSource>(); // audioSource를 가져옴
    }
    public void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("Player")) // trigger 안에 들어온 object가 player인지 확인
        {
            audioSource.Play(); // trigger 안에 들어온 object가 player라면 audioSource를 재생
        }
    }
}

  • 작성된 스크립트를 cube에 드래그 드랍하여 전달

  • cube에 mp3파일을 드래그 드랍
  • AudioSource componant가 자동으로 생성됨

  • AudioSource componant의 Play On Awake(깨어나면 재생) 항목을 체크 해제

Follower를 Player로 설정, 충돌할 수 있도록 컴퍼넌트 추가

  • Follower 선택 후, inspector 창에서 addComponent클릭
  • 검색창에 Collider 입력 BoxCollider 선택

  • addCompoment 클릭
  • 검색창에 rigid 입력 RigidBody 선택

  • Follower선택
  • tag 선택 Player로 설정