🔔 유튜브 크리에이터 골든메탈님의 유니티강의 3D 쿼터뷰 액션게임 [BE5] 를 보고 공부하여 작성한 게시글입니다! 🔔
사운드에 관한 부분은 관리하고 싶은 방식대로 해보았습니다. 나중에 효율적인 방법이 있다면 점점 저만의 사운드 관리법을 만들어서, 저장하고 사용하면 좋을 것 같습니다.
🧷 1. 사운드 추가
- 사운드 관리 오브젝트 추가
Sound Control 이라는 오브젝트 속, 각 사운드의 Source들이 담긴 오브젝트를 만들고 넣어줬습니다.
이는 Sound Control 이라는 새로운 스크립트를 만들어, 각 소리 요소를 담아주었습니다.
🧷 2. 사운드 소리내기
- 각 스크립트 동작마다 사운드 플레이
public SoundControl soundControl;
soundControl 스크립트를 가져올 변수를 지정하여, 플레이어 혹은 Game Manager에 컴포넌트를 부착 시켜줍시다.
이후에,
void Move()
{
// 걸을 때, 나는 소리
if(soundControl.walkSound.isPlaying == false && moveVec != Vector3.zero && !isJump && !isDodge && !isDead) {
soundControl.walkSound.volume = Random.Range(0.1f, 0.2f);
if (rDown)
soundControl.walkSound.pitch = Random.Range(2.6f, 2.65f);
else
soundControl.walkSound.pitch = Random.Range(2.1f, 2.2f);
soundControl.walkSound.Play();
}
}
soundControl.(사운드 컴포넌트). Play()를 통하여, 소리가 날 수 있도록 만들어 주었습니다.
- 추가한 소리
저는 위와 같은 종류로 각 효과음에 대하여, 추가하고 동작시마다 사운드를 플레이 하도록 만들었습니다.
제가 한 방법은 효과적으로 관리하는 방법이 아니므로, 효율성을 점점 높혀가는 코드를 짜야합니다.