Unity: AudioMixer, Resources를 알아보자

이재형·2024년 6월 20일
0
post-thumbnail
post-custom-banner

Unity 공부

배운 내용

1. AudioMixer로 사운드를 조절하는 SliderBar를 생성하자

1. Master불륨의 자식으로 BGM과 SFX를 생성한다.

2. 각 정보의 Volum의 설정을 스크립트에서 가능하게 추가해준다.

3. Mixer에서 접근할 이름 변경

public AudioMixer mixer;

public void SetMasterVolum(float sliderValue)
{
	// slider bar의 min값은 0.001, max는 1로 맞춘다.
    mixer.SetFloat("MusicVol" ,Mathf.Log10(sliderValue) * 20);
    // mixer는 최소 값은 -80dB 최대 값은 0dB이다.
    // 최소 값을 맞추기 위해서 20 * Mathf.Log10(0.0001) = 20 * -4 = -80 dB
    // 최대 값은 20 * Mathf.Log10(1) = 20 * 0 = 0 dB
}

4. 만들었던 Mixer를 드래그앤드롭을한다.

5. UI에서 Slider를 생성하고 만들었던 메서드를 추가한다.

6. 실행하고 소리의 출력이 달라지는지 확인한다.

설명: 게임에서 자주 보던 Master사운드와 그 자식의 사운드를 구현해보았다. AudioSource에 Output에 Mixer를 추가하고 스크립트에서 제어를 하는 구조라 어렵지는 않았지만 처음 사용을 해보았기 때문에 아직 헷갈린다 이번 프로젝트에서 구현해서 실전에 사용할 수 있도록 해야겠다.


2. Resources를 이용하여

사진:

사진:

private void AudioInit()
{
    GameObject bgm = Instantiate(Resources.Load<GameObject>("Sound/BGMSource"), transform);
    GameObject sfx = Instantiate(Resources.Load<GameObject>("Sound/SFXSource"), transform);
}

설명: 스크립트에서 public으로 Hierarchy에 있는 오브젝트들을 드래그앤드롭을 하는데 그거와 같이 프로젝트창에 있는 오브젝트들을 사용한다고 생각하면 편하다.
문제는 Resources에 있는 파일들은 첫 시작 시 같이 빌드? 되기 때문에 너무 많은 오브젝트를 추가하는 것은 좋지 않을 것 같다.


정리

배운 내용

1. Mixer: 여러 사운드를 제어할 때 사용
2. Resources: 프로젝트폴더에 있는 특정 파일을 가져올 때 사용

해결 못한 문제

1. 없음

문제점

1. 없음

profile
한국사람
post-custom-banner

0개의 댓글