버전
menu_open
알림: 고객님의 주요 출시 버전( 2022.1.13.8454 )에 해당하는 최신 설명서로 이동했습니다. 특정 버전의 설명서를 보시려면 Audiokinetic 런처에서 오프라인 설명서를 다운로드하고 Wwise Authoring의 Offline Documentation을 확인하세요.
Wwise Unreal Integration Documentation
Wwise Unreal Niagara(나이아가라) 통합 사용하기

Unreal의 Niagara VFX 시스템을 사용하면 복잡한 효과 시스템을 시각적 프로그래밍 방법으로 구축할 수 있습니다. Niagara 시스템에 대한 자세한 내용은 나이아가라 개요를 참고하세요.

Wwise Unreal 통합은 Niagara 시스템에서 Wwise Event를 게시하고 업데이트하는 데 필요한 코드 및 Niagara 모듈을 제공합니다.

플러그인 활성화하기

Engine이나 Game 플러그인의 형태로 설치할 수 있습니다. Wwise Unreal Engine 통합 플러그인과 함께 자동으로 설치됩니다. 플러그인을 설치한 후 Unreal Editor에서 활성화할 수 있습니다. 그러려면 Edit > Plugins를 선택하고 Wwise Niagara Integration을 선택하세요.

Niagara Wwise Event Data Interface

통합에는 Wwise Event용 Niagara Data Interface가 포함되어 있으며, 이를 사용하면 Niagara 시스템에서 Wwise Event 및 Game Parameter 에셋을 참조할 수 있습니다. 이러한 Data Interface는 오직 Niagara CPU 시뮬레이션과 호환됩니다. 이를 사용하면 망각형(fire-and-forget) Event뿐만 아니라 시뮬레이션이 진행됨에 따라 제어할 수 있는 퍼시스턴트 Event도 게시할 수 있습니다. 퍼시스턴트 Event의 경우 데이터 인터페이스는 게시된 Event에 파티클이나 이미터 인스턴스를 매핑하는 데 사용되는 내부 "오디오 핸들(audio handle)"을 추적합니다.

참고:GPU 시뮬레이션에서 Wwise Events를 사용하려면 Particle Data를 블루프린트로 내보내기 에서 안내된 것과 같이 Export Particle Data Module을 사용하면 됩니다.

매개 변수:

  • Event to Post (필수): 게시할 AkAudioEvent 에셋.
  • Max Plays per Tick (기본: 10): Tick당 게시되는 최대 이벤트의 수를 설정합니다. 주어진 틱에서 더 많은 파티클이 사운드를 재생하려고 하면 해당 제한에 도달할 때까지 사운드가 재생되고 나머지는 취소됩니다.
  • Stop when Component is Destroyed (기본: True): Niagara 컴포넌트가 파괴되면(파티클이 소멸되거나 시스템이 중지 또는 파괴되는 경우) Event를 중지합니다. 루핑 사운드는 컴포넌트가 파괴되면 항상 중지됩니다.
  • Only active During Gameplay (기본: False): 게임플레이가 활성화되는 동안에만 사운드를 처리하고 뷰포트에서 Realtime Rendering을 사용하는 동안에는 사운드를 처리하지 않습니다. 이는 미리보기 창에서 작업하면서 사운드를 듣고 싶지 않을 때 유용합니다.
  • Game Parameters: Set Wwise Persistant Event Game Parameter 모듈에서 (인덱스를 통하여) 업데이트된 Game Parameter 세트입니다.

Niagara 모듈

Niagara Wwise Event Data Interface는 Event 게시, 재생 및 GameObject 매개 변수를 업데이트하는 함수를 구현합니다. 이러한 함수는 Niagara 모듈에서 사용할 수 있지만 Niagara 이미터 스택에서는 직접 사용할 수 없습니다. 통합에는 이러한 각 함수를 Niagara 스택에 노출하는 기본 Niagara 모듈 세트가 포함되어 있습니다.

참고:이러한 모듈은 플러그인에 포함되어 있으며 스크립트에 새 모듈을 추가할 때 Add new Module 항목에 나타나도록 하려면 Plugins 필터를 선택해야 합니다.

Post Wwise Event at Location

매개 변수:

  • Post Event Condition (기본: True): Event를 게시하기 위해 충족해야 하는 불리언 조건.
  • Position (기본: System/Emitter/Particle position): 게시된 Event의 공간적 위치.
  • Rotation (Default: 0): 게시된 Event의 회전 위치.
  • Wwise Event Data (필수): A Niagara Wwise Event Data Interface.
  • Position Coordinate Space (기본: Simulation): Position 좌표에 사용되는 좌표 시스템. Emitter 설정에 맞도록 Simulation으로 설정하고(이 경우 World 좌표는 Wwise로 보내집니다), Local은 이미터에 상대적인 위치로 설정하며, World는 World 공간을 사용합니다.

동작:

이 모듈은 파티클이나 이미터의 수명 기간 동안 관리가 필요하지 않은 "fire-and-forget"(망각형) Event를 게시합니다. 이 모듈은 지정된 위치와 방향으로 임시 GameObject에 Event를 게시합니다.

참고:지속 시간이 무한한 Event는 StopAll() 외부에서 중지할 수 있는 방법이 없기 때문에 이러한 방법을 사용해서 게시할 수 없습니다.
경고: 짧은 시간 내에 많은 Wwise Event가 파티클 시스팀에서 게시되면 사운드 엔진에 과부하가 걸릴 수 있습니다. 프레임당 게시할 수 있는 Event의 수를 제한하거나 Wwise 프로젝트에서 재생 제한을 설정하세요.

Post Wwise Persistent Event

매개 변수:

  • Post Event Condition (기본: True): Event를 게시하기 위해 충족해야 하는 불리언 조건.
  • Position(기본: System/Emitter/Particle position): 게시된 Event의 공간적 위치.
  • Rotation(기본설정: 0): 게시된 Event의 회전 위치.
  • Wwise Event Data (필수): A Niagara Wwise Event Data Interface 업데이트될 때 퍼시스턴트 Event를 참조하는 "Niagara Wwise Event Data Interface".
  • Position Coordinate Space (기본: Simulation): Position 좌표에 사용되는 좌표 시스템. Emitter 설정에 맞도록 Simulation으로 설정하고(이 경우 World 좌표가 Wwise로 올바르게 보내집니다), Local은 이미터에 상대적인 위치로 설정하며, World는 World 공간을 사용합니다.

동작: 해당 회전 위치를 사용해서 지정된 위치에 AkComponent를 만들고 제공된 Event를 게시합니다. 게시된 Event의 AkComponent 가 모듈의 업데이트 루프로 인해 활성 상태로 유지됩니다. 이렇게 하면 파티클이 파괴되거나 컬링되는 경우 AkComponent 가 파괴되어 메모리가 낭비되지 않습니다. Update 스크립트(System, Emitter, Particle)에서 모듈이 업데이트되지 않으면 AKComponents 가 파괴됩니다. 이 경우 게시 이후 오디오의 한 프레임이 재생되고 즉시 종료됩니다. 게시된 Event의 구성 요소가 삭제될 때 해당 Event를 중지할지 여부는 Niagara Wwise Event Data Interface의 Stop when Component is Destroyed 설정에 따라 다릅니다.

이 모듈이 Niagara 시스템의 Update 단계에 있다면 Event는 Post Event Condition이 충족될 때 인스턴스(이미터나 파티클)당 한 번만 게시되고 AkComponent 가 활성 상태로 유지됩니다. 업데이트 단계에서 다른 퍼시스턴트 Event 모듈이 사용되고 있는 경우 AkComponent 는 활성 상태로 유지되며 대신 Post Persistant Event 모듈이 이미터 스택의 Spawn 단계에 배치될 수 있습니다.

참고:Persistent Event를 사용할 때, 같은 퍼시스턴트 Event를 처리하는 모듈에서 Wwise Event Data 매개 변수에 같은 값을 사용하는 것이 중요합니다. 이렇게 같은 값을 사용하면 각 파티클과 관련된 인스턴스 데이터를 다른 모듈에서 사용할 수 있습니다. 이러한 값에는 User, System, Emitter 레벨등이 있습니다.

다음 모듈을 사용해서 퍼시스턴트 Event의 재생을 제어하고, AkComponent의 GameObject에 Game Parameter를 설정하거나, AkComponent의 위치와 방향을 업데이트한 다음 사운드 엔진에서 GameObject를 업데이트할 수 있습니다.

Update Wwise Persistent Event Position

매개 변수:

  • Position (기본: System/Emitter/Particle position): 게시된 Event의 공간적 위치.
  • Wwise Event Data (필수): Post Wwise Persistant Event에 설정된 Event Data 참조.
  • Position Coordinate Space (기본: Simulation): Position 좌표에 사용되는 좌표 시스템. Emitter 설정에 맞도록 Simulation으로 설정하고(이 경우 World 좌표는 Wwise로 보내집니다), Local은 이미터에 상대적인 위치로 설정하며, World는 World 공간을 사용합니다.

동작:

AkComponent 의 위치를 설정합니다.

Update Wwise Persistent Event Rotation

매개 변수:

  • Rotation (Default: 0): 게시된 Event의 회전 위치.
  • Wwise Event Data (필수): Niagara Wwise Event Data Interface.

동작:

AkComponent의 회전을 설정합니다.

Set Wwise Persistent Event Game Parameter

매개 변수:

  • Game Parameter Index (기본: 0): Wwise Event Data의 "Game Parameter" 배열에 있는 Game Parameter의 인덱스.
  • Game Parameter Value (기본: 0): 원하는 Game Parameter 값
  • Wwise Event Data (Required): Wwise Event Data Interface에 대한 참조.

동작:

AkComponent의 GameObject에 Game Parameter 값을 설정합니다.

Stop Wwise Persistent Event

매개 변수:

  • Stop Condition (기본: True): true인 경우 Event 재생을 중지합니다.
  • Wwise Event Data (Required): Wwise Event Data Interface에 대한 참조.

Pause Wwise Persistent Event

매개 변수:

  • Pause Condition (기본: True): true인 경우 Event 재생을 일시 중지합니다. false인 경우 재생이 재개됩니다.
  • Wwise Event Data (Required): Wwise Event Data Interface에 대한 참조.

활성 Event 제한하기에 관한 모범 사례

Wwise Event를 게시하는 Niagara 시스템을 설계할 때 Wwise Profiler를 면밀히 모니터링하세요. 생성된 파티클 수가 너무 많은 경우 Max Plays per Tick 매개 변수를 사용하면 SoundEngine의 로드를 제한하는 데 도움이 되지만, 오디오 Event가 너무 길면 여전히 보이스가 동시에 많이 생길 수 있습니다. object playback limit settings in the Wwise project를 사용해서 파티클 시스템이 생성할 수 있는 보이스 수를 완전히 제한하세요.

Particle Data를 블루프린트로 내보내기

Export Particle Data 모듈은 Niagara 시스템을 Wwise Sound Engine에 연결하는 또 다른 방법을 제공합니다. 이 모듈은 임의의 파티클 데이터를 Receive Particle Data 인터페이스를 구현하는 Blueprint로 내보냅니다. 그러면 Blueprint에 노출되는 Wwise 통합 기능을 모두 사용할 수 있습니다. 기본적으로 Export Particle Data 모듈은 위치(position), 속도(velocity), 퍼시스턴트 ID, 수명(age)과 같은 각 파티클에 대한 정보를 전달할 수 있는 두 개의 벡터와 부동소수점 값을 내보냅니다.

Wwise Niagara 샘플

Wwise Integration Unreal Gyms 프로젝트는 앞서 언급한 Niagara Wwise Event Data 인터페이스와 해당 모듈을 사용하는 방법을 보여주는 Niagara 시스템 샘플이 포합되어 있습니다. 또한 CPU와 GPU 파티클 시스템 모두에서 Export Particle Data를 사용하는 방법을 보여주는 Niagara 시스템과 Blueprint 액터를 제공합니다. .

이러한 샘플은 파티클 궤적을 따르는 퍼시스턴트 Event를 게시하고 해당 Event에 Game Parameter를 설정하며 파티클이 충돌할 때 망각형(fire-and-forget) Event를 게시합니다.

참고:샘플 GPU 파티클 시스템을 사용하려면 Generate Mesh Distance Fields" 렌더링 설정을 활성화해야 합니다.

이전 버전의 Unreal에서 Wwise Niagara 모듈 사용하기

해당 Niagara 모듈은 Unreal 5.X 이상 버전과 호환됩니다. Unreal 4를 사용하는 경우 해당 Wwise Niagara 기능을 계속 사용할 수 있지만 관련 Niagara 모듈을 다시 생성해야 합니다.

FX > Niagara Module Script 유형의 에셋을 만들어 사용하세요.

해당 위치에 Wwise Event 게시하기

퍼시스턴트 Wwise Event 게시하기

퍼시스턴트 Event 위치 업데이트하기

퍼시스턴트 Event 회전 업데이트 하기

퍼시스턴트 Event Game Parameter 설정하기

퍼시스턴트 Wwise Event 중지하기

퍼시스턴트 Wwise Event 일시 중지하기


이 페이지가 도움이 되었나요?

지원이 필요하신가요?

질문이 있으신가요? 문제를 겪고 계신가요? 더 많은 정보가 필요하신가요? 저희에게 문의해주시면 도와드리겠습니다!

지원 페이지를 방문해 주세요

작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.

프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.

Wwise를 시작해 보세요