본문 바로가기
개발/Unity

Unity) 3D Audio Sound

by 테샤르 2020. 2. 21.

3D Audio Sound

 

Uniy 3D에서는  3D 공간을 기반으로 사운드가 재생이 가능하다.

Audio Listener의 위치를 기반으로 사운드의 distance를 이용해서 내부에서 처리하는 듯하다.

 

오디오의 설정은 다음과 같다.

3D Sound Setting 의 거리나 볼륨 등 수치를 설정하면 된다. 

도플러 효과는 소리를 듣는 리스너가 움직이는 속도 등에 따라 소리가 다르게 들리는 정도이다.

 

설정은 다음과 같다.

 

3D Sound Settings Spatial Blend 매개 변수에 비례하여 적용되는 설정.
Doppler Level 이 오디오 소스에 적용될 도플러 효과의 양을 결정합니다 (0으로 설정 한 경우 효과가 적용되지 않음).
Spread 스피커 공간에서 확산 각도를 3D 스테레오 또는 멀티 채널 사운드로 설정합니다.
Min Distance MinDistance 내에서 사운드는 최대한 크게 유지됩니다. MinDistance 외부에서는 감쇠가 시작됩니다. 사운드의 MinDistance를 증가시켜 3d 세계에서 '더 크게'만들고, 감소시켜 3d 세계에서 '더 조용하게'만듭니다.
Max Distance 사운드가 감쇠를 멈추는 거리. 이 지점을 넘어 서면 청취자의 MaxDistance 단위에 있는 음량으로 유지되며 더 이상 감쇠되지 않습니다.

 

처음에는 Listener의 개념을 잘 이해하지 못해서 삽질을 좀 했었다. 3D World에 사운드를 생성하고 3D World의 카메라를 타겟 할 본인(Player)에 Audio Listener를 붙여주니 정상적으로 확인할 수 있었다.

Audio Listener는 Only One 이기 때문에 상황에 맞게 enable과 disable로 적절히 컨트롤했다.

 

리스너의 위치가 변하지 않는 상황이면 AudioSource.PlayClipAtPoint 를 사용하면 간편하게 해결된다.

var clip : AudioClip
AudioSource.PlayClipAtPoint(clip, new Vector3(5f,0f,0f));

Unity 에서는 Audio Listener를 한개만 지원하기 때문에 두개이상이 되면 경고가 뜬다.

 

Unity Audio Source : [링크]

 

오디오 소스 - Unity 매뉴얼

오디오 소스(Audio Source) 는 씬에서 오디오 클립을 재생합니다. 이 클립은 오디오 리스너 또는 오디오 믹서를 통해 재생 가능합니다. 오디오 소스는 모든 종류의 오디오 클립을 재생할 수 있으며,

docs.unity3d.com

 

 ★☆

반응형

댓글