WwiseのオーディオエンジンのAPIは知っていると思いますが、オーサリングアプリケーションにもAPIがあれば、外部アプリケーションと「話せて」便利だと思いませんか?
実はWwise Authoring APIで可能です!実は何年も前から利用できることを知っていましたか?そうなんです!元々、SoundFrameという名前でした。ただ、かなり制限があり使い勝手も良くなかったのですが、大分改善されました。
Wwise 2017.1ではWwise Authoring APIのデザインを一から見直して、従来の制約を解消しながら新たなレベルまで拡張させました。Wwise Authoring APIで何ができるのか、具体的な応用例をこの記事で紹介します。
Wwise Authoring APIが、あなたのためにできること
Wwise Authoring APIの機能は、2つのレイヤに分かれています。
Wwiseコアレイヤ
Wwiseの核にあるのが、Wwiseコア。コアレイヤでWwiseのデータモデルを操作するほか、以下のタスクを実行します:
- オブジェクトや、オブジェクト情報の取得
- オブジェクト情報の設定
- 新規オブジェクトの作成
他にも、以下の操作が可能です:
- Wwiseオブジェクトの再生
- オーディオファイルのインポート
- サウンドバンクの生成
- オーディオファイルの変換
- プロファイラデータのアクセス
Wwiseユーザーインターフェースレイヤ
ユーザーインターフェースレイヤで、ユーザーインターフェースをアクセスして設定できます。
例えば、以下ができます:
- ビューを開く
- 選択中の項目をアクセスして変更する
- オブジェクトを確認する
- 他にも、色々...
この2つのレイヤに入った全ての機能を、様々なシナリオで使いこなします。それでは、詳しく見ていきます。
WwiseとUnreal、Unityのインテグレーション
おそらく、Wwise Authoring APIのシナリオとして最初に思い浮かべるのが、Wwise UnityやWwise UnrealのインテグレーションとWwiseの接続だと思います。Wwise 2016.2では、ファイルシステム経由で接続されているだけです。実は、Wwiseとインテグレーション間のリンクは、一方通行で、インテグレーション側がWwiseのワークユニットをプロジェクトフォルダから読み込みます。インテグレーション側からは、Wwiseプロジェクトに変更を加えられません。
もし、新しいサウンドやコンテナのインポート、新規イベントやサウンドバンクの作成、ボリュームなどのプロパティ設定、減衰の変更などが、可能であれば?インテグレーションから直接アクセスしたい機能をあげたら、きりがありません。Wwiseプロジェクトの中身を変更するのに、いちいちゲームエンジンからWwiseに切り替える必要がなければ!
作業の自動化
繰り返しの手作業をプログラム的に一括実行できれば、とても効率的です。例えばプロジェクトを丸ごとプログラムで作成したり、いくつかのオブジェクトを作成したり。具体的には、Wwise Authoring API経由でWwiseに接続した状態で、しかもライブで、オーディオファイルをインポートしたり、Wwiseのサウンドやコンテナを作成したり、バスをアサインしたり、ボリュームなどのプロパティを設定したりできます。
お好みのDAWや、ボイスレコーディングのパイプライン、使い慣れたアセットマネジメントツールなど使用中のツールに、作業の自動化をインテグレーションすることが可能です。
モバイル端末から遠隔操作
タブレットやスマートフォンなどモバイルの端末からWwiseを遠隔操作するというシナリオも、面白い使い方の1つです。例えば、トランスポートコントロールを端末に搭載して、オブジェクトの再生をスマホでコントロールできます。XYパッドから指一本で2つのゲームパラメータをコントロールする、便利な使い方も。タブレットを遠隔のミキシングデスクとして使う?ラウンドネスメーターをスマホで見る?使い方は、あなた次第です。
カスタムビューの実装
Wwiseには沢山のビューがそろっていますが、まだ何か足りませんか?前から、イベントを時系列で表示させたいと思っていた?それとも、プロファイリングデータを収集して、常に再生されていないオブジェクトや、再生され過ぎるオブジェクトについて、再生の統計情報を集めたい?Wwise Parametric EQ Effectのグラフエディターを追加したい?
今回、Wwiseの裏にあるデータにアクセスできるようになり、データの変更も許可されています。あなたもアイディアをシェアしてみませんか?
言語の壁なし
新しいWwise Authoring APIをデザインするにあたって、特定のプログラミング言語やOSに縛られないように特に気を使っています。実際、インターネットに対応する言語であれば、C++、JavaScript、Python、C#などでも、そしてどのOSからも、使用できます。さらに、最大のクロスプラットフォーム環境となったウェブブラウザ内でも、使えます。
想像力さえ働かせれば、可能性は無限大
コメント