버전
menu_open
Wwise SDK 2023.1.2
Plug-in Packaging Format for the Audiokinetic Launcher

이 페이지는 플러그인 제작자들을 위한 내용을 담고 있습니다. It seeks to inform them of the requirements related to publishing a Wwise plug-in that is compatible with both the Audiokinetic Launcher and the Wwise plug-ins Store. 플러그인 제작 자체에 대한 더 자세한 정보는 Developing Community Plug-ins 를 참고하세요.

다음 섹션은 완전하게 호환 가능한 Wwise 플러그인을 발행하는 데 필요한 내용을 단계별로 설명합니다.

플러그인 패키지하기

In order to be compatible with the Audiokinetic Launcher and benefit from its plug-in management workflows, plug-in authors need to package their plug-ins in a very specific way. The Audiokinetic Launcher works in terms of bundles, as in a self-contained folder or archive containing all the files and metadata required to proceed with the installation of the plug-in.

정의

플러그인을 어떻게 패키지 하는지 자세히 알아보기에 앞서, 여기에 나오는 용어의 정의를 짚고 넘어갈 필요가 있습니다. 다음 표는 이러한 용어가 꺽쇠괄호 안에 나올 때마다 (<용어>) 여기에 사용될 값들을 규정합니다. 이 용어는 그에 해당하는 값으로 확장될 수 있습니다.

DeploymentPlatforms

SDKPlatforms

Android
iOS
tvOS
visionOS
Mac
Linux
Windows_vc160
Windows_vc170
XboxOne
XboxSeriesX
PS4
PS5
NX
android-9_armeabi-v7a
android-9_x86
android-21_arm64-v8a
android-21_x86_64
iOS
Linux_x64
Mac
NX64
PS4
PS5
tvOS
visionOS
Win32_vc160
Win32_vc170
x64_vc160
x64_vc170
XboxOneGC_vc160
XboxOneGC_vc170
XboxSeriesX_vc160
XboxSeriesX_vc170

번들 디렉터리 구조

플러그인 번들은 단일 디렉터리 또는 아카이브로서, 다음과 같은 파일들을 조합해 담을 수 있습니다 (bundle.json은 반드시 있어야 하며 다른 필수 파일은 없음).

bundle.json

플러그인 번들 설명 파일.
해당 파일은 반드시 있어야 합니다.

Authoring.tar.xz

바이너리, 데이터, 법적 공지 파일 등, 디렉터리에 들어있는 모든 저작 파일을 패키지합니다. 이 패키지는 필요시 여러 파일로 나눌 수 있습니다. 예: Data, Binary, Documentation으로 나눔. 그러나 모든 패키지가 항상 설치되어야 합니다.

SDK.tar.xz

플러그인 헤더 파일을 포함, 특정 플랫폼 전용이 아닌 모든 SDK 파일을 패키지합니다.

SDK_<DeploymentPlatforms>.tar.xz

배포 플랫폼에 특화된 Wwise SDK 플러그인 파일.
주의: 이름은 예제를 보여주기 위한 용도로만 사용되었습니다. 이름은 필수 사항이 아닙니다. 실질적으로 특정 플랫폼과 맞출 때에는 그룹/값 연관을 사용합니다.


참고: 아카이브 형식
The archive files present inside of a bundle must be provided in the TAR.XZ or ZIP formats and will be extracted by the Audiokinetic Launcher using the metadata specified inside of the bundle.json file. Note that the bundle itself can also be given to the Audiokinetic Launcher as a .tar.xz archive (instead of a folder).

이 아카이브 내의 폴더 구조는 다음 형식을 준수해야 합니다. Wwise Authoring에서는 64 비트 플러그인만 지원된다는 점에 유의하세요. Wwise 2017.2의 32 비트 지원은 중단되었습니다.

PluginName/
├── bundle.json
├── Authoring.tar.xz
│ └── Authoring
│ ├── Help
│ ├── Data
│ | └── Factory Assets
│ | └── PluginName
│ └── x64
│ └── Release
│ └── bin
│ └── plugins
├── SDK.tar.xz
│ └── SDK
│ └── include
│ └── AK
| └── Plugin
└── SDK_<DeploymentPlatforms>.tar.xz
└── SDK
└── <SDKPlatforms>
├── Release
| ├── bin
| └── lib
├── Debug
| ├── bin
| └── lib
└── Profile
├── bin
└── lib
참고: 법적 공지
플러그인 프로그래머는 플러그인 코드의 법적 공지와 관련된 모든 파일을 이 곳에 복사해놓아야 합니다.: \Authoring\x64\Release\bin\plugins\PluginName.txt

예시

다음은 Wwise Authoring뿐 아니라 Linux_x32와 Linux_x64 Wwise SDK 플랫폼을 지원하는 플러그인 번들의 예시입니다.

PluginName/
├── bundle.json
├── Authoring.tar.xz
│ └── Authoring
│ ├── Help
│ | └── PluginName_UserGuide.pdf
│ ├── Data
│ | └── Factory Assets
│ | └── PluginName
│ | ├── Manifest.xml
│ | └── ...
│ └── x64
│ └── Release
│ └── bin
│ └── plugins
│ ├── PluginName.dll
│ ├── PluginName.xml
│ └── PluginName.txt
├── SDK.tar.xz
│ └── SDK
│ └── include
│ └── AK
| └── Plugin
| └── PluginName.h
└── SDK_Linux.tar.xz
└── SDK
├── Linux_x32
| ├── Release
| | ├── bin
| | | └── libPluginName.so
| | └── lib
| | └── libPluginNameFX.a
| ├── Debug
| | ├── bin
| | | └── libPluginName.so
| | └── lib
| | | └── libPluginNameFX.a
| └── Profile
| ├── bin
| | └── libPluginName.so
| └── lib
| └── libPluginNameFX.a
└── Linux_x64
├── Release
| ├── bin
| | └── libPluginName.so
| └── lib
| └── libPluginNameFX.a
├── Debug
| ├── bin
| | └── libPluginName.so
| └── lib
| └── libPluginNameFX.a
└── Profile
├── bin
| └── libPluginName.so
└── lib
└── libPluginNameFX.a

번들 메타데이터

번들에 들어있는 bundle.json파일은 다음과 같은 구조를 준수해야 합니다 (특별한 경우가 아닌 한 모든 입력란은 의무 사항입니다).

{
"id": string, // 해당 번들의 고유 식별자. ID는 모든 기존 플러그인과 버전을 통틀어 고유한 값이어야 합니다. ID 중복을 피하기 위해서는 회사 이름과 플러그인 이름, 버전 및 빌드 번호를 사용하세요. For example: audiokinetic_convolutionreverb_2017.2.3_4877
"name": string, // Name displayed in the Audiokinetic Launcher for this bundle
"tag": string, // Tag uniquely identifying the plug-in (format [0-9A-z_]+, 50 characters maximum)
"description": string, // Description displayed in the Audiokinetic Launcher for this bundle
"image": string, // Base64 representation of an image to be displayed in the Audiokinetic Launcher for this bundle (PNG, JPEG or GIF)
"vendor": string, // Vendor name displayed in the Audiokinetic Launcher for this bundle
"type": "plugin", // Type of this bundle, must be "plugin"
// Data that is specific to this bundle type
"productDependentData": {
// Version of Wwise this bundle was built against.
// 자신의 플러그인 호환 내용을 보려면 AK_OLDEST_SUPPORTED_WWISESDK_VERSION 을 확인하세요.
"targetWwiseVersion": {
"year": number,
"major": number
}
},
// 번들의 버전
"version": {
"year": number,
"major": number,
"minor": number,
"build": number
},
// 번들과 관련해 설치된 파일 목록
"files": [
{
"id": string, // 고유 식별자
"sha1": string, // 해당 파일의 SHA1
"size": number, // 파일 크기 (단위: 바이트)
"sourceName": string, // 파일 이름
"uncompressedSize": number, // 압축되지 않은 파일 크기(단위: 바이트)
// 해당 파일이 설치돼야 하는 그룹 목록 (플러그인이 접근할 수 있는 그룹의 전체 목록은 아래 표 참고)
"groups": [
{
"groupId": string, // 해당 그룹의 고유 식별자
"groupValueId": string // 해당 그룹의 값 영역 고유 식별자
},
...
]
},
...
],
// List of EULAs associated with this bundle
"eulas": [
{
"displayName": string, // Name displayed in the Audiokinetic Launcher for this EULA
"displayContent": string, // Text displayed in the Audiokinetic Launcher for this EULA
"id": string // Unique identifier of this EULA
},
...
],
// Labels displayed next to this bundle
"labels": [
{
"class": string, // Style class applied to this label (default, primary, success, info, warning, danger)
"displayName": string // Name displayed in the Audiokinetic Launcher for this label
},
...
],
// Online documentation links for this bundle
"links": [
{
"displayName": string, // Name displayed in the Audiokinetic Launcher for this link
"id": string, // Unique identifier of this link
"url": string // Target URL of this link
},
...
],
// Local documentation files for this bundle
"documentation": [
{
"displayName": string, // Name displayed in the Audiokinetic Launcher for this documentation file
"filePath": string, // Path to the documentation file
"language": "en" | "ja" | "zh" // Language of the documentation file
},
...
]
}
참고: 고유 플러그인 식별자
다른 플러그인과의 충돌을 피하기 위해서는 반드시 플러그인 고유 식별자에 다음 정보를 인코딩해야 합니다.
  • 제공자 이름
  • 플러그인 이름
  • 완전한 버전 번호
  • 빌드 번호

번들 그룹

bundle.json에 지정된 각 파일은 하나 또는 둘 이상의 그룹에 연결돼야 합니다. This information will be used by the Audiokinetic Launcher to determine if a given file has to be installed according to the context.

groupId

groupValueId

Packages

Authoring
SDK

DeploymentPlatforms

( 정의 의 DeploymentPlatforms 열을 참고하세요..)

예시

이전 예시에 이어, Wwise Authoring 및Linux_x32와 Linux_x64 Wwise SDK 플랫폼을 지원하는 플러그인 번들의 bundle.json은 다음과 같으며, 영어 문서와 함께 제공됩니다.

{
"id": "PluginAuthor_PluginName_2017.1.0_0",
"name": "PluginName",
"description": "PluginName is an awesome Wwise plug-in that does XYZ.",
"image": "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",
"vendor": "PluginAuthor",
"type": "plugin",
"version": {
"year": 2017,
"major": 1,
"minor": 0,
"build": 0
},
"productDependentData": {
"targetWwiseVersion": {
"year": 2017,
"major": 1
}
},
"files": [
{
"id": "Authoring.tar.xz",
"sha1": "2ab1fb750b2d4c6f9ad8f4c0b8966fe866a676c4",
"size": 7450993,
"uncompressedSize": 74509930,
"sourceName": "Authoring.tar.xz",
"groups": [
{
"groupId": "Packages",
"groupValueId": "Authoring"
}
]
},
{
"id": "SDK.tar.xz",
"sha1": "4e86453b2541ce4f3400778f932c850fd09cc0ff",
"size": 503316,
"uncompressedSize": 5033160,
"sourceName": "SDK.tar.xz",
"groups": [
{
"groupId": "Packages",
"groupValueId": "SDK"
}
]
},
{
"id": "SDK_Linux.tar.xz",
"sha1": "9cb1b7db241e476c4024d43aed46c2b17beee366",
"size": 263682,
"uncompressedSize": 2636820,
"sourceName": "SDK_Linux_x32_Debug.tar.xz",
"groups": [
{
"groupId": "Packages",
"groupValueId": "SDK"
},
{
"groupId": "DeploymentPlatforms",
"groupValueId": "Linux"
}
]
}
],
"eulas": [
{
"displayName": "PluginName",
"displayContent": "PluginName is provided for free on an \"as is\" basis. As such, ...",
"id": "EULA"
}
],
"labels": [
{
"class": "info",
"displayName": "Alpha"
}
],
"links": [
{
"displayName": "Release Notes",
"id": "ReleaseNotes",
"url": "https://example.com"
}
],
"documentation": [
{
"displayName": "User Guide",
"filePath": "Authoring/Help/PluginName_UserGuide.pdf",
"language": "en"
}
]
}

버전 관리

각 플러그인 번들은 특정 Wwise 버전을 대상으로 합니다. 그러나 각각의 Wwise 버전은 그 이전 버전 Wwise를 대상으로 하는 플러그인들을 지원할 수 있습니다.

Wwise 마이너 버전 간의 호환은 항상 지원됩니다. 예를 들어, 2017.1.1과 2017.1.2는 항상 호환됩니다. 메이저 릴리즈 또한 호환되는 경우가 있습니다. 그러나 자신의 플러그인이 Wwise 메이저 버전으로 업데이트되도록 준비해야 합니다. 어떤 플러그인 버전이 현재의 Wwise 버전과 호환되는지 확인하려면 Release Notes를 참고하세요.

오디오키네틱이 더 이상 호환되지 않는 Wwise 버전을 출시할 때마다 플러그인 제공자도 새로운 번들 버전을 출시해야 합니다. Wwise 런처에서 호환되지 않은 플러그인 버전을 설치하는 것은 불가능합니다. audiokinetic.com에 등록된 플러그인 번들이 호환되는 경우 Wwise를 설치할 때 자동으로 나타납니다.

Audiokinetic namespace

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

지원이 필요하신가요?

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

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

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

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

Wwise를 시작해 보세요