Wwhisperを使用したREAPERとWwiseの接続

ゲームオーディオ

みなさん、こんにちは。フランス出身でテクニカル・サウンドデザイナーをやっているThomasです。私が作成したスクリプトの1つであるWwhisperの詳細の一部をAudiokineticのブログで紹介できることを光栄に思います。

Wwhisperとは?

Wwhisperはテイクマーカーやオートメーションレーンを使用して、REAPERからWwiseにコマンドを送ることができるReaScriptです。

スクリプトの実行中、REAPERはカスタム再生ステートに切り替わり、マーカーやオートメーションポイントを検出すると、それらの名前に応じてさまざまなアクションを実行します。ゲームオブジェクトの作成と配置、イベントのポスト、スイッチ、ステート、RTPCの設定を行うことができます。

 

功績のある者にはその功績を認めよう

師匠と仰ぐVincent Sergentと、パーティーゲーム技術の融合について話し合いました。パーティーゲームのオーディオランドスケープはペースが速く、分割表示のマルチプレイヤー設定であるため、カオス状態になることも珍しくありません。このようなケースには、Wwise HDRなどの動的ミキシング技術が最適ではないかという考えが浮かびました。これを具体的に示すために、この機能を使用したWwiseプロジェクトを試作することにしました。

彼との会話中に、非常にすばらしいYouTubeコンテンツをいくつか思い出しました。Marc Hasselbalchの動画「creating a re-sound of a Hitman sequence using Max」は特に印象深いものでした。また「Bernard Rodrigue and Andrew Costa’s talk at ADC 22」も非常に参考になりました。

当時このようなツールは公開されておらず、私はUnrealを使用してフレームワークの開発に何か月も没頭しました。Andrewが私のくだらない質問にも答えてくれたおかげで、ついに独自の解決策にたどり着きました。

 

Wwhisperの使用方法

Wwhisperは3つのパートで構成されています。2つのスクリプトと1つのJSFXプラグインです。

Wwhisper:メインの再生スクリプトです。

Wwhisper Assistant:これは必須スクリプトではありませんが、プロセスを効率化してくれるため、問題を減らすことができます。

kusa_Wwhisper Params:RTPCを調整して3D空間にゲームオブジェクトを配置するためのJSFXプラグインです。

 

インストール:

REAPER向けSWS Extensionを除くすべてのコンポーネントは、ReaPackから入手できます。

  • REAPERでExtensions/ReaPack/Import repositories…に移動します
  • Audiokineticのリポジトリへのリンクをhttps://github.com/Audiokinetic/Reaper-Tools/raw/main/index.xmlにペーストします
  • 私のリポジトリも同様に、https://github.com/TFKusa/kusa_reascripts/raw/master/index.xml にペーストします 
  • これでExtensions/ReaPack/Browseパッケージを選択して以下のエレメントをインストールできるようになります

ReaWwisekusa_Wwhisperkusa_Wwhisper Paramskusa_Wwhisper Assistant

 

設定:

ゲームエンジン環境をシミュレートするには、まずリスナーが必要です。メインスクリプトを実行すると、Wwhisperはワールドの原点(0,0,0)にリスナーのゲームオブジェクトを作成します。

次に必要になるのは、ゲームオブジェクトを作成する機能です。私はDAW世界のゲームオブジェクトに適したパラレルは、トラックだと考えました。

Wwhisperはセッション内のすべてのトラックをスキャンして、それぞれに対応するゲームオブジェクトを生成し、そのトラック名を継承します。複数のトラックが同じ名前を共有している場合、ゲームオブジェクトは1つだけ作成されます。特に大量のマーカーを扱う場合、この機能はセッションを効率的に編成するために役立ちます。

REAPER-Wwhisper

 

Assistantの使用

トラックを介したゲームオブジェクトの作成:

新規トラックとアイテムの作成:空のアイテムとJSFXプラグインを挿入した新しいトラックを生成します。REAPERにインポートされた動画がある場合、その動画を選択すると、新しいアイテムの長さは動画のデュレーションと同じになります。または、時間選択を設定できます。

Wwhisper-Assistant-create-through-tracks-reaper

 

Wwiseとの同期:

「Sync with Wwise」ボタンをクリックすると、すべてのイベント、RTPC、スイッチ、ステートのリファレンスが現在のWwiseプロジェクトからインポートされます。これらはそれぞれのフィールドに表示されるため、簡単にアクセスできます。

Wwhisper-sync-with-Wwise

 

テイクマーカーを使用したイベント、ステート、スイッチの操作:

ターゲットアイテムを選択し、マーカーが必要な位置に再生カーソルを置きます。マーカーのカラーを選択し、トリガータイプを指定します。次に対応するWwiseオブジェクトを選択して、「Create take marker」をクリックします。

Select-the-target-item-Wwhisper

 

RTPCの管理:

オートメーションレーン:AssistantウィンドウでRTPCのタイプを設定し、RTPC名を入力します(または同期リストから選択)。次に最小範囲と最大範囲を設定し(同期機能により自動入力)、ターゲットトラックやゲームオブジェクトを選択してから、「Create RTPC automation lane」をクリックします。

Wwhisper-REAPER-create-automation-lane-RTPC

JSFX RTPCパラメータ:これらの範囲は0から100で、実際のRTPC範囲のパーセンテージを示します。そのため、スクリプトでパーセンテージを実際の値に変換できるよう、最小値と最大値の入力が必要です。

 

リスナーと世界の動き:

一般的なゲームシナリオでは、3D空間を動き回るのはリスナーです。しかし、Wwhisperがデザインされた最大の目的は、通常プレイヤーが中央から動かないゲームプレイ動画との連携であるため、私たちのケースではゲームの世界がリスナーの周りを動きます。

RTPCの場合と同様に、ポジショニングはオートメーションレーンとJSFXプラグインを介して管理されます。

Wwhiper-positioning

Front/BackおよびUp/Down:これらの軸は絶対値であるため、ポジショニングは明快です。

Left/Right:この軸はFront/Backに対して相対的になります。Left/Rightを-100に設定すると、常にオブジェクトが左にハードパンニングされ、100に設定すると右にハードパンニングされます。

2Dレイアウトの場合はこの設定が適していますが、3D空間への正確なオブジェクトのポジショニングは推測に頼らざるをえません。私は当時ほかにもプロジェクトをいくつか担当していましたが、2DパンナーVSTを組み込むことを計画しました。これはゲームオブジェクトを適切に空間化するために役立ちました。

 

再生:

メインのWwhisperスクリプトを実行するだけで、設定したシーケンスを再生できます。再生カーソルがマーカーやオートメーションカーブを通過すると、特殊な再生ステートがトリガーされ、Wwiseに命令が送られます。

 

その他のコマンド:

Wwhisperでは通常ほとんどのタスクが自動的に管理されますが、使用できるコマンドがほかにもいくつかあります。

Register Game Object
Unregister Game Object
Unregister All Game Objects

これらは高度な管理を行う場合に便利なコマンドですが、必要になることは稀です。

 

Wwhisper Assistantのユーティリティ

Wwhisper Assistantには各種ユーティリティが用意されています。これらのユーティリティは使いやすく、Assistantウィンドウの右上隅にあるUtilitiesチェックボックスを選択すると利用できます。

Wwhisper-assistant-utilities

際立った機能の1つは、REAPERフォーラムスレッドでユーザundertheradar84によってリクエストされたGenerate Project from Profiler TXTです。このツールを使用すると、Wwise Capture Logをテキスト形式でインポートして、ファイルに記録されたイベントのシーケンスを複製するReaper/Wwhisperのセットアップファイルを自動的に生成できます。使い方は以下の通りです。

Wwise Capture Logの準備:

Wwise > Project > Profiler Settingsの順に選択します。

API CallsとGame Syncsの両方が有効になっていることを確認します。これにより必要な情報がCapture Logに追加されます。

Wwise-Profiler-settings

 

Capture Log列の設定:

Capture Log列を右クリックして、Configure Columnsを選択します。

インポートの対象にする関連エレメントをすべて選択します。

Wwise-capture-log-configuration

 

該当するエンジンにWwiseを接続してログを保存:

保存アイコンをクリックして、ログをテキストファイルで保存します。

Wwise-capture-log-save

Capture Logの準備が整ったら、UtilitiesセクションのGenerate Project from Profiler TXT機能を使用します。

このスクリプトはログを処理して、対応するReaper/Wwhisperのセットアップファイルを作成します。

 

設定のファイナライズ:

プロジェクトを生成したら、リスナーのゲームオブジェクト(通常はメインカメラ)の名前を「Listener」に変更します。

Wwhisper-finalize

Wwhisperを使用して制作した2つの反響サウンドは、私のYouTubeチャンネルでご覧いただけます。

Super Smash BrosUltimate - Lies of P

最後までお読みいただきありがとうございます。私でお役に立てることがありましたら、こちらのREAPERフォーラムスレッドを使用してメッセージをお送りください。このブログ記事がお役に立てれば幸いです。Audiokineticに感謝申し上げます。

 

トーマス・フリッツ

ジュニア・テクニカル・サウンドデザイナー

10 Chambers

トーマス・フリッツ

ジュニア・テクニカル・サウンドデザイナー

10 Chambers

Thomas Fritzはスウェーデンのストックホルムを拠点に活躍するテクニカル・サウンドデザイナーです。数年間フランスのテレビ局でオーディオのポストプロダクションに携わった後、2024年の半ばに10 Chambersの一員となり、ゲームオーディオの分野でプロフェッショナルとしてのキャリアをスタートしました。

コメント

Replyを残す

メールアドレスが公開されることはありません。

ほかの記事

『ゲーム・オブ・スローンズ - 冬来たる』のサウンドトラックを編成して、Wwiseでインタラクティブミュージックを作成

こんにちは、中国のYOOZOO Gamesでサウンドデザインとプログラミングを担当しているビクター・リウです。最近リリースされたモバイルゲーム『ゲーム・オブ・スローンズ -...

17.11.2020 - 作者 ビクター・リウ(刘子奇)

ゲームオーディオの仕事に必要なスキル サウンドデザイナーとして採用されるには

21.7.2021 - 作者 ブライアン・シュミット(Brian Schmidt)

Wwise+GMEゲーム音声ソリューション:様々な音声利用方法を解放し、プレイヤーに「リアルサウンド」を提供

12.1.2022 - 作者 Tencent Cloud

『Seashell』の音楽とオーディオ要素

レヴィ・ボンドと申します。私は同僚2人とdBXY Collectiveという名でゲームオーディオを制作しており、最近はデベロッパチームHigh Tea...

7.11.2023 - 作者 レヴィ・ボンド(dBXY Collective所属)

『逆コーラップス:パン屋作戦』 | リモート協業におけるWwiseの重要な役割

Studio X...

10.12.2024 - 作者 Paul Ruskay & Ruohao (Jater) Xu

Wild Bastards | 音楽と入れ子式のスイッチコンテナ

こんにちは!Blue Manchuのオーディオ・ディレクター、ライアン・ロスです。私がこれまでに手がけてきたゲーム(『Guacamelee 2』、『The Beginner’s...

13.8.2025 - 作者 ライアン・ロス