menu
 
バージョン
2022.1.19.8584

2024.1.6.8842

2023.1.14.8770

2022.1.19.8584

2021.1.14.8108

2019.2.15.7667

2019.1.11.7296

2018.1.11.6987

2017.2.10.6745

2017.1.9.6501

2016.2.6.6153

2015.1.9.5624

menu

警告:一部の保護された情報は表示されません。
特定プラットフォームのライセンスを所有しているユーザであれば、サインインしてください。
Wwise SDK 2022.1.19
Integration Demoサンプル

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

info注釈: このセクションで紹介するコードはすべて samples\IntegrationDemo\ ディレクトリにあるサンプルプロジェクトで、提供されています。

Wwise プロジェクト

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

info

注釈: このプログラム用の Wwise プロジェクトは、オーディオファイルの様々な変換形式を使用していますが、ご利用の Wwise インストールにサポートされるプラットフォームに応じて、中には利用できないものもある可能性があります。Wwise でプロジェクトを開くと、次のような警告が表示される場合があります:

\Actor-Mixer Hierarchy\Dialogues\Captain_A\UNA-BM-AL_01\UNA-BM-AL_01 はコンバージョンプラグイン'XMA'を使いますが、これはインストールされていません。

利用できない全てのプラットフォームの、変換形式をPCMに変更することで、これらのメッセージを削除できます。詳しくは、Wwise ユーザーガイドの次のトピックを参照してください: オーディオファイルをコンバージョンする

このプロジェクトのSoundBankは、 samples\IntegrationDemo\WwiseProject\GeneratedSoundBanks フォルダのSDKでも、インストールされます。

サウンドバンクを生成するには、SoundBank Manager で次の操作を実行してください:

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

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

デモのビルドと実行

Integration Demoのバイナリは、 \[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 ディレクトリにある実行可能ファイルを起動するだけです。

iOS/tvOS/visionOS

  • Confirm that the version of the iOS/tvOS/visionOS SDK installed on your machine matches the one mentioned in プラットフォーム要件 .
  • Open the Xcode project found in samples/IntegrationDemo/iOS, samples/IntegrationDemo/tvOS or samples/IntegrationDemo/visionOS and build using the desired configuration.

Android

  • マシンにインストールされている Android 用 SDK とツールのバージョンが、 プラットフォーム要件 に記載されているバージョンと一致していることを確認してください。
  • samples\IntegrationDemo\WwiseProject にあるWwiseプロジェクトを開き、Android用SoundBankをデフォルトパスに生成します。
  • Integration Demoをリビルドするには(注:SDKでプリビルドされています):
    • あなたの ANDROID_NDK_HOME の環境変数が、有効なAndroid NDK r17cを指していることを確認します。
    • コマンドプロンプトを開きます。
    • ディレクトリを、 samples\IntegrationDemo\Android に変更します。
    • Build.cmd [armeabi-v7a|x86|arm64-v8a|x86_64] [Debug|Profile|Release] を入力します。
  • 接続されたデバイスにインストールするには:
    • コマンドプロンプトを開きます。
    • ディレクトリを samples\IntegrationDemo\Android\Android_[armeabi-v7a|arm64-v8a|x86|x86_x64]\[Debug|Profile|Release]\bin に変更します。例: samples\IntegrationDemo\Android\Android_armeabi-v7a\Debug\bin
    • adb install IntegrationDemo.apk を入力します。

Android Studioを使った 代替 ビルド方式 あなたがAndroid Studioをインストール済みであれば、Integration Demoをコンパイルしデプロイするgradleプロジェクトを提供しています。Android Studioで samples\IntegrationDemo\Android ディレクトリを開くだけで、アプリをビルドしローンチできるはずです。

info注釈: Integration Demoを操作するにはソフトウェアキーボードやハードウェアキーボードを使用する必要があります。移動するには、W、A、S、Dのキーを使います。 Enter で選択し、 Space で戻ります。

OpenHarmony

  • Confirm the versions of the SDK and tools for OpenHarmony on your machine match the ones mentioned in プラットフォーム要件.
  • Open the Wwise project in samples\IntegrationDemo\WwiseProject and generate the SoundBanks for OpenHarmony in their default paths.
  • To recompile the C++ code and produce a new libIntegrationDemo.so shared library (note that it is pre-built in the SDK):
    • Make sure you have set the OPENHARMONY_NATIVE_SDK environment variable to point to the location of the OpenHarmony native SDK.
    • Open a command-line prompt and navigate to SDK\samples\IntegrationDemo\OpenHarmony.
    • Type Build_Native.cmd [Debug|Profile|Release].
  • To re-build the final Integration Demo app bundle (.hap):
    • Open SDK\samples\IntegrationDemo\OpenHarmony in DevEco Studio IDE.
    • Empty out the "signingConfigs" key in SDK\samples\IntegrationDemo\OpenHarmony\build-profile.json5
    • Using DevEco Studio, re-configure the signing process using your own certificate and provisioning profile. Consult the DevEco Studio documentation on signing applications for more details.
    • In the Product selection panel, choose the following:
      • Product: default
      • Build Mode: debug
      • Target Select: choose the appropriate build configuration, such as arm64-v8a_Debug. Choosing "default" here will not work.
    • Once this is done, DevEco Studio is properly configured to build and deploy IntegrationDemo to a connected device.

Linux

  • あなたのLinuxマシンにあるLinuxのSDKとツールのバージョンが、 プラットフォーム要件 に記載されているバージョンと一致していることを確認してください。
  • 以下のパッケージが必要です:
    • make
    • clang
    • libsdl2-dev
  • コマンドラインを使い、 次のIntegrationDemo Linuxディレクトリまで移動します: cd SDK/samples/IntegrationDemo/Linux
  • IntegrationDemo_Linux.make という名前のMakefileや、 Linuxに固有の情報 で説明された変数を使い、ビルドします。
    • 例えば、Debugコンフィギュレーションで64-bitバイナリをビルドするには: make -f ./IntegrationDemo_Linux.make AK_LINUX_ARCH=x64 config=debug
  • Integration Demo を実行するには、ディレクトリ SDK/Linux_x[32|64]/[Debug|Profile|Release]/bin にある実行ファイルを起動するだけです。

使用上の注意

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

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

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

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

デモ

各デモの背後にあるコードは、 samples\IntegrationDemo\DemoPages ディレクトリにあります。 例えば、Localizationデモのコードは、このディレクトリの DemoLocalization.h ファイルと DemoLocalization.cpp ファイルの中にあります。

check_circleTip: 各デモの関連情報も 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 14: ダイナミックダイアログでの作業中に、カスタムパラメータでコールバック関数を使用する方法を示します。
  • Test 16: タスクの実行(このケースでは、最初のシーケンス終了後に2番目のシーケンスを再生)のためのコールバック使用方法を示します。
  • Test 17: Wwise EventをDynamic Dalogueと連動させて使用する方法を示します。

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

RTPC (自動車エンジン)

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

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

Footsteps(足音)

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

In this example, the footstep sounds are modified by two variables: walking speed, and walker weight.

  • 歩行速度 (Footstep_Speed RTPC) このプロジェクトは、ほとんどすべてのケースにおいて、歩行から走行へのスムーズな移行をサポートします。変数は、次のように仮定されます:速く歩けば歩くほど、足音がより短くなり、より激しく地面を踏む。これは、それぞれピッチ(Pitch) とボリューム(Volume)の変化に対応します。プロジェクト内でこれらのパラメータに対するRTPCを探してください。このデモでは、Speed RTPC がジョイスティックの変位により直接駆動されます。
  • 歩行者重量 (Footstep_Weight RTPC) 足音構造は、様々な歩行者重量をサポートします。現実の世界においてと同様、体重の重い歩行者ほど、足音がより長く重々しくなると仮定できます。これは、それぞれピッチと LPF の変化に対応します。プロジェクト内でこれらのパラメータに対するRTPCを探してください。

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

  • Gravel Our gravel samples are very similar, so it won't give us anything more to have a lot of samples of this surface. 更なるバリエーションは、ボリューム、LPF とピッチのランダム化によって獲得できます。重量(Weight)による影響は、EQエフェクトのゲインパラメータを Weight RTPC によって駆動することにより実行可能です。軽い足音に対しては、より高い周波数がブーストされ、重い足音に対してはその逆です。ピッチやボリュームにRTPCが与える影響に留意してください。
  • ウッド(Wood) ウッドサーフェスでは、歩行と走行のサンプルが非常に異なっていたほか、重い足音と軽い足音も、異なりました。従って、これはより基本的なSwitch階層に編成されました。両Switch Containerは、RTPC 駆動のスイッチにより駆動されます(GameSync タブで、Footstep_Gait と Footstep_Weight を探してください)。
  • 土(Dirt) このサーフェスでの歩行および走行サンプルは、いくぶん類似していたため、ブレンドコンテナでトランジションを実行することにしました。重量を考慮できるよう、ピッチとボリュームに対してRTPCを使用しました。

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

字幕/マーカー

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

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

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

Music sync callback demo

ミュージックコールバックの一般的な使い方を示すデモです。ビートならびにバー通知は、音楽のテンポならびに拍子記号情報から生成されます。

Music playlist callback demo

ランダムプレイリストで、次のアイテムを強制的に順番通りに選択させる方法を示すデモです。プレイリストアイテムは、コールバックを介しても停止することができます。

MIDI callback demo

コールバックを使用してゲームが受け取ることのできる MIDI メッセージを表示します。MIDI メッセージにはMIDIノート、CC値、ピッチベンド、アフタータッチ、およびプログラムチェンジが含まれます。

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

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

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

MIDI API

この例は、MIDI APIの使い方のデモです。アクティブなメトロノームをシミュレーションするには、 Start Metronome ボタンを押します。次に、 BPM スライダを選択してLEFTやRIGHTを押し、値を変えます。このデモでは、登録されたコールバック関数を使い、MIDI Eventを PostMIDIOnEvent function 関数経由でサウンドエンジンに送信します。

Motion(モーション)

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

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

info注釈: Windowsでこのデモに参加するには、キーボードを使っているプレイヤーはゲームパッドをプラグインしてください。

このコードは、セカンダリアウトプット、Wwise Motion、そしてリスナー・エミッタ管理の使い方を示します。

参照

マイク/AudioInput

このデモは、マイクからオーディオを録音し、これを Wwise サウンドエンジンに入力する方法を示すものです。Integration Demoで Microphone Demo を選択し、マイクに向かって話しかけ、自分の音声がWwiseサウンドエンジンで再生されるのを聞いてみてください。 Enable Delay をトグルし、Audio Inputプラグインに入力したオーディオデータが、Wwiseで作成したほかの音と同様に処理される例を聞いてください。

各プラットフォームが持つマイクにアクセスするためのコア API は、それぞれに異なります。Integration Demo コードで、 SoundInput および SoundInputMgr クラスをチェックし、これらがいかに AudioInput プラグインと相互作用しているかを確認してください。

info注釈: このデモは、次のプラットフォームに対応しています: Windows、UWP、macOS、iOS、tvOS。
参照

ポジショニング

これらのデモは、Wwiseが提供する3Dポジショニングの様々な方式を示すものです。

あなたがこのページに入った途端、ヘリコプター音の再生が始まります。画面の平面であるXやZで、以下のキーを使い、'o' を動かします:

  • 右スティック
  • 矢印キー、Dパッド 動かすと、音も移動するのが分かります。座標が画面の左下に表示されます。

Position Demo

ポジションを1つだけ設定するデモです。

Multi-Position Demo

ポジションを2つ設定するデモです。

Spatial Audio - Portals

スペーシャルオーディオのポジショニングにおいて、Portalsのエフェクトを示すデモです。2つのRoomに、Portalや移動可能なエミッタとリスナーがあり、音の伝播パスが表示され、その結果である回折の量が左下に表示されます。Portal主導の伝播に加え、同室内のオブストラクション(エミッタ・リスナー間と、ポータル・リスナー間)に、ゲーム側のネイティブのオブストラクションアルゴリズムが使われています。デモの最後に、Roomを使い複数チャンネルのアンビエントサウンドやルームトーンを再生し、それがPortalで集約され点音源となる様子を示しています。

参照

Spatial Audio - Geometry

Wwise Spatial Audio Geometry APIをダイレクト(ドライ)パスの回折に使う方法を示すデモで、これはReflectプラグインにも使えます(デモではReflectは未使用)。2つの壁と、移動可能なエミッタとリスナーがあり、回折パスが表示され、その結果である回折の量が左下に表示されます。Spatial Audioは、プロジェクト全体のオブストラクションと、組み込みパラメータのDiffractionの両方を回折でコントロールできるように設定されていますが、このプロジェクトで使われるのは前者だけです。

参照

Clustering/3D Submix

ポジショニングをバス階層だけで適用したデモです。Position + Orientation 3D Spatializationと、Attenuationが、バスだけに適用されているので、サウンドエンジンは、3つの子サウンドがミックスされてから、スペーシャリゼーションを適用します。

3D Portal and Standard Room

移動可能なエミッタとリスナーが互いに影響し合う様子を示すデモです。特に、PortalのあるRoomで示されているのは:

  • Aux busが、リスナーが現在入っているRoomをシミュレーションする様子
  • 3Dバスの 'Room1' -> 'Wet_Path_3D' という流れで、リスナーが入っていないRoomをシミュレーションする様子

3Dバスがリバーブエフェクトを適用してから、そのアウトプットにポジションとスペーシャリゼーションを適用し、Master Audio Busにミキシングします。

2X 3D Portal

移動可能なエミッタとリスナーが互いに影響し合う様子を、Portalのある2つの異なるRoomを使いながら示すデモです。ここでは、ゲームオブジェクトのポジションによって、Room同士が、エミッタのアウトプットに影響されるほど近い状況になる場合があります。

3Dバスがリバーブエフェクトを適用してから、そのアウトプットにポジションとスペーシャリゼーションを適用し、Master Audio Busにミキシングします。

外部ソース

このデモは、外部ソースの使用方法を示すものです。どちらのボタンも同じサウンド構造を再生しますが、ランタイム時には、ソース "1"、"2" および "3"、または、ソース"4"、 "5" および "6"のいずれかと設定されています。

参照

また、外部ソースは、ファイルパッケージャ(File Packager)にパッケージ化されており、デモページを開くときにロードされます。ファイルパッケージャに関する詳細は Wwise Help を、ファイルパッケージのランタイム時アスペクトの詳細については、 ストリーミング/ストリームマネージャ の章を参照してください。

BGMのデモ

この例で、Xbox OneやPS4のDVRの法的要件の対応を示します。多くのゲームに著作権で保護された音楽が含まれるので、内蔵DVRに録音できないことが多いです。このデモが、DVRで録音された音とそれ以外の音の違いを示します。Wwiseプロジェクトを参照し、 BGMDemo フォルダにある音の設定を確認して、特にルーティングや使用するオーディオデバイスに注意してください。録音不可能な音は、DVR_Bypass出力に出力するバスにルーティングされます。

参照

Options Page

Sound Engineの初期化設定の一部を確認できるページです。また、アプリケーション全体のオーディオアウトプットを選択できます。サンプルコードを見れば、Sound Engineの初期化と終了の仕方や、各種の物理的オーディオアウトプットを選択する方法が分かります。Sound Engine初期化の詳細については、以下の具体的なセクションを参照してください。

参照

追加のサンプルコード

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


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

サポートは必要ですか?

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

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

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

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

Wwiseからはじめよう