Integration Demo(インテグレーションデモ)アプリケーションには、サウンドエンジンの様々な機能をゲームに統合する方法を示す一連のデモが含まれています。
|
Note: このセクションに掲載されているコードは、すべて "samples\IntegrationDemo\$(Platform)" ディレクトリ内のサンプルプロジェクトから利用可能です。 |
インテグレーションデモバイナリは、"$(Platform)\[Debug|Profile|Release]\bin" ディレクトリより利用可能です。アプリケーションをリビルドする場合は、次の手順に従ってください:
Integration Demo を実行するには、上記のディレクトにある実行可能ファイルを起動すればよいだけです。
|
Note: バンクは、インストーラに含まれているので、生成する必要がありません。 |
|
Note: バンクは、インストーラに含まれているので、生成する必要がありません。 |
|
Note: インテグレーションデモと通信するためにソフトウェアキーボードやハードウェアキーボードを使用する必要があります。ソフトウェアキーボードは、2秒間メニューボタンを押したままにすると開くことができます。 |
キーボード、接続されたコントローラまたは DirectInput 対応デバイスを使用して、Windows上の Integration Demo をナビゲートすることができます。
特定のコントロール(例:トグルコントロール/Toggle Controlsや数値スライダ/Numeric Sliders)では、ユーザーによる値の変更が可能です。値を変更するには、ゲームパッドの方向パッド上で左矢印キーおよび右矢印キー、または、左ボタンおよび右ボタンを押してください。
|
Tip: アプリケーションには、オンラインヘルプ機能があります。Helpページにアクセスするには、キーボードのF1キーまたはゲームパッドの START ボタンを押します。 |
各デモの背後にあるコードは、"samples\IntegrationDemo\DemoPages" ディレクトリにあります。例えば、ローカリゼーションデモ用のコードは、このディレクトリの DemoLocalization.h または DemoLocalization.cpp ファイルの中にあります。
|
Tip: 各デモの関連情報も Integration Demo アプリケーションのオンラインヘルプに掲載されています。 |
このデモは、ローカライズされたオーディオの実装方法を示すものです。ローカライズされたサウンドオブジェクトは、SoundBank 生成ディレクトリのサブディレクトリ内にある言語固有 SoundBanks 内にあります。現在の SoundBank をアンロードし、目的の言語固有 SoundBank をリロードすることで、ローカリゼーションエフェクトを実現することができます。
現在の言語を切り替えるには、"Language" トグルコントロールを使用します。言語を切り替えたら、"Say Hello" ボタンを押して、選択した言語での挨拶を聞いてみましょう。
言語およびローカリゼーションの詳細については、統合の詳細 - 言語とボイス を参照してください。
Dynamic Dialogue デモは、Wwise の Dynamic Dialogue 機能を使用する一連のテストを通じて実行されます。これらのテストはそれぞれ異なる制御フローを示し、各テストが作り出す効果をユーザーが聞けるようになっています:
ダイナミックダイアログに関する詳細は、統合の詳細 - ダイナミックダイアログ を参照してください。
このデモは、RTPCの使用法を示すものです。RPM数値スライダが、エンジンに関連付けられた RTPC値と連動しています。自動車エンジンのオーディオをスタート/ストップするには "Start Engine" ボタンを押してください。RTPC値を変更し、そのエフェクトを聞くにはRPMスライダを使用します。
RTPCに関する詳細は、統合の詳細 - RTPC を参照してください。
このデモは、ゲーム内に足音を実装するための様々な方法を示すものです。また、地面が使用されない際にメディアおよびメタデータのメモリを最小限に抑える地面主導型のバンク管理方法も示されています。加えて、環境エフェクトの非常に単純なケースも示されています。
この例では、足音サウンドが次の3つの変数によって変更されます:サーフェス(地面)、歩行速度、歩行者重量。
サーフェスごとに、サウンドサンプルと変数に対する異なった対処方法を示しています。これらは、独自の構造で使用可能な提案やアイデアです。
このデモでは、バンクが4つのメディアバンクに分けられています(1サーフェスにつき1つ)。画面を4つに分け、それぞれのサーフェス間に、両サーフェス用のバンクがロードされるバッファゾーンを1つずつ設けました。これは、バンクのロードにより引き起こされる足音間のギャップを回避するためです。バンクマネージャの GameSync タブを見てください。それぞれのサーフェス用バンクには、対応するサーフェススイッチのみが含まれています。バンク内のサーフェススイッチに関連する階層以外は何も入っていません。大規模なゲームにおいては、この設定により、特定のシナリオにおいて未使用サンプルの量を制限し、使用メモリ量を制限することができます。レベルまたはセクションベースのゲームでは、使用されるサーフェスが設計段階から分かっているため、これらの識別が簡単です。オープンゲームでは、少し状況が違いサーフェスの識別がゲーム構成に多くを依存しますが、可能ではあります。例えば、現在キャラクターが温暖な街にいて、寒い場所へしばらく移動しない場合は、"snow and ice" サーフェスサウンドをメモリに保っておくと無駄になります。
このデモは、サウンドファイル内部のマーカーがヒットしたときに通知を受信するためのコールバック関数を設定する方法を示すものです。このデモにおいては、字幕をオーディオトラックと同期させるためにマーカーを使用しています。
マーカーに関する詳細は、マーカーの統合を参照してください。
Music Sync Callback デモ - このデモは、音楽コールバックの使い方一般についてを示しています。ビートならびにバー通知は、音楽のテンポならびに拍子記号情報から生成されます。 Music Playlist Callback デモ - ランダムプレイリストに強制的に次のアイテムを経時的に選択させる例です。プレイリストアイテムは、コールバックを介しても停止することができます。 MIDI Callback デモ - コールバックを使用してゲームが受け取ることのできる MIDI メッセージを表示します。MIDI メッセージにはMIDIノート、CC値、ピッチベンド、アフタータッチ、およびプログラムチェンジが含まれます。
ミュージックコールバックに関する詳細は、統合の詳細 - ミュージックコールバック を参照してください。
この例では、ミュージックスイッチコンテナが使用されています。デモページにリストされているイベントをトリガーして、ステートを切り替えてみてください。ステートの切り替え(スイッチ)により、即時またはミュージックコンテナのルールで指定された時点で結果が生成されます。
Wwiseモーションエンジンをゲームに統合する方法を示すマルチプレイヤーデモです。
このデモにおいては、各プレイヤーには、ドアを閉めるか、手に持っている銃を撃つかのオプションがあります。ドアゲームオブジェクトとプレイヤーの銃に対してアクティブなリスナーが各プレイヤー用に設定されています。従って、いずれかのプレイヤーがドアを閉めると、すべてのプレイヤーがフォースフィードバック反応を受け取ります。一方、銃の場合は、発砲したプレイヤーのみが射撃イベントのフォースフィードバックを受け取ります。
|
Note: キーボードを使用するプレイヤーは、このデモに参加するためにゲームパッドを差し込む必要があります。 |
Wwise Motion Engineに関する詳細は、Wwiseモーションの統合 を参照してください。
このデモは、マイクからオーディオを録音し、これを Wwise サウンドエンジンに入力する方法を示すものです。Integration Demo で "Microphone Demo" を選び、マイクに向かって話しかけ、Wwise サウンドエンジンがあなたの声を再生するのを聞いてみてください。"Enable Delay" をトグルし、Audio Input プラグインに入力されたオーディオデータが、Wwiseで作成された他のサウンドと同様に処理可能であることを示すサンプルを聞いてみてください。
各プラットフォームが持つマイクにアクセスするためのコア API は、それぞれに異なります。Integration Demo コードで、SoundInput および SoundInputMgr クラスをチェックし、これらがいかに AudioInput プラグインと相互作用しているかを確認してください。
マイクのサンプルは、すべてのプラットフォームにおいて "Logitech USB Microphones" を使用してテストされました。
オーディオ入力ソースプラグイン もご参照してください。
このデモは、外部ソースの使用方法を示すものです。どちらのボタンも同じサウンド構造を再生しますが、ランタイム時には、ソース "1"、"2" および "3"、または、ソース"4"、 "5" および "6"のいずれかと設定されています。
外部ソース機能に関する詳細は、外部ソースの統合 を参照してください。
また、外部ソースは、ファイルパッケージャ(File Packager)にパッケージ化されており、デモページを開くときにロードされます。ファイルパッケージャに関する詳細は Wwise Help を、ファイルパッケージのランタイム時アスペクトの詳細については、 ストリーミング/ストリームマネージャ の章を参照してください。
このプログラム用のWwiseプロジェクトは、"samples\IntegrationDemo\WwiseProject" にもあります。
|
Note: このプログラム用の Wwise プロジェクトは、オーディオファイルの様々な変換形式を使用していますが、ご利用の Wwise インストールにサポートされるプラットフォームに応じて、中には利用できないものもある可能性があります。Wwise でプロジェクトを開くと、次のような警告が表示される場合があります: '\Actor-Mixer Hierarchy\Dialogues\Captain_A\UNA-BM-AL_01\UNA-BM-AL_01' は、「XMA」変換プラグインを使用しますが、これはインストールされません。 すべてのユニバーサルプラットフォームで変換形式をPCMに変更することで、これらのメッセージを消すことができます。詳しくは、Wwise ユーザーガイドを参照してください: プロジェクトを仕上げる > プラットフォームとランゲージのバージョン管理 > 複数のプラットフォームに対応するオーサリング > オーディオファイルをコンバージョンする。 |
このプロジェクト用のサウンドバンクも、SDK と共に "samples\IntegrationDemo\WwiseProject\GeneratedSoundBanks" フォルダにインストールされています。
サウンドバンクを生成するには、SoundBank Manager で次の操作を実行してください:
これらが正しく設定されたら、SoundBank Manager の Generate をクリックしてバンクを生成することができます。
インテグレーションデモとこのデモ用の Wwise プロジェクトは、サウンドエンジン統合の基本を実証するために、非常にシンプルなものに保たれています。より実際的な統合プロジェクトに関しては、AkCube サウンドエンジン統合サンプルプロジェクト を参照してください。