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' 카테고리의 다른 글
Unity)다중 Scene 로드 및 처리(Scene Additive) (6) | 2020.04.09 |
---|---|
문제해결)Unity) Error - AnimationEvent has no function name specified! (0) | 2020.02.28 |
Unity) 스크립트에서 자동으로 컴포넌트 추가하기 (0) | 2020.02.18 |
Unity) 플랫폼 의존 컴파일 (0) | 2020.02.12 |
Unity) NevMesh 사용해서 길찾기 (0) | 2020.01.10 |
댓글