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로 설정