はじまり
AudioTankが、最初にMohawk Gamesからアプローチを受け、彼らの新しい4Xストラテジーゲーム『Old World』のサウンドデザインの制作と実装の依頼を聞いたとき、すでにクリエイティブチームからの要件は具体的でした。マップとカメラの間の距離によって変化する、音響的にリアルなサウンドを実現して欲しい 、ということでした。一見シンプルなリクエストですが、実際は複雑な内容でした。
マップのリソース、ユニット(部隊)ごとの行動、都市部の景観、その他の環境など、初期的な音を追加していくうちに、『Old Word』独自の国家建設や権力形成を物語るには、3Dポジショニングデータや、ローパスフィルターや、コンボリューションなどを微調整しただけでは物足りないと、すぐに気づきました。サウンドデザインにも、ゲームの背景となる歴史的事実と同じくらいの信ぴょう性やこだわりが必要で、 距離感を表現できる音が必要でした。
ひとまず自分たちで思考実験をしてみると、離れた距離から音を録音しただけでは、うまくいかないことに気づきました。どれだけノイズリダクションをしても、草を踏むフットステップ音を9メートル先からとらえるのに必要な、最大限にしたプリアンプの音を、「救出」できませんでした。もしノイズフロアをさらけ出さずに、プリアンプ段階で適切に増幅することができないのであれば、ソース段階で増幅させる必要があります。そこで、屋外で、オリジナルのソースマテリアルを、距離を変えながらもう一度レコーディングするというセッションのやり直しを計画しました。
このレコーディングセッションの設定は、ゲームの様々な面で距離感の音の導入に使いましたが、今回は、プレイヤーが動きを制御する先遣隊、戦士、労働者といったユニットの、その動作音に着目し、処理方法を説明します。
準備
森の散策を始める前に、まずソースコンテンツを人里離れたところで最良の条件下で再生できるように、プロダクション前の多少の準備が必要でした。あいにく、現地で電源は期待できないので、デバイスは電池式に限定しました。その結果、すぐに手に入るものを集め、携帯電話と電池型のスピーカー、そしていつも頼りのZOOM F8nを使いました。
動作関連の要素(砂利の上の足音、革カバンの擦れる音、鉄鎧の響き、道具のガチャガチャ音など)には、それぞれいくつかのバリエーションがありますが、できるだけシームレスなセッションになるように、要素別にまとめてオーディオファイルに入れました。例えば砂利を歩く7種類のフットステップ音を1つのオーディオファイルに入れたり、革のストラップを引っ張る8種類の音を別のファイルに入れたりしました。
こうすればオーディオファイルをリピートで再生させながら、各動作の音を何度も繰り返しキャプチャーできます。事前準備することで、途中で強風や鳥の鳴き声などランダムに入るバックグランドノイズがあったとしても、充分なコンテンツを録りやすくなります。
次にF8nのファイル構成内に、録音予定の各要素の名前を付けたフォルダをつくりました。これで録音したコンテンツを要素別にそのまま分類して保存でき、ポストプロダクションの処理が楽になります。
こうして、Zoom F8n、Rode NT3、Sony C-76、Sennheiser Ambeoを手に、私たちは天気の良い日がくるのを待ちました。
制作
今回のセッションで肝心だったのは、良いロケーションとの出会いでした。幸い、私たちは人脈をつてに、探し求める「古代の距離感」なるものが録音できる、現代のサウンドスケープから遠く離れた片田舎の静かな農家を、メリーランド州北部で見つけました。木造の外壁の離れがあり、私たちはこの建物のそばに道具を設置し、中距離用のマイクとしてRode NT3、長距離用のマイクとしてSony C-76を使いました。

何度か試してみましたが、スピーカーを素直にマイクに向けても、そのスピーカーの「カラー」が音に影響し、不自然な結果となってしまいました。解決策としてスピーカー(そしてマイク)を建物に向けて配置し、直接に再現された音ではなく、その反射をとらえることにしました。おかげで音を環境の中に置くことができ、距離感のある求めていた音を出すことに成功しました。
処理
ポストプロダクションの処理は、一番手間がかかりました。録音したコンテンツをインポートしてから、iZotope RX7 Advancedを使い理想的な距離感を残して不要なソニック情報を除去しました。
私たちはiZotopeのSpectral De-Noiseというプラグインをうまく活用しましたが、これは録音したコンテンツの周波数スペクトルを分析したうえで、不要なバックグランドノイズを抜いてくれるツールです。レコーディング中にいわゆる「自然のトーン」(つまりルームトーン)を必ず10秒から15秒くらいキャプチャーするようにしたので、これを使って、何が不要なバックグランドノイズなのかをツールに学習させました。こうすることで、私たちが制御しやすいコンテンツになりました。
次に、処理後のファイルを、動作要素のバージョンごと、そしてマイクごと(中距離、遠距離)に分割し、Wwiseにインポートすることに配慮して分かりやすい名前を付けました。
実装
ファイルの準備が終わると、これらをWwiseに引き込んで、Actor-Mixer階層の中を次のような構成に設定しました。
階層「movement」の最上にあるのが、「movement_distance_blend」というブレンドコンテナです。その下に3つのスイッチコンテナがありますが、近・中・遠という3種類の距離に分けてあり、それぞれにオーディオが入っています。スイッチコンテナを管理するのが「MovementCategory」スイッチグループで、プレイヤーが動かしているユニットの種類に設定されるようになっています。ブレンドコンテナが、「Camera_Height_From_Ground」というRTPCで制御されるブレンドトラック(下図参照)に基づいて、これらスイッチコンテナの間でフェードします。その結果、距離の音はカメラがズームアウトすると徐々にフェードし、ズームインするとその逆となります。
最後に、ここまでの努力の成果をうまくまとめるための注意点がありました。階層「movement」の図からも分かる通り、どのスイッチコンテナにも、シーケンスコンテナが複数入っています。再生シーケンスを具体的に指定することで、各スイッチコンテナが再生する動作要素が、同じバリエーションのものになるようにしました。もし近距離のスイッチコンテナで「footstep_01」を再生していたとしたら、同じ「footstep_01」が中距離と遠距離のスイッチコンテナでも確実に再生されるようにしなければなりません。そうすれば、カメラがズームイン・ズームアウトして距離が変わっても、シームレスなトランジションになります。動作音が実際に使われている動画を、以下にいくつか紹介します。(注:まだオーディオとアニメーションがシンクできていません。)
動画の事例集
斧男の動き:
戦士の動き:
労働者の動き:
開拓者の動き:
コメント