버전

menu_open
Wwise SDK 2023.1.3
Wwise Authoring API (WAAPI) 시작하기

프로토콜

Wwise 저작 API는 다양한 프로토콜과 API를 통해 접근 가능합니다.

  • WAMP: WAMP는 배포된 애플리케이션에서 애플리케이션 요소들을 연결하는 데 사용합니다. WAMP는 WebSocket을 기본 전송 수단으로 사용합니다. 이는 깔끔하고 안정적이며 양방향인데다 메시지 기반의 커뮤니케이션을 제공합니다. WAMP를 이용해 클라이언트는 JSON 인자로 함수를 호출하고 구조화된 JSON 결과물을 구할 수 있습니다. 또한 WAMP를 통해 클라이언트가 특정 알림을 구독할 수도 있습니다.
  • HTTP POST: HTTP는 배포된 애플리케이션에 대한 애플리케이션 프로토콜입니다. 콘텐츠를 인터넷으로 전송할 때 HTTP를 가장 많이 사용합니다. POST를 이용해 호출자는 Wwise Authoring API에 대해서 JSON과 같이 함수 인자에 해당하는 문서 본문을 보낼 수 있습니다. HTTP 응답은 JSON 결과물입니다.
  • Wwise Plug-ins: The Wwise Authoring plug-in API exposes a way to invoke WAAPI functions: AK::Wwise::Plugin::Host::WaapiCall(). Using the Wwise 플러그인에서의 Wwise Authoring API 을 참고하세요.

WAMP와 HTTP 프로토콜은 C++나 C#, JavaScript, Python 등, HTTP나 WebSocket 을 지원하는 다양한 언어로 사용할 수 있습니다.

참고: WAMP는 공개된 표준 WebSocket 하위 프로토콜로서, 통합 애플리케이션 라우팅을 제공합니다. 흔히 사용되는 대부분의 프로그래밍 언어에서 WAMP 구현이 가능합니다. WAMP에 대한 더 자세한 정보는 https://wamp-proto.org를 참고하세요.
참고: WAMP는, 전체 세션에 대해 동일한 WebSocket 연결을 재사용하기 때문에 최상의 성능과 사용자 경험을 제공하며, 양방향커뮤니케이션이 가능합니다.

In summary, here are the features supported by the protocols:

API Feature WAMP HTTP POST AK::Wwise::Plugin::Host::WaapiCall()

Remote Procedure Calls

Allows to call functions remotely on Wwise authoring

Refer to Wwise Authoring API Reference

Supported Supported Supported

Publish & Subscribe

Allows to receive notifications when changes occur in Wwise authoring.

Supported Not Supported Not Supported
Optimal performance Yes No Yes

프로그래밍 언어

WAMP를 WAAP의 프로토콜로 사용할 때, 가능한 옵션이 몇 가지 있습니다. 다양한 프로그래밍 언어로 WAMP를 구현하는 것이 가능합니다. wamp-proto.org를 참고하면 기존 구현의 목록을 확인할 수 있습니다.

그러나 이 구현들 중 일부는 사용법이 더 까다롭습니다. WAAPI는 WAMP에서 사용할 수 있는 일부 기능만을 사용하기 때문에 WAAPI의 편리한 사용을 위해 몇몇 구현에는 추상화 계층이 구현돼있습니다. 다음 표는 가장 많이 사용되는 언어들에 대한 권장 사항입니다.

언어

권장 사항

C++

(권장)

AkAutobahn 사용.

AkAutobahn 은 Autobahn C++의 한 종류로서, 덜 의존적면서도 좀 더 단순한 인터페이스와 높은 성능을 지니고 있습니다.

난이도: 중급 C++ 프로그래밍 기술을 요함.
설명: C++ - WAMP
소스 코드: \SDK\samples\WwiseAuthoringAPI\cpp\SampleClient\AkAutobahn
예제: \SDK\samples\WwiseAuthoringAPI\cpp\SampleClient\SampleClient

참고: Source 플러그인이나 Effect 플러그인에서 C++를 직접 사용할 수도 있습니다. 더 자세한 정보는 Using the Wwise 플러그인에서의 Wwise Authoring API 를 참고하세요.

C#

(권장)

WaapiClientCore나 WaapiClientJson 사용.

다음과 같이 선택할 수 있습니다.

  • WaapiClientCore: 서드 파티 참조 없이 .NET 4.5에만 의존하는 C::에서 구현된 WAAPI 클라이언트 라이브러리. Wwise에 연결해 WAAPI 원격 프로시저와 주제 구독에 접근할 수 있는 WAMP 클라이언트를 포함합니다. The API is string-based, so you can provide your own JSON serialization. 이 클라이언트는 또한 Unity 2018.1 이상과 호환될 수 있습니다.
  • WaapiClientJson: Json.NET에 의존하는 C::에서 구현된 WAAPI 클라이언트 라이브러리. JSON 조작을 쉽게 하기 위해 JSON 의존성이 추가되었습니다. NuGet 패키지 관리자 확장 기능이 요구됩니다. Unity Store에서 'Json.NET for Unity'를 설치하면 이 클라이언트를 Unity와 호환시킬 수 있습니다.

난이도: WAAPI를 사용하는 가장 쉬운 방법 중 하나. 초급 C# 프로그래밍 기술을 요함.
설명: C# WaapiClient - WAMP
예제: SDK\samples\WwiseAuthoringAPI\cs\WaapiClientSample

JavaScript/TypeScript with the most recent Node.js LTS

(Recommended)

Use waapi-client JS

waapi-client는 Autobahn JS의 추상화 계층입니다. promise와 async/await의 지원을 추가하며, 필수 WAMP 기능만을 나타냅니다. waapi-client는 또한 TypeScript 바인딩을 포함합니다.

난이도: 초급에서 중급 JavaScript 프로그래밍 기술을 요함.
설명: JavaScript, Node.js - WAMP
Npm: https://www.npmjs.com/package/waapi-client
소스 코드: https://github.com/audiokinetic/waapi-client
예제: SDK\samples\WwiseAuthoringAPI\js\hello-wwise-node-wamp

JavaScript와 브라우저

autobahn-browser 사용.

autobahn-browser는 브라우저에서 사용 가능한 WAMP 구현입니다.

난이도: 중급 JavaScript 및 Web 프로그래밍 기술을 요함.
설명: JavaScript, 브라우저 - WAMP
소스 코드: https://github.com/crossbario/autobahn-js-browser
예제: SDK\samples\WwiseAuthoringAPI\js\hello-wwise-web-wamp

Python 3.7+

(Recommended)

Use waapi-client Python

waapi-client는 Autobahn Python의 추상화 계층입니다. 사용법이 매우 매우 간단하며 필수 WAMP 기능만을 나타냅니다.

난이도: WAAPI를 사용하는 가장 쉬운 방법 중 하나. 초급 Python 프로그래밍 기술을 요함.
사용 방법: Python (Waapi-Client) - 원격 프로시저 호출
Pypi: https://pypi.org/project/waapi-client/
소스 코드: https://github.com/audiokinetic/waapi-client-python
예제: SDK\samples\WwiseAuthoringAPI\python\waapi-client-py3

그 밖의 언어들

https://wamp-proto.org/에 나와있는 WAMP 구현 중 하나를 이용하거나 HTTP로 직접 WAAPI를 사용합니다.

WAAPI 예제 를 참고하세요.


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

지원이 필요하신가요?

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

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

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

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

Wwise를 시작해 보세요