Wwise SDK 2023.1.8
|
Wwise Authoring API (WAAPI) は、以下のプロトコルやAPIからアクセスできます:
AK::Wwise::Plugin::Host::WaapiCall()
です。Wwise プラグインでWwise Authoring APIを使用する を参照してください。WAMP
やHTTP
のプロトコルと合わせて使える言語は、C++
、C#
、JavaScript
、Python
など複数あり、ほかにもHTTP
やWebSocket
対応の言語も使えます。
注釈: WAMPは、オープンスタンダードのWebSocketサブプロトコルで、統一アプリケーションルーティングを提供します。WAMPのインプリメンテーションは、広く使われているプログラミング言語で利用できます。WAMPの詳細は https://wamp-proto.org を参照してください。 |
注釈: WAMPは、セッションを通して同じWebSocketコネクションを再利用し、二方向性コミュニケーションを提供するので、最も良いパフォーマンスとエクスペリエンスを提供します。 |
これらのプロトコルがサポートする機能を、下表にまとめました:
APIの機能 | WAMP | HTTP POST | AK::Wwise::Plugin::Host::WaapiCall() |
Remote Procedure Calls リモートでWwiseオーサリングの関数をコールできる | 対応 | 対応 | 対応 |
Publish & Subscribe Wwiseオーサリングで変更があれば通知を受領できる。 | 対応 | 未 対応 | 未 対応 |
パフォーマンスの最適化 | 済 | 未 | 済 |
WAAPIのプロトコルとしてWAMPを使う場合に、いくつかの選択肢があります。WAMPによるインプリメンテーションは、数種類のプログラミング言語で可能です。 既存のインプリメンテーションの一覧は、 wamp-proto.org にあります。
ただし、インプリメンテーションによっては、難しかったり、使いづらかったりします。WAAPIでは、WAMPの提供する機能サブセットの1つしか使わないので、WAAPIを使いやすくするためにも、使用可能な一部インプリメンテーションの抽象化レイヤ―を用意しました。下表は、よく使われる言語の推奨条件をまとめたものです。
言語 | 推奨 | ||
C++ (推奨) | AkAutobahnを使う AkAutobahnは、Autobahn C++のforkで、依存関係を軽減し、シンプルなインターフェースと改善されたパフォーマンスを提供します。 難易度: 中級のC++ プログラミング知識が必要。
| ||
C# (推奨) | WaapiClientCore または WaapiClientJsonを使う どちらかを選択:
難易度: WAAPIを使うのに、最も簡単な方法の1つ。初級のC::プログラミング知識が必要。 | ||
JavaScript/TypeScript 、最新Node.js LTS (推奨) | waapi-client JSを使う waapi-clientは、Autobahn JSの抽象化レイヤ―です。promisesやasync/awaitの対応が追加され、必要なWAMPファンクションのみを公開します。なお、waapi-clientには、TypeScriptバインディングも含まれます。 難易度: 初級から中級のJavaScriptプログラミング知識が必要。 | ||
JavaScriptと、Browser | autobahn-browserを使う autobahn-browserは、ブラウザですぐに使えるWAMPインプリメンテーションです。 難易度: 中級のJavaScriptとWebプログラミングの知識が必要。 | ||
Python 3.7+ (推奨) | waapi-client Pythonを使う waapi-clientは、Autobahn Pythonの抽象化レイヤ―です。使い方が大幅に簡素化され、必要なWAMPファンクションのみを公開します。 難易度: WAAPIを使うのに、最も簡単な方法の1つ。初級のPythonプログラミング知識だけが必要。 | ||
その他の言語 | https://wamp-proto.org/ 記載のWAMPインプリメンテーションの1つを使うか、WAAPIに直接HTTPを使います。 |
WAAPI サンプル を参照してください。