Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
오디오 스트림
소개
:ref:`doc_audio_buses`에서 이미 읽었듯이 사운드는 AudioStreamPlayer 노드를 통해 각 버스로 전송됩니다. AudioStreamPlayer에는 다양한 종류가 있습니다. 각각은 AudioStream을 로드하고 재생합니다.
오디오스트림
오디오 스트림은 소리를 방출하는 추상 개체입니다. 사운드는 여러 위치에서 나올 수 있지만 가장 일반적으로 파일 시스템에서 로드됩니다. 오디오 파일은 AudioStream으로 로드되고 AudioStreamPlayer 내부에 배치될 수 있습니다. :ref:`doc_importing_audio_samples`에서 지원되는 형식과 차이점에 대한 정보를 확인할 수 있습니다.
:ref:`AudioStreamRandomizer<class_AudioStreamRandomizer>`와 같은 다른 유형의 AudioStream이 있습니다. 이는 재생될 때마다 스트림 목록에서 다른 오디오 스트림을 선택하고 임의의 피치 및 볼륨 이동을 적용합니다. 이는 자주 재생되는 사운드에 변형을 추가하는 데 도움이 될 수 있습니다.
오디오스트림플레이어
이것은 위치가 없는 표준 스트림 플레이어입니다. 모든 버스에서 재생할 수 있습니다. 5.1 사운드 설정에서는 오디오를 스테레오 믹스 또는 전면 스피커로 보낼 수 있습니다.
재생 유형은 실험적인 설정이며 Godot의 향후 버전에서 변경될 수 있습니다. 이는 대부분의 플랫폼과 달리 웹 내보내기에서 모든 사운드를 브라우저로 스트리밍하는 대신 웹 오디오-API 기반 샘플을 사용하도록 존재합니다. 이렇게 하면 단일 스레드 웹 내보내기에서 오디오가 왜곡되는 것을 방지할 수 있습니다. 기본적으로 웹 플랫폼에서만 샘플을 사용합니다. 명시적인 이유가 없는 한 이 설정을 변경하지 않는 것이 좋습니다. 오디오 > 일반 아래의 프로젝트 설정에서 웹 및 기타 플랫폼에 대한 기본 재생 유형을 변경할 수 있습니다(설정을 보려면 고급 설정을 켜야 합니다).
AudioStreamPlayer2D
이것은 AudioStreamPlayer의 변형이지만 2D 위치 환경에서 사운드를 방출합니다. 화면 왼쪽에 가까우면 패닝이 왼쪽으로 이동합니다. 오른쪽에 가까우면 오른쪽으로 갈 것입니다.
참고
Area2D는 포함된 AudioStreamPlayer2D의 사운드를 특정 버스로 전환하는 데 사용할 수 있습니다. 이를 통해 게임 세계의 특정 부분에서 발생하는 동작을 처리하기 위해 다양한 리버브 또는 사운드 품질을 갖춘 버스를 생성할 수 있습니다.
오디오스트림플레이어3D
이것은 AudioStreamPlayer의 변형이지만 3D 위치 환경에서 사운드를 방출합니다. 화면을 기준으로 한 플레이어 위치에 따라 선택한 오디오 설정에 따라 사운드를 스테레오, 5.1 또는 7.1로 배치할 수 있습니다.
AudioStreamPlayer2D와 마찬가지로 Area3D는 사운드를 오디오 버스로 전환할 수 있습니다.
2D와 달리 AudioStreamPlayer의 3D 버전에는 몇 가지 고급 옵션이 더 있습니다.
리버브 버스
경고
AudioStreamPlayer의 재생 모드가 기본값인 **Sample**로 설정된 경우 웹 플랫폼에서는 이 기능이 지원되지 않습니다. 재생 모드가 **스트림**으로 설정된 경우에만 작동하지만 스레드가 활성화되지 않으면 대기 시간이 늘어납니다.
자세한 내용은 :ref:`웹용으로 내보내기 설명서의 오디오 재생 <doc_exporting_for_web_audio_playback>`를 참조하세요.
Godot는 특정 Area3D 노드에 들어가는 3D 오디오 스트림을 허용하여 건조하고 젖은 오디오를 별도의 버스로 보냅니다. 이는 다양한 유형의 방에 대해 여러 가지 리버브 구성이 있을 때 유용합니다. 이는 Area3D 속성의 Reverb Bus 섹션에서 이러한 유형의 반향을 활성화하여 수행됩니다.
동시에 각 Area3D가 각 Area3D로부터 리버브 정보를 수신하는 특수 버스 레이아웃이 생성됩니다. 원하는 효과에 대한 설정을 완료하려면 각 리버브 버스에서 리버브 효과를 생성하고 구성해야 합니다.
Area3D의 Reverb Bus 섹션에는 **Uniformity**라는 매개변수도 있습니다. 일부 유형의 방은 다른 유형(예: 창고)보다 바운스 사운드가 더 많이 들기 때문에 음원이 멀리 떨어져 있어도 반향이 방 전체에 걸쳐 거의 균일하게 들릴 수 있습니다. 이 매개변수를 가지고 실험하면 해당 효과를 시뮬레이션할 수 있습니다.
도플러 효과
경고
AudioStreamPlayer의 재생 모드가 기본값인 **Sample**로 설정된 경우 웹 플랫폼에서는 이 기능이 지원되지 않습니다. 재생 모드가 **스트림**으로 설정된 경우에만 작동하지만 스레드가 활성화되지 않으면 대기 시간이 늘어납니다.
자세한 내용은 :ref:`웹용으로 내보내기 설명서의 오디오 재생 <doc_exporting_for_web_audio_playback>`를 참조하세요.
방사체와 청취자 사이의 상대 속도가 변경되면 이는 방출되는 사운드의 피치가 증가하거나 감소하는 것으로 인식됩니다. Godot는 AudioStreamPlayer3D와 카메라 노드의 속도 변화를 추적할 수 있습니다. 두 노드에는 모두 수동으로 활성화해야 하는 다음 속성이 있습니다.
개체 이동 방법에 따라 설정하여 활성화합니다. ``_process``를 사용하여 이동한 개체에는 **Idle**을 사용하고, ``_physics_process``를 사용하여 이동한 개체에는 **Physics**를 사용합니다. 추적은 자동으로 이루어집니다.