バージョン

menu_open

Integration Demoサンプル

Integration Demo(インテグレーションデモ)アプリケーションには、サウンドエンジンの様々な機能をゲームに統合する方法を示す一連のデモが含まれています。

Note.gif
Note: このセクションに掲載されているコードは、すべて "samples\IntegrationDemo\$(Platform)" ディレクトリ内のサンプルプロジェクトから利用可能です。

デモのビルドと実行

インテグレーションデモバイナリは、"$(Platform)\[Debug|Profile|Release]\bin" ディレクトリより利用可能です。アプリケーションをリビルドする場合は、次の手順に従ってください:

Windows

  • マシンにインストールされている DirectX SDK のバージョンが、プラットフォーム要件 に記載されているバージョンと一致していることを確認してください。
  • Windows 用 Integration Demo SoundBanks をデフォルトパスに生成します。
  • "samples\IntegrationDemo\Windows" にあるソリューションを開き、目的のコンフィギュレーションを使用してビルドします。

Integration Demo を実行するには、上記のディレクトにある実行可能ファイルを起動すればよいだけです。

Mac

  • マシンにインストールされているXCodeのバージョンが、プラットフォーム要件 に記載されているバージョンと一致していることを確認してください。
  • "samples\IntegrationDemo\Mac" にある XCode プロジェクトを開き、目的のコンフィギュレーションを使用してビルドします。
  • Integration Demo を実行するには、"Mac\[Debug|Profile|Release]\bin" ディレクトリにある実行可能ファイルを起動します。
    Note.gif
    Note: バンクは、インストーラに含まれているので、生成する必要がありません。

iOS

  • マシンにインストールされているiOS SDKのバージョンが、プラットフォーム要件 に記載されているバージョンと一致していることを確認してください。
  • "samples\IntegrationDemo\iOS" にある XCode プロジェクトを開き、目的のコンフィギュレーションを使用してビルドします。
    Note.gif
    Note: バンクは、インストーラに含まれているので、生成する必要がありません。

Vita

  • マシンにインストールされているVITA SDKのバージョンが、プラットフォーム要件 に記載されているバージョンと一致していることを確認してください。
  • "samples\IntegrationDemo\WwiseProject" にある Wwise プロジェクトを開き、Vita 用 SoundBanks をデフォルトパスに生成します。
  • "samples\IntegrationDemo\Vita" フォルダにある Visual Studio ソリューションを開き、目的のコンフィギュレーション(デバック/プロファイル/リリース)をビルドします。
  • Vita 用の Working Directory プロパティが "<Installation Path>\SDK\samples\IntegrationDemo\WwiseProject\GeneratedSoundbanks\Vita" に設定されていることを確認してください。これを Visual Studioで設定するには、Project メニューから ProDG VSI Project Properties を選択します。
  • Visual Studio からアプリケーションを起動します(F5キー)。

Android

  • マシンにインストールされている Android 用 SDK とツールのバージョンが、プラットフォーム要件 に記載されているバージョンと一致していることを確認してください。
  • "samples\IntegrationDemo\WwiseProject" にある Wwise プロジェクトを開き、Android 用 SoundBanks をデフォルトパスに生成します。
  • 通常バンクは、apk 実行可能ファイル内にパッケージ化されなければなりません。しかしながら、簡素化のためにバンクは IntegrationDemo apk 内にパッケージ化されません。Android用バンクを Android デバイス上の folder /sdcard/IntegrationDemo にコピーする必要があります。SDカードをご利用でない場合は、必要に応じて SDK/samples/IntegrationDemo/Android/platform.h ファイルにあるパスを変更することができます。
  • Eclipse プロジェクトを Eclipse ワークスペースにロードします(File > Import > Existing Project)。
  • プロジェクトのルートとして "SDK/samples/IntegrationDemo/Android" を選択します。
  • インテグレーションデモプロジェクト上を右クリックし、"Run as Android Application" を選択します。
Note.gif
Note: インテグレーションデモと通信するためにソフトウェアキーボードやハードウェアキーボードを使用する必要があります。ソフトウェアキーボードは、2秒間メニューボタンを押したままにすると開くことができます。

Usage 使用上の注意

キーボード、接続されたコントローラまたは DirectInput 対応デバイスを使用して、Windows上の Integration Demo をナビゲートすることができます。

  • ページ上のコントロール間をナビゲートするには、ゲームパッドの方向パッド上にある上向きおよび下向き矢印キー、または上向きボタンおよび下向きボタンを使用します。
  • 選択したコントロールをアクティブにするには、ゲームパッドの Enter キーまたは A/X ボタンを押します。
  • メニュー内のページを戻るには、ゲームパッドの Escape キーまたは B/O ボタンを押します。

特定のコントロール(例:トグルコントロール/Toggle Controlsや数値スライダ/Numeric Sliders)では、ユーザーによる値の変更が可能です。値を変更するには、ゲームパッドの方向パッド上で左矢印キーおよび右矢印キー、または、左ボタンおよび右ボタンを押してください。

Tip.gif
Tip: アプリケーションには、オンラインヘルプ機能があります。Helpページにアクセスするには、キーボードのF1キーまたはゲームパッドの START ボタンを押します。

デモ

各デモの背後にあるコードは、"samples\IntegrationDemo\DemoPages" ディレクトリにあります。例えば、ローカリゼーションデモ用のコードは、このディレクトリの DemoLocalization.h または DemoLocalization.cpp ファイルの中にあります。

Tip.gif
Tip: 各デモの関連情報も Integration Demo アプリケーションのオンラインヘルプに掲載されています。

ローカリゼーション

このデモは、ローカライズされたオーディオの実装方法を示すものです。ローカライズされたサウンドオブジェクトは、SoundBank 生成ディレクトリのサブディレクトリ内にある言語固有 SoundBanks 内にあります。現在の SoundBank をアンロードし、目的の言語固有 SoundBank をリロードすることで、ローカリゼーションエフェクトを実現することができます。

現在の言語を切り替えるには、"Language" トグルコントロールを使用します。言語を切り替えたら、"Say Hello" ボタンを押して、選択した言語での挨拶を聞いてみましょう。

言語およびローカリゼーションの詳細については、統合の詳細 - 言語とボイス を参照してください。

ダイナミックダイアログ

Dynamic Dialogue デモは、Wwise の Dynamic Dialogue 機能を使用する一連のテストを通じて実行されます。これらのテストはそれぞれ異なる制御フローを示し、各テストが作り出す効果をユーザーが聞けるようになっています:

  • Test 1: Wwise IDを使用して簡単なダイナミックシーケンスを再生する方法を示します。
  • Test 2: Test 1と同様、ただし、IDの代わりに文字列を使用します。
  • Test 3: 再生中にダイナミックプレイリストへ項目を追加する方法を示します。
  • Test 4: 再生中にダイナミックプレイリストへ項目を挿入する方法を示します。
  • Test 5: 空のプレイリストに項目が追加された場合の発生事項を示します。
  • Test 6: ダイナミックシーケンス上で "Stop" コールを使用する方法を示します。
  • Test 7: ダイナミックシーケンス上で "Break" コールを使用する方法を示します。
  • Test 8: ダイナミックシーケンス上で "Pause" と "Resume" コールを使用する方法を示します。
  • Test 9: ダイナミックシーケンスに項目をエンキューする時に"Delay"を使用する方法を示します。
  • Test 10: 再生中にプレイリストを消去する方法を示します。
  • Test 11: プレイリストが停止・消去された場合の発生事項を示します。
  • Test 12: プレイリスト上に "Break" が呼び出され、これが消去された場合の発生事項を示します。
  • Test 13: プレイリストが一時停止され消去された場合の発生事項を示します。
  • Test 14: ダイナミックダイアログでの作業中に、カスタムパラメータでコールバック関数を使用する方法を示します。
  • Test 15: タスクの実行(このケースでは、3項目再生後に再生を解除)のためのコールバック使用方法を示します。
  • Test 16: タスクの実行(このケースでは、最初のシーケンス終了後に2番目のシーケンスを再生)のためのコールバック使用方法を示します。
  • Test 17: Wwise イベントをダイナミックダイアログと連動させて使用する方法を示します。

ダイナミックダイアログに関する詳細は、統合の詳細 - ダイナミックダイアログ を参照してください。

RTPC (自動車エンジン)

このデモは、RTPCの使用法を示すものです。RPM数値スライダが、エンジンに関連付けられた RTPC値と連動しています。自動車エンジンのオーディオをスタート/ストップするには "Start Engine" ボタンを押してください。RTPC値を変更し、そのエフェクトを聞くにはRPMスライダを使用します。

RTPCに関する詳細は、統合の詳細 - RTPC を参照してください。

Footsteps(足音)

このデモは、ゲーム内に足音を実装するための様々な方法を示すものです。また、地面が使用されない際にメディアおよびメタデータのメモリを最小限に抑える地面主導型のバンク管理方法も示されています。加えて、環境エフェクトの非常に単純なケースも示されています。

この例では、足音サウンドが次の3つの変数によって変更されます:サーフェス(地面)、歩行速度、歩行者重量。

  • サーフェス (Surface スイッチ) サーフェスはサウンドの実際のプロパティを変更するため、シミュレートできません。しかし、足音は衝撃音(impact sounds)なので、ほとんどのサーフェスタイプに対して SoundSeed Impact を使用することにしました。各サーフェスは、それぞれに固有な共振特性を持っており、SoundSeed Impact はこれらを調整することができます。SoundSeed Impact は、実際の音の小規模なサブセットから広範囲にわたるサウンドを生み出すことができるので、スペースを節約することができます。
  • 歩行速度 (Footstep_Speed RTPC) このプロジェクトは、ほとんどすべてのケースにおいて、歩行から走行へのスムーズな移行をサポートします。変数は、次のように仮定されます:速く歩けば歩くほど、足音がより短くなり、より激しく地面を踏む。これは、それぞれピッチ(Pitch) とボリューム(Volume)の変化に対応します。プロジェクト内でこれらのパラメータに対するRTPCを探してください。このデモでは、Speed RTPC がジョイスティックの変位により直接駆動されます。
  • 歩行者重量 (Footstep_Weight RTPC) 足音構造は、様々な歩行者重量をサポートします。現実の世界においてと同様、体重の重い歩行者ほど、足音がより長く重々しくなると仮定できます。これは、それぞれピッチと LPF の変化に対応します。プロジェクト内でこれらのパラメータに対するRTPCを探してください。

サーフェスごとに、サウンドサンプルと変数に対する異なった対処方法を示しています。これらは、独自の構造で使用可能な提案やアイデアです。

  • 砂利(Gravel) Gravel サンプルは非常に騒々しいため SoundSeed Impact とは合いません。また、両者は非常に類似しているので、このサーフェスのサンプルを多数持つこと以外には何も得ることがありません。更なるバリエーションは、ボリューム、LPF とピッチのランダム化によって獲得できます。重量(Weight)による影響は、EQエフェクトのゲインパラメータを Weight RTPC によって駆動することにより実行可能です。軽い足音に対しては、より高い周波数がブーストされ、重い足音に対してはその逆です。ピッチやボリュームにRTPCが与える影響に留意してください。
  • メタル(Metal) たくさんのレゾナンス(共鳴)を持つメタルサーフェスは、SoundSeed Impact 使用の模範例です。サンプルでは、かかとによるインパクト(衝撃)に続いてつま先のインパクトを簡単に聞き取ることができます。さらなるバリエーションを持たせるため、各サンプルを2つに分割します。これにより、各セクションのピッチを個別にランダム化することができます。サンプル精度のトランジションシーケンスを使用して、分割したサンプルを再結合します。この方法で、5つのオリジナルサンプルにより25の基本的な組み合わせが提供されます。ピッチのランダム化と SoundSeed Impact の自然なランダム化を追加すれば、かなりバラエティに富んだサウンドを得ることができます。Weight RTPC と Speed RTPC は、SoundSeed Impact パラメータおよびピッチと LPF を駆動します。
  • ウッド(Wood) ウッドサーフェスでは、歩行と走行のサンプルが非常に異なっていました。重い足音と軽い足音も同様です。従って、これはより基本的なスイッチ階層に編成されました。両スイッチコンテナは、RTPC 駆動のスイッチにより駆動されます(GameSync タブで、Footstep_Gait と Footstep_Weight を探してください)。ウッドサーフェスは、SoundSeed Impact とも良好に動作します。
  • 土(Dirt) このサーフェスでの歩行および走行サンプルは、いくぶん類似していたため、ブレンドコンテナでトランジションを実行することにしました。重量を考慮できるよう、ピッチとボリュームに対してRTPCを使用しました。

バンク管理

このデモでは、バンクが4つのメディアバンクに分けられています(1サーフェスにつき1つ)。画面を4つに分け、それぞれのサーフェス間に、両サーフェス用のバンクがロードされるバッファゾーンを1つずつ設けました。これは、バンクのロードにより引き起こされる足音間のギャップを回避するためです。バンクマネージャの GameSync タブを見てください。それぞれのサーフェス用バンクには、対応するサーフェススイッチのみが含まれています。バンク内のサーフェススイッチに関連する階層以外は何も入っていません。大規模なゲームにおいては、この設定により、特定のシナリオにおいて未使用サンプルの量を制限し、使用メモリ量を制限することができます。レベルまたはセクションベースのゲームでは、使用されるサーフェスが設計段階から分かっているため、これらの識別が簡単です。オープンゲームでは、少し状況が違いサーフェスの識別がゲーム構成に多くを依存しますが、可能ではあります。例えば、現在キャラクターが温暖な街にいて、寒い場所へしばらく移動しない場合は、"snow and ice" サーフェスサウンドをメモリに保っておくと無駄になります。

字幕/マーカー

このデモは、サウンドファイル内部のマーカーがヒットしたときに通知を受信するためのコールバック関数を設定する方法を示すものです。このデモにおいては、字幕をオーディオトラックと同期させるためにマーカーを使用しています。

マーカーに関する詳細は、マーカーの統合を参照してください。

ミュージックコールバック

Music Sync Callback デモ - このデモは、音楽コールバックの使い方一般についてを示しています。ビートならびにバー通知は、音楽のテンポならびに拍子記号情報から生成されます。 Music Playlist Callback デモ - ランダムプレイリストに強制的に次のアイテムを経時的に選択させる例です。プレイリストアイテムは、コールバックを介しても停止することができます。 MIDI Callback デモ - コールバックを使用してゲームが受け取ることのできる MIDI メッセージを表示します。MIDI メッセージにはMIDIノート、CC値、ピッチベンド、アフタータッチ、およびプログラムチェンジが含まれます。

ミュージックコールバックに関する詳細は、統合の詳細 - ミュージックコールバック を参照してください。

インタラクティブミュージック

この例では、ミュージックスイッチコンテナが使用されています。デモページにリストされているイベントをトリガーして、ステートを切り替えてみてください。ステートの切り替え(スイッチ)により、即時またはミュージックコンテナのルールで指定された時点で結果が生成されます。

モーション

Wwiseモーションエンジンをゲームに統合する方法を示すマルチプレイヤーデモです。

このデモにおいては、各プレイヤーには、ドアを閉めるか、手に持っている銃を撃つかのオプションがあります。ドアゲームオブジェクトとプレイヤーの銃に対してアクティブなリスナーが各プレイヤー用に設定されています。従って、いずれかのプレイヤーがドアを閉めると、すべてのプレイヤーがフォースフィードバック反応を受け取ります。一方、銃の場合は、発砲したプレイヤーのみが射撃イベントのフォースフィードバックを受け取ります。

Windows
Note.gif
Note: キーボードを使用するプレイヤーは、このデモに参加するためにゲームパッドを差し込む必要があります。

Wwise Motion Engineに関する詳細は、Wwiseモーションの統合 を参照してください。

マイク/AudioInput

このデモは、マイクからオーディオを録音し、これを 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 プロジェクト

このプログラム用のWwiseプロジェクトは、"samples\IntegrationDemo\WwiseProject" にもあります。

Note.gif

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 で次の操作を実行してください:

  • SoundBanks リスト内の全バンクにチェックマークを付ける。
  • テスト中の全プラットフォームにチェックマークを付ける。
  • Languages リスト内の全言語にチェックマークを付ける。

これらが正しく設定されたら、SoundBank Manager の Generate をクリックしてバンクを生成することができます。

追加のサンプルコード

インテグレーションデモとこのデモ用の Wwise プロジェクトは、サウンドエンジン統合の基本を実証するために、非常にシンプルなものに保たれています。より実際的な統合プロジェクトに関しては、AkCube サウンドエンジン統合サンプルプロジェクト を参照してください。


このページはお役に立ちましたか?

サポートは必要ですか?

ご質問や問題、ご不明点はございますか?お気軽にお問い合わせください。

サポートページをご確認ください

あなたのプロジェクトについて教えてください。ご不明な点はありませんか。

プロジェクトを登録していただくことで、ご利用開始のサポートをいたします。

Wwiseからはじめよう