今回のブログでは、Unreal Engine 5とWwiseのインテグレーションプロジェクトでStrataのマルチトラックコレクションを1つ使い、インタラクティブなデザインのためにStrataを活用する方法をご紹介します。
このブログは私が数か月前に作成したこちらの動画を基にしています。
Strataを探検する
ご存知のない方に説明しますと、Strataは100,000個以上のオーディオソース、編集用クリップ、トラック、エフェクトパラメータなどが編集可能なREAPERマルチトラックフォーマットとして提供されている、Audiokineticがゼロから設計した新しいサウンドライブラリです。ブログ執筆時点でAudiokineticとBOOM Libraryのコラボレーションを通して、25本のコレクションがリリースされています。
今回のデモではStrataのRoboticコレクションのサウンドを使い、ロボットキャラクターのサウンドデザインを行いましたが、特にこのコレクションのサブプロジェクトであるMovement ServoStutter(動作、サーボスタッター)とPropulsion Footstep(駆動、足音)の2つの使い方について説明します。コレクションのドキュメントをご覧になりたい方はこちらでご確認ください。このコレクションの概要やサウンドプロジェクトの情報のほか、付属SoundBookのダウンロードリンクやコレクション独自の情報が掲載されています。
StrataのRoboticコレクション
最初にデモ作品をお見せしてから、ここに至るまでにREAPERやWwiseで私がとったデザイン上の判断を詳しく説明します。
では早速REAPERでRoboticコレクションを開き、このロボットのサウンドをデザインしていきます。
REAPERで見るStrataのRoboticコレクション
前述の通り、私はRoboticコレクションの中の2つのサブプロジェクトMovement ServoStutterとPropulsion Footstepに手を加え、最終的な結果を導き出しました。以下がREAPERでMovement ServoStutterのサブプロジェクトを開いた時の画面です:
REAPERで開いたMovement ServoStutterサブプロジェクト
このサブプロジェクトの中身はそれほど変えませんでした。ConstantHard(常時、ハード)レイヤーは基本的にそのままエクスポートしたほか、Slow Mediumは最初のレイヤー全体をミュートにして空気圧の動作音やピストン風のカタカタ音だけを残すことにしました。最後にFast Largeグループは後からピッチその他をWwiseで操作するつもりであったため、ここでは最小限の変更にとどめました。
次にPropulsion Footstepサブプロジェクトを見ていきます。私は以前にStrataリニアデザインプロジェクトでこのサブプロジェクトを利用していたので、すでに内容をよく知っていました。今回は所々に変更を加え、主に追加の金属インパクト音を一部トーンダウンし、ゲームのロボットキャラクターに合うようにしました。
REAPERで開いたPropulsion Footstepサブプロジェクト
BOOMのENRAGEプラグインを使う
ENRAGEプラグインのフランジャー、ワープエフェクト、ティンバー、ボイスシフトなどのエフェクトも活用しました。
実は最近Strataサブスクリプションに付随する、BOOM社のENRAGEプラグイン提供のさまざまなエフェクトや機能を使って実験することにハマっています。今回は音を特定方向に押し出すための小細工に利用しています。
BOOMのENRAGEプラグイン
私が作成したキャラクターモデルは、素朴ながら未来的なひねりの効いた、まるでスチームパンクのような外観ですが、キャラクター動作の機械音をあえてテック系、つまり未来的な音にすることで、キャラクターが出すサウンドの関連性を強めようと思いました。
REAPERの拡張機能ReaWwiseを使用する
プロジェクトで使うサウンドを選んで修正を終えたところで、それらのサウンドをレンダリングし、REAPERの拡張機能ReaWwiseを使ってWwiseにインポートしました。
ReaWwiseはWwiseにサウンドをインポートする手間を可能な限り省いてくれる拡張機能です。ReaWwiseとStrataコレクションを組み合わせて使う方法を詳しく知りたい場合は、こちらの動画に手順が詳細に説明されています。拡張機能ReaWwiseはREAPERのRender to Fileダイアログの内容を確認し、ファイルをWwiseに転送する方法を選択できる機能を提供します。自分が希望するWwise階層にカスタマイズし、REAPERのワイルドカードをWwiseの適切なオブジェクトタイプに割り当てることができます。
Wwiseで開いた時のオブジェクト構造がプレビューパネルに事前に表示されるため、かなり便利です。
ReaWwiseのプレビューパネル
作業内容をWwiseに持ち込む準備が整えば、次に"Transfer to Wwise"をクリックするだけです。
WwiseとUE5で組み立てる
WwiseのProject Explorerを見ると、先ほどのオーディオアセットとWwiseのオブジェクト階層がREAPERから正常に転送されたことが分かります。
“Constant Hard”サーボループ
まず最初に“Constant Hard”サーボループという要素を詳しく説明します。私はこの音をロボットキャラクターの主要サウンドの1つとすることに決め、あえて継続的に延々と流し、そのピッチ、トーン、ボリュームなどを、プレイヤーの各アクションで変化させました。
“Constant Hard”ブレンドコンテナのRTPCウィンドウに目を向けると、動作スピードやアクセラレーションデータをアニメーションから受け取るゲームパラメータがあります。このデータを使い、ボイスピッチ、ボイスボリューム、ローパスフィルタの各パラメータが変化する設定です。
動作スピードとアクセラレーションをトラッキングするUnrealのゲームパラメータ
ここだけを抜き出して聞いてみます:
“Constant Hard”サーボループを変化させる要素
Jumpイベント
Jumpイベントが発生するたびに、“Constant Hard”サーボループのRTPCパラメータの一部が明らかに変化し、ボイスピッチやボイスボリュームが特定の相対値に変わります。さらにJumpイベントでPower Upサウンドがトリガーされ、Slow Medium Foot Buildup(ゆっくり、中型、足、増大)もトリガーされます。
以下はEvent Property Editorに表示されたこれらのアクションです:
WwiseのEvent Property Editorに表示されたJump
Jumpイベントが“Constant Hard”サーボループのRTPCパラメータをはっきりと変化させるのと同様、Jump_Land(ジャンプ、着地)でも反対の変化が起き、ピッチを別の向きに変えます。以下はEvent Property Editorに表示されたJump_Landです:
WwiseのEvent Property Editorに表示されたJump_Land
このゲームパラメータを使って遊びながらサーボを駆動し、さらにほかのイベントで効果を重ねていくことはなかなか楽しかったです。
足音と機械的な動作音
次にキャラクターの足音や機械的な動作音として、ゆっくりとした、かさばる、疲れ切ったサウンドのレイヤーを複数重ねました。これらのレイヤーを抜き出した動画を用意したのでご覧ください。ちなみに最終的なミックスでは、この音をかなり小さくしています。
これらのレイヤーが足音メカニズムのスタート地点となります。
Footstepブレンドコンテナに関して私が行ったのは、REAPERからWwiseにすべてを移した後にミックスを多少調整しただけです(ピッチの調整)。足音のインパクト音はミックス全体の中でも比較的大きい音の1つで、“Constant Hard”サーボループの対極にあります。基本的にこの2つの要素がその他の音を挟み込むかたちとなり、それらがどうなっているかによって、ほかの要素の変化の仕方も変わります。
インパクトがヒットした時にFoot_Plant(足、置く)から空気圧音のレイヤーが再生されている場合、ボリュームを制御する(ピッチもある程度制御する)空気圧レイヤーエンベロープがリリースされます。これでさまざまな音がまとまって聞こえてきます。
以下はFoot_Plantイベントですが、このイベントによってSlow Medium Foot Buildupサウンドが再生され、さらにServo_Movementイベントがポストされることが分かります。
WwiseのEvent Property Editorに表示されたFoot_Plant
パンチ
パンチ(Fist)イベントも足音やジャンプのイベントと同様、“Constant Hard”サーボループのRTPCに影響を与えます。
これは特殊なアニメーションアクションであるため、私はイベント2個で対応しました。FistHit(拳ヒット)とFistHit_Finish(拳ヒット終わり)のイベントで、後者が“Constant Hard”サーボループのピッチやボリュームといったボイスパラメータをいくつかリセットしてくれます。
WwiseのEvent Property Editorに表示されたFistHit
WwiseのEvent Property Editorに表示されたFistHit_Finish
Jog_Start、Jog_Stopの2つのイベント
次にJog_StartとJog_Stopのイベントがありますが、それぞれがPower UpとPower Downの音を再生させます。この2つの音はほぼ瞬時に、後を追うように再生される可能性があります。そのような状況に対応するために、どちらのイベント(Power Up、Power Down)も他方のイベントをオフにして相手のRTPC値を自動化します。
まとめ
Strataは私のUnrealとWwiseプロジェクトのためのすばらしいリソースであり、含まれているサウンドやエフェクトに若干の修正を加えるだけで、私のインタラクティブゲームのデザインプロジェクトにぴったりのサウンドスケープを提供してくれます。
StrataをWwiseとUnrealの組み合わせに利用した例をご紹介しました。お読みいただきありがとうございます。いかにStrataのコレクションが整理されており、ノンリニア形式のプロジェクトにシームレスに統合し簡単に調整できるか、分かっていただけたことを願います。
コメント