버전
Wwise Unreal Integration Documentation
|
이제까지 저희는 미리 제작된 액터를 사용하거나 각 액터 인스턴스에 컴포넌트를 추가함으로써 모든 내용을 레벨 안에서 직접 제작했습니다. 또한 다양한 공간 음향 컴포넌트를 사용하면 레벨 전체에 복제할 수 있는 Blueprint 액터를 구성할 수 있습니다. 이 섹션에서는 Blueprint 클래스를 사용하여 Unreal 프로젝트 준비 섹션에서 구성한 구조의 복제본을 제작해서 세계 안에 쉽게 추가하고 스폰할 수 있도록 해봅시다.
참고: | 이 튜토리얼을 시작하기 전에 반드시 Spatial Audio 튜토리얼 준비 를 반드시 완료해야 합니다. |
AkLateReverbComponent
와 AkRoomComponent
는 오염 시험을 통해 주어진 게임 오브젝트의 위치가 해당 상위 PrimitiveComponent
안에 있는지의 여부를 확인합니다. 이 시험에는 단순 충돌이 사용됩니다. 그렇기 때문에 단순 충돌이 있는 상위 PrimitiveComponent
를 사용해야 합니다. 예를 들어 상자 충돌, 구형 충돌, 캡슐 충돌 컴포넌트를 사용할 수 있습니다. PrimitiveComponent
에 단순 충돌이 었을 경우 오염 시험이 컴포넌트 경계선을 사용하는데, 이 경우 결과가 보다 덜 정확할 수 있습니다.
또한 Unreal에서 메쉬 에셋에 단순 충돌을 추가할 수도 있습니다 (스태틱 메시에 콜리전 구성(Setting Up Collision With Static Meshes 참조). 하지만 출입구와 열린 공간과 같은 복잡한 메쉬의 경우 경우에 따라 메쉬의 충돌 설정에서 'use complex collision as simple(복합 충돌을 단순 충돌로 사용)'을 사용해야 할 수도 있습니다 (단순 vs 복합 콜리전 (Simple Vs Complex Collision) 참조). 예를 들어 이 설정은 캐릭터가 출입구를 통해 공간 안으로 들어갈 수 있지만 여전히 벽과 충돌하도록 하기 위해 필요할 수 있습니다. 이 설정을 사용할 경우 단순 충돌이 무시되며 메쉬의 전체 트라이메쉬(trimesh)가 사용되기 때문에 AkLateReverbComponent
와 AkRoomComponent
에 대한 오염 시험이 실패하게 됩니다. AkLateReverbComponent
와 AkRoomComponent
에 의해 사용되는 단순 충돌은 트라이메쉬를 지원하지 않습니다. 따라서 Blueprint 클래스에서는 AkLateReverbComponent
컴포넌트와 and AkRoomComponent
를 사용할 경우 단순 충돌 컴포넌트를 상위 계층으로 사용하는 것을 권장합니다. 단순 충돌 컴포넌트의 예시는 상자, 구형, 캡슐이 있습니다. 공간이나 건물에 특정한 메쉬가 있을 경우 단순 충돌 컴포넌트를 해당 메쉬의 하위 컴포넌트로 추가할 수 있습니다.
새로운 고정 메쉬 컴포넌트를 클릭하고 Details 패널에서 해당 메쉬를 선택하세요.
참고: | 포털으로의 자동 자동 지정은 볼록한 메쉬(convex mesh)에서만 작동합니다. 오목한 메쉬(concave mesh) (예: L- 모양 공간)은 정확한 포털 공간 교차를 만들어낼 수 없습니다. |
메쉬의 각 공간 및 출입구에 상자 충돌 컴포넌트를 추가하세요.
이제 모든 상자 충돌 컴포넌트가 동일한 위치에 서로 겹쳐 있습니다. 이 컴포넌트의 위치, 규모, 방향을 조정해서 공간과 출입구와 정렬되도록 해봅시다. Orthographic 뷰를 사용하면 가장 쉽게 작업할 수 있습니다. (다음 단계는 SpatialAudioDemoMesh에 특정하지만 다른 메쉬에서도 유사한 단계를 실행할 수 있습니다.)
참고: | 이 튜토리얼에서 공간과 포털을 메쉬에 정렬할 때에는 완벽하게 정렬되거나 중심에 있지 않더라도 괜찮습니다. 올바른 영역을 대략 덮어주기만 하면 됩니다. 실제 환경을 설계할 떄에는 Details 패널의 Transform 섹션을 사용해서 정확한 값을 입력할 수 있습니다. |
Viewport 탭에서 Perspective를 클릭하고 뷰를 Top으로 변경하세요.
BoxRoomLarge의 크기가 큰 공간의 크기와 맞춰질 때까지 x와 y축을 따라 크기를 변경하세요. (R을 누르거나 Viewport 탭에서 Scale 위젯을 선택해서 크기 변경 모드로 전환할 수 있습니다).
BoxRoomSmall을 선택하고 작은 공간의 크기와 맞춰질 때까지 x와 y축을 따라 크기를 변경하세요.
BoxPortalInner 를 선택하고 메쉬에서 내부 출입구 범위가 보이 때까지 와이어 프레임에서 줌 인하세요.
BoxPortalInner를 출입구의 중앙으로 옮긴 후 출입구의 범위를 덮도록 x축을 따라 크기를 조정하세요.
BoxPortalOuter를 선택하고 해당 y 차원이 출입구를 가리키도록 회전시키세요.
참고: | 포털에는 포털의 y 차원을 따라 가장 가까운 교차 공간을 감지함으로써 자동 지정되는 앞 공간과 뒷 공간이 있기 때문에 이 작업을 반드시 해주어야 합니다. BoxPortalOuter의 경우 '뒤'(해당 좌표 공간에서)는 메쉬에서 작은 공간과 연결되며 '앞'은 어떤 공간으로도 연결되지 않습니다. |
z축을 중심으로 BoxPortalOuter를 90도 회전시키세요. Details 패널의 Transform 섹션에 있는 z축 Rotation 텍스트 상자에 '90'을 입력하면 됩니다.
상면 뷰에서 모든 공간과 포털이 아래와 같이 메쉬와 정렬되었는지 확인하세요:
BoxRoomLarge와 BoxRoomSmall을 선택하고 공간의 크기와 맞춰질 때까지 z축을 따라 크기를 변경하세요.
BoxPortalOuter와 BoxPortalInner를 선택하고 출입구의 중앙에 오도록 아래로 옮긴 다음 문의 크기와 맞춰질 때까지 z축을 따라 크기를 조정하세요.
이제 AkRoom 컴포넌트를 공간에, AkPortal 컴포넌트를 포털에 추가해봅시다.
각 상자 충돌 컴포넌트에서 공간이나 포털 컴포넌트(알맞은대로)를 생성하고 상위 계층과 비슷한 이름으로 지정하세요. 결과가 다음과 같아야 합니다:
참고: |
컴포넌트를 올바른 상위 계층으로 추가했는지 확인하세요. 예를 들어 AkRoomLarge를 큰 공간에 추가할 경우 Add Component를 클릭하기 전에 먼저 BoxRoomLarge가 선택되었는지 확인하세요. AkRoomComponent와 AkPortalComponent는 어떤 기본 컴포넌트로든 추가할 수 있는 일반 컴포넌트입니다. 더 많은 정보는 AkRoomComponent 와 AkPortalComponent 를 참고해 주세요. |
포털이 올바르게 배치되었는지 확인하기 위해 Integration Settings에서 Visualize Rooms and Portals 옵션을 선택하세요.
이제 연결된 공간과 포털 사이에 선이 그려집니다. 포털의 위치가 유효하지 않을 경우 빨간색으로 표시됩니다.
참고: | 포털에 연결된 공간이 없거나 동일한 공간이 양 면으로 연결되었을 경우 유효하지 않습니다. 더 많은 정보는 AkPortalComponent 를 참고해 주세요. |
Blueprint 클래스에 추가해야 할 마지막 두 가지 항목은 바로 AkGeometry와 AkLateReverb 컴포넌트입니다.
AkLateReverb 컴포넌트를 BoxRoomLarge 상자 충돌 컴포넌트로 추가하세요.
이제 Blueprint 클래스를 사용할 준비가 되었습니다. 클래스의 인스턴스를 세계 안으로 드래그하세요.
기존의 빌딩 안에 배치하세요.
새로운 Blueprint 구조에서 레이가 포털을 올바르게 통과하는지 확인하세요.
후기 잔향 컴포넌트를 시험하기 위해서는 반드시 SpatialAudioBP 인스턴스 안에 있는 큰 공간 안에 사운드를 추가 및 배치해야 합니다. 세계 안에 있는 기존의 Play_Outside AkAmbientSound 액터를 우클릭하고 복제하세요.
Play_LargeRoom_BP를 SpatilAudioBP 인스턴스 안에 있는 큰 공간 안으로 옮기세요.
Level Blueprint를 열고 B 키를 누르면 Play_LargeRoom_BP 사운드가 재생되도록 논리를 추가하세요 (Unreal 프로젝트 준비 3 단계 참고).
프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.
Wwise를 시작해 보세요