menu
버전
2022.1.19.8584
2024.1.5.8803
2023.1.13.8732
2022.1.19.8584
2021.1.14.8108
2019.2.15.7667
2019.1.11.7296
2018.1.11.6987
2017.2.10.6745
2017.1.9.6501
2016.2.6.6153
2015.1.9.5624
2024.1.5.8803
2023.1.13.8732
2022.1.19.8584
2021.1.14.8108
2019.2.15.7667
2019.1.11.7296
2018.1.11.6987
2017.2.10.6745
2017.1.9.6501
2016.2.6.6153
2015.1.9.5624
Wwise Unreal Integration Documentation
|
WwiseProjectDatabase 모듈은 Editor를 포함해서 쿠킹되지 않은 프로젝트에서 사용할 수 있습니다. 이 모듈은 Wwise 프로젝트에서 생성된 SoundBank의 현재 상태에 관한 메모리 기반 데이터베이스 뷰를 제공합니다. SoundBank를 생성할 때 만들어진 JSON 메타데이터 파일에서 사용 가능한 모든 값과 정보는 Project Database에서 접근할 수 있습니다. 이 뷰는 정보 제공용이며 생성된 파일이 업데이트될 때만 변경됩니다. 새로운 데이터베이스 버전이 비동기적으로 로드되는 경우에도 해당 데이터베이스의 구조체에 대한 참조는 스레드로부터 안전합니다.
다음은 데이터베이스가 제공하는 두 가지 유형의 정보입니다.
Metadata 구조체는 생성된 SoundBanks 메타데이터를 설명하는 JSON 파일과 동일하게 정의됩니다. 맥락(context)은 제공되지 않으며 이를 위한 편리한 도구는 거의 없습니다. 소수의 예외를 제외하고 이러한 구조체의 멤버 이름은 JSON 파일의 이름과 동일합니다.
파일 정의 자체의 경우 파일이 선언할 수 있는 선택적인 루트 오브젝트의 종류를 정의하는 WwiseMetadataRootFile
오브젝트에서 시작하세요. 그러면 이 구조체는 발생할 수 있는 다양한 내부 오브젝트 및 값을 노출합니다.
이 오브젝트와 값이 메모리에 로드되면 이러한 구조체가 생성된 SoundBank의 명확한 이미지를 작고 효율적인 형태로 나타냅니다.
이 정보의 단 하나의 복사본이 FWwiseRootDataStructure
의 메모리와 FWwisePlatformDataStructure
JSON 파일에 보관됩니다.
Ref 클래스는 필요한 메타데이터를 찾는 방법에 대한 설명을 통해 각 메타데이터 오브젝트를 다시 정의합니다. 이 클래스는 생성된 SoundBank의 메타데이터에는 정보의 중복이 거의 없고 다양한 데이터 구조체에 대한 참조를 사용하기 때문에 유용합니다. 따라서 Event에는 ID로 참조하는 미디어 목록이 있지만 파일의 위치와 같은 미디어의 메타데이터는 더 높은 계층의 SoundBank 메타데이터에서 정의됩니다.
예를 들어 Event의 Switch Container 값을 가리키기 위해 Ref 클래스는 파일의 루트에 대한 공유 포인터 복사본을 유지하고 Switch Container를 찾는 방향을 포함합니다. 이 방향은 해당 파일, SoundBanks 구조 안, 첫 번째 SoundBank, 네 번째로 선언된 Event, 세 번째로 선언된 Switch Container와 같은 식으로 제공됩니다.
다음 샘플 코드에서 설명된 것을 보세요.
예시 미디어:
본질적으로 Ref 클래스는 맥락(context)을 제공합니다. 따라서 Switch Container 정보를 얻을 수 있으며 Event, SoundBank, 해당 파일과 같은 상위 클래스에 대한 정보도 얻을 수 있습니다.
참조된 일부 유형은 추가 정보를 요구합니다. 예를 들어 Platform 정보에는 ProjectInfo.json
과 PlatformInfo.json
이라는 두 개의 보완(complementary) 파일로 정보가 분할되어 있기 때문에 플랫폼 Ref에는 자연스럽게 두 개의 서로 다른 구조체가 포함됩니다. 마찬가지로 일부 다른 참조 형식은 여러 위치에 있을 수 있으며 Ref 클래스는 이러한 특수성을 수용하려고 시도합니다.
마지막으로 Ref 클래스는 추가적인 유틸리티를 제공합니다. 필요한 전역적인 맵을 전달하면 특정 Wwise 오브젝트 내부에 포함된 Ref 클래스와 함께 추가 정보를 얻을 수 있습니다. 예를 들어 특정 Event 정의에서 요청된 미디어를 요청하면 미디어를 Refs로 반환받을 수 있습니다.
Ref 정보는 기본 및 파생 구조체(derived struct)로 선언되므로 Switch Container에서 Event의 모든 Switch Container 값을 요청하고 동시에 이러한 형제들을 불러올 수 있습니다. Event에 포함된 다른 유형의 정보도 마찬가지입니다.
더 높은 계층에서 AnyRef 클래스는 모든 종류의 Ref 구조체에 대한 포인터를 가지고 있습니다. 여기에는 유형(type)과 공유 포인터(shared pointer)가 담겨 있습니다. AnyRef 수준에서는 오브젝트의 Short ID, GUID, 이름 검색과 같은 제한된 작업을 할 수 있습니다. 그 밖의 모든 작업은 boxed Ref 오브젝트를 해당 형식으로 캐스팅하도록 요청할 수 있습니다. 이 클래스가 Null 오브젝트를 가리킬 수 있기 때문에 AnyRef 형식은 참조가 아니라 Ref 오브젝트에 대한 포인터입니다.
WwiseProjectDatabase 모듈은 해당 접근 메소드를 통해 쿼리를 처리합니다. 예를 들어, 알려진 모든 SoundBank나 하나의 특정 SoundBank를 요청할 수 있습니다. 해당 데이터 자체는 DataStructure 멤버에 보관됩니다.
이 데이터 구조체안에는 두 가지 구조체가 있습니다.
일반적으로 WwiseProjectDatabase에는 쿠킹과 패키징 목적으로 한 번에 하나의 플랫폼만 로드됩니다. 그러나 둘 이상의 플랫폼을 로드하는 것도 가능합니다.
info | 참고: | Mac에서 프로젝트의 Unreal Editor로 작업할 때는 Mac 플랫폼만 로드해야 합니다. |
Data 구조 구조체에는 다음이 포함됩니다.
GeneratedPlatformFiles
속성에 로드된 모든 파일 이름 목록.JsonFiles
속성에서 파싱된 각 JSON 파일의 고유한 복사본 하나.또한 Data 구조체는 GetRef
와 같은 함수를 통해 템플릿으로 된 접근을 허용합니다.
프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.
Wwise를 시작해 보세요