UDN
Search public documentation:

UsingAmbientZonesKR
English Translation
日本語訳
中国翻译

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 홈 > 오디오 홈 > 앰비언트 존
UE3 홈 > 레벨 디자이너 > 앰비언트 존

앰비언트 존


문서 변경내역: Zak Belica 작성.

개요


AmbientZones는 저렴한 실내/실외 앰비언트 오디오 솔루션입니다. AmbientZones의 이점은 다음과 같은 것들이 있습니다.

  • 실내에서 실외로 공간 이동시 사운드 전환을 부드럽게 합니다.
  • 배치하고 내/외부 반복처리해 줘야 할 사운드 액터의 수가 더 적어 오디오 디자이너의 수작업이 줄어듭니다.
  • 실내와 실외를 정의하는데 필요한 사운드 액터의 수를 절약하기 때문에 게임 시스템에 걸리는 부하가 줄어듭니다.

퀵 가이드


  • ReverbVolume를 만들고, 큰 반경 루핑 사운드를 가진 AmbientSoundSimple을 볼륨 안에 배치하고, 2번째 큰 반경을 가진 AmbientSoundSimple 루핑 사운드를 볼륨 밖에 배치합니다.
  • ReverbVolume 매개 변수를 엽니다.
  • AmbientZone 매개 변수가 보이게 하기 위해 AmbientZoneSettings를 확장합니다.

AmbientZone_Settings.jpg

  • bInside 매개 변수를 True로 설정합니다. 이제 ReverbVolume은 활성 AmbientZone입니다.
  • ExteriorVolume을 .5로 설정합니다. 이것은 플레이어가 AmbientZone 안에 있는 경우 AmbientZone 밖에 있는 AmbientSounds의 최종 볼륨입니다.
  • ExteriorLPF를 .5로 설정합니다. 이것은 플레이어가 AmbientZone 안에 있는 경우 AmbientZone 밖에 있는 AmbientSounds의 최종 LowPassFilter입니다.

  • InteriorVolume을 .2로 설정합니다. 이것은 플레이어가 AmbientZone의 밖에 있는 경우 AmbientZone 안에 있는 AmbientSounds의 최종 볼륨입니다.
  • InteriorLPF를 .2로 설정합니다. 이것은 플레이어가 AmbientZone 밖에 있는 경우 AmbientZone 안에 있는 AmbientSounds의 최종 LowPassFilter입니다.

  • 지오메트리를 재빌드하고 방금 설정한 AmbientZone을 가진 ReverbVolume을 입력합니다.
  • AmbientZone 밖에 있는 AmbientSoundSimple은 .5 곱해진 볼륨을 갖고, LowPassFilter도 .5 배로 설정됩니다.
  • ReverbVolume을 종료합니다. 이제 ReverbVolume 밖에 있던 AmbientSoundSimple이 이전 볼륨과 LPF 설정으로 복원됩니다. ReverbVolume 안에 위치한 AmbientSoundSimple의 볼륨은.2 배 증가하고 LPF도 .2배 증가하여 매우 조용하게 됩니다.

역점을 둘 앰비언트 존의 현 문제


이전 버전의 오디오 시스템에서는 반경 기반의SoundActors를 사용하여 상세한 공간을 정의하기 어려운 일반적인 구현 문제가 있었습니다. 디테일을 달성하기 위해서는 다양한 반경을 가진 많은 SoundActors가 필요했습니다. 또한 레벨 지오메트리는 실외 공간으로 열려진(뚤린 벽이나 열려진 창문) 실내 공간을 포함할 수 있습니다. SoundActors는 오디오를 재생하기 위해 구체 반경만을 사용하기 때문에 레벨 지오메트리를 채우는데 작은 반경을 가진 다수의 SoundActors가 필요합니다. 이 문제의 설명은 다음과 같습니다. 실외 공간의 중앙에 상자 모양의 방이 있습니다. 빨간색 구체들은 실외 오디오이고, 파란색 구체는 파란색 사각형 볼륨의 실내입니다. 상자 형상을 사운드로 정확하게 채우려면 8개의 Outside Radius SoundActors와 8개의 Inside Radius SoundActors가 필요한 것에 유의하십시오.

AmbientZone_Problem.jpg

솔루션: 앰비언트 존


AmbientZones라는 솔루션이 이 문제를 해결하기 위해 구현되었습니다. "AmbientZoneSettings"라는 새 매개 변수 그룹이 모든 Reverb Volumes에 추가됩니다. AmbientZone의 설정이 관련된 Reverb Volume 내부와 외부에 위치한 SoundActors가 플레이어의 위치에 따라 어떻게 변화되는지를 정의합니다.

이것이 어떻게 작동하는지에 대한 간단한 예제는 다음과 같습니다. 사각형의 녹색 볼륨은 AmbientZone 볼륨, 보라색 구체는 AmbientZone 안에 위치한 SoundActor이고, 빨간색 구체는 AmbientZone 밖에 위치한 SoundActors입니다.

AmbientZone_Solution.jpg

AmbientZone 볼륨의 행동은 다음과 같습니다.

  • 플레이어가 AmbientZone의 밖에 있는 경우 AmbientZone 안에 위치한 SoundActors에는 볼륨 멀티플라이어와 LPF 효과를 적용됩니다(이러한 값은 AmbientZoneSettings에 정의되어 있습니다).
  • 따라서 플레이어가 AmbientZone에 들어가면 그 AmbientZone 안에위치한 SoundActors가 지정한 페이드 시간에 걸쳐 볼륨과 LPF에 대해 1.0 멀티플라이어를 반환합니다. 동시에 AmbientZone 밖에 위치한 모든 SoundActors에는 지정된 페이드 시간에 걸쳐 볼륨과 LPF 멀티 플라이어가 모두 적용됩니다. 여기에서도 볼륨, LPF, 페이드 시간의 값은 AmbientZoneSettings에서 정의됩니다.
  • 플레이어가 AmbientZone을 나오면 AmbientZone 밖에 있는 SoundActors는 이전 페이드 시간을 사용하는 이전의 기본 볼륨 및 LPF 값으로 돌아가고, AmbientZone 안쪽에 위치한 SoundActors는 AmbientZone의 AmbientZoneSettings를 통해 볼륨 멀티플라이어와 LPF 값을 변경합니다.

사용 가능한 매개 변수는 다음과 같습니다.

AmbientZone_Settings.jpg

Setting Use
bInside 이 볼륨에 대해 AmbientZone 기능을 사용할지 여부 입니다(True, False). 이 매개 변수가 False로 설정되면 AmbientZone 볼륨은 새로운 'ExteriorVolume' 기본으로서의 역할을 수행합니다.
ExteriorVolume (플레이어가 이 AmbientZone 안에 있을 경우의 실외 사운드의 최종 볼륨입니다.)
ExteriorTime (새 실외 볼륨으로 페이드해가는 시간(초))
InteriorVolume (플레이어가 이 AmbientZone 밖에 있을 경우의 실내 사운드의 최종 볼륨입니다.)
InteriorTime (새 실내 볼륨으로 페이드해가는 시간(초))
ExteriorLPF (내부에 있는 경우 실외 사운드에 적용되는 Lowpass 필터 멀티플라이어 (최대 LPF를 적용하려면 0.1입니다))
ExteriorLPFTime (새 lowpass 필터 레벨로 페이드해가는 시간(초))
InteriorLPF (외부에 있는 경우 내부 사운드에 적용되는 Lowpass 필터 멀티플라이어 (최대 LPF를 적용하려면 0.1입니다))
InteriorLPFTime (새 lowpass 필터 레벨로 페이드해가는 시간(초))

구현 가이드의 예제


다음은 이 행동을 설명하는데 도움이 되는 실제 상황 예제입니다.

도시 식당의 예제

도시의 거리를 향해 열린 문을 가진 식당 영역을 포함하는 맵이 있습니다. 플레이어가 식당 밖에 있으면 거리의 교통의 소리가 들을 수 있고, 식당의 소리는 낮은 볼륨이고 미세하게 약한 소리로 들릴 것입니다. 플레이어가 식당에 들어가면 식당 소리는 더 커지고 선명하게 되고, 도로의 교통의 소리는 상당히 조용해지고 약한 소리고 들리게 됩니다. 플레이어가 식당에서 나오면 이전의 오디오 밸런스가 복원됩니다. 이 효과를 달성하기 위해서는 다음과 같아야 합니다.

  • 식당 안에 Reverb Volume을 레스토랑의 크기로 만듭니다.
  • Reverb Volume 속성에서 AmbientZoneSettings를 엽니다.
  • InteriorVolume을 .6으로 그리고 InteriorLPF를 .4로 설정합니다.
  • ExteriorVolume을 .4로 그리고 ExteriorLPF를 .2로 설정합니다.
  • 교통 소리를 재생하기 위해 큰 반경을 가진 AmbientSoundSimple을 거리에 배치합니다.
  • 식당 소리를 재생하기 위해 큰 반경을 가진 AmbientSoundSimple을 식당에 배치합니다.
  • 맵 지오메트리를 다시 빌드합니다. 이것은 Reverb Volume으로 하여금 안에 어떤 SoundActors가 있는지를 강제로 확인하도록 합니다.
  • 오디오의 변화를 듣기 위해 Reverb Volume 들어 갔다 나옵니다. 본 예제에서 모든 페이드 시간은 .5 초로 기본 설정됩니다.

수직 공간의 예제

사운드 반경은 구체형이므로 좁은 실내 공간에서 수직으로 겹쳐 쌓이는 경우 문제를 일으킬 수 있습니다. AmbientZones는 이 문제를 해결하는 데 도움이 됩니다. 다음은 일부 예제입니다.

  • 여러 층의 건물: 큰 반경의 앰비언트 사운드는 상 또는 하층으로 유출되지 않고 건물의 각 수직 레벨에 배치될 수 있습니다.
  • 교량: 사운드 유출 없이 고유한 앰비언트 오디오 및 리버브 설정을 다리 위 아래에 설정할 수 있습니다.

벽 제어의 예제

벽: 앰비언트 사운드는 방의 벽에 위치하고 플레이어가 벽 반대편(방의 밖)에 있을 경우 오디오를 억제합니다.

특별 영역 믹스 제어의 예제

도시 거리의 디테일: AmbientZones은 플레이어가 오디오의 관심 지점(POI)에 근접하는 경우 경우 교통과 도시의 소음의 믹스를 제어할 수 있게 합니다. 예를 들면 AmbientZone을 AmbientZone 안에 있을 경우 도시의 볼륨을 낮추는 거리 판매상 주위에 배치할 수 있습니다.

구현 도움말


Ambient soundclass에 지정된 AmbientSoundSimple 액터와 SoundCues만이 AmbientZones의 영향을 받습니다.

AmbientZone 볼륨과 LPF 변경 사항은 다음과 같은 AmbientSoundSimple 액터에 적용됩니다.

  • AmbientSoundSimple
  • AmbientSoundNonLoop
  • AmbientSoundSimpleToggleable

AmbientZones는 또한 Ambient soundclass에 설정된 재생되는 모든 SoundCue에 적용됩니다. 따라서 다음과 같은 액터는

  • AmbientSound
  • AmbientSoundMoveable

사용되는 SoundCues가 Ambient soundclass로 설정된 것을 전제로 Kismet PlaySound와 Matinee Soundtrack 이벤트와 마찬가지로 영향을 받습니다.

AmbientZones의 기본값

  • WorldInfo 속성내의 WorldInfo->DefaultAmbientZoneSettings하에서 설정될 수 있습니다.

다중 AmbientZones 및 큰 반경을 가진 SoundActors 실내 동작

AmbientZones의 명심해야 할 또 다른 측면은 SoundActor의 감쇠 반경이 동시에 여러 AmbientZones에서 들릴 정도로 충분히 큰 경우 InteriorVolume과 InteriorLPF이 AmbientZones에 걸쳐 additive가 된다는 것을 명심하십시오. 이 동작의 목적은 Internal 볼륨과 LPF가 다른 AmbientZone에 들어가서 재정의되는 못하게 하는 것입니다. 따라서 플레이어가 사이렌의 AmbientZone 밖에 있는 겨우 사이렌 소리가 낮은 볼륨이 되도록 LPF와 함께 설정하면, 다른 ExteriorVolume과 ExteriorLPF 설정을 가진 또 다른 AmbientZone에 들어가면 LPF와 함께 조용한 상태를 유지합니다. 이 동작은 오디오의 "현실 세계" 행동을 모방하며 AmbientZone 동작과도 일관됩니다. 이 동작의 예제는 다음과 같습니다.

  • 레벨에 AmbientZone A와 AmbientZone B인 2개의 AmbientZone이 있습니다.
  • AmbientZone A는 큰 감쇠 반경(AmbientZone B 안에서 들리는 정도로 충분히 큰)을 가진 반복 사운드를 재생하는 SoundActor 1을 포함하고, .5의 InteriorVolume과 .4의 InteriorLPF를 갖습니다.
  • AmbientZone B는 1.0의 ExteriorVolume과 0의 ExteriorLPF를 갖습니다.
  • 플레이어가 AmbientZone A의 밖에 있는 경우 플레이어는 .5 InteriorVolume과 .4 InteriorLPF에서 SoundActor 1가 재생되고 있는 것을 듣습니다.
  • 이제 플레이어가 AmbientZone B에 들어갑니다.
  • SoundActor 1에 대해 AmbientZone A를 통해 설정된 InteriorVolume과 InteriorLPF는 AmbientZone B에서의 1.0 ExteriorVolume과 .5 ExteriorLPF에 의해 곱해집니다. 그 결과 플레이어가 AmbientZone B 안에 있는 동안 SoundActor 1의 볼륨은 .5로 설정되고 LPF는 .2로 설정됩니다.

bInside 설정

  • 이 True/False 설정은 AmbientZone 을 활성화된 것으로 정의하는데 사용됩니다. 기본적으로 플레이어가 어떠한 AmbientZones 밖에 있는 경우 모든 앰비언트 soundactors는 기본 1.0 볼륨 1.0 LPF 설정으로 재생합니다.

: 업데이트된 AmbientZone 기능으로 인해 Inside? 개념은 삭제되습니다. AmbientZone 볼륨은 이제 기능의 일부로써 항상 'Inside'로 설정되기 때문입니다.

지오메트리를 다시 빌드해야 하는 것을 기억할 것

  • 사운드 액터를 AmbientZone 볼륨 안에 배치하면 레벨의 지오메트리를 반드시 다시 빌드해야 합니다. 이 때 사운드 액터의 위치를 결정하기 위해 검사가 수행되기 때문입니다. 지오메트리가 다시 빌드되었으면 모든 AmbientZone 매개 변수는 에디터에서 자유롭게 변경할 수 있습니다.