Blend Containerは実にパワフルなシーケンシングツールであり、ミキシングツールでもあります。その機能を知るだけで、ゲームサウンドデザイナーの頭には真新しいアイディアが次々に浮かんでくるはずです。RTPC値の威力と組み合わせ、さらにゲームデザイナーやプログラマーとたっぷりブレインストーミングすれば、Blend Containerの真の力を引き出せます。
今回は私が最近思いついたBlend Container関連のアイディアを皆さんに紹介したいと思います。ランドスケープにアンビエントオーディオのゾーンを「ペイント」したいときにぴったりの方法です。2つのステージに分けて開発したので、ここで説明します。
ここでシェアする画像やオーディオアセット、そしてアプローチの仕方も、プロトタイプのシナリオの一部です。下図はこのデモで使うマップの一部の鳥瞰図です。
部分的な3Dパース
開発の第1ステージ
このマップでは、プレイヤーがSharkとして主に水面下を泳いだり、海面にあがり悠々自適に進むゲームプレイが中心です。数メートルもの高波の下の深い海を冒険することも、沖から離れて静かな内海を楽しむこともできます。私は波アセットをトリガーするのに、はじめは複数のアクターを使ってアンビエントオーディオを実装してみましたが、水のアンビエント音にダイナミックさが欠けて画像と切り離されてしまうので、良いソリューションではありませんでした。泳ぐ動作がゲームの要となるので、没入感を引き起こすような泳ぎの画像、感覚、そしてサウンドが必須でした。マップの波はダイナミックであり、オーディオイベントも同様にするつもりでした。どこかに未知のRTPC 値が潜んでいるはずだと思い、それを探しにかかりました。
波が大きくなるタイミングやそのときの波の高さをゲーム値で決めているのなら、もしかしたらそれをRTPC値にて転用して波のアセットのダイナミックミックスをコントロールできるのでは、と思ったのです。
そこで私がゲームプロデューサーに波のモジュレーションについて聞くと、仕組みを説明してくれました。サウンドデザイナーにも分かるように説明して、と再度お願いすると、ようやく意味が分かってきました。要は、ワールドの空間座標をHeightMapの中のUV座標にマッピングして波のモジュレーションをつくり出し、カラー情報はピクセルから読み込んでいる、ということでした。私たちが最終的なRTPCを作成したときに影響を受けたコードはUnrealコミュニティプロジェクトにあるOcean Simulation, Weather and Dynamic TOD systemです。
このRTPC値の名前をWaveHeightとしました。値が0のときは波のモジュレーションがなく、1のときは波のモジュレーションが最もダイナミックになります。私は、Blend Containerに3つのトラックを入れました。
第1ステージのBlend ContainerとRTPC値
上図の3つのBlend Trackは、上からBig Waves、Medium Waves、Light Wavesです。Wave Height RTPCが、各トラックのVolumeを赤色のエンベロープでコントロールしています。
このシナリオの方がスタティックなアンビエントアクターを使う方法よりずっとうまくいきましたが、2つの大きな問題に遭遇しました。RTPC値が不規則に跳ね上げることがあり、そのときのトランジションが予想できずスムーズではありませんでした。また海岸のビーチ近くにくると、その時点で波の高さはすでに0です。つまりビーチ沿いにいるときと、陸の中を流れる川や運河を上っていくときの、バックグランドの水の動作が同じなのです。でもWwiseでゲームオーディオを実装するときによくある話ですが、もっと洗練された方法が存在しました。
第2ステージ
HeightMapの値をRTPCに変換するのがスタート地点であったとすると、シンプルなカラーチャンネルを使ってRTPCを動かすというのが、最終的に採用した方法でした。私たちはPhotoshopを使い、2Dワールドのテクスチャの上に重ねてアンビエントエリアを描画しました。
第2ステージ - 2DワールドテクスチャとRTPC値
海は純白に描き、Wave Height RTPC値を1としました。内陸部の水面は黒くし、Wave Height RTPC値を0にしました。岸付近のトランジションは灰色にし、色の濃度を0.2から0.8まで幅をもたせてブレンドさせました。これで処理やボイス数が非常にスムーズで効率的になり、3つのゾーンにわたり細かく制御できました。
第2ステージ – Photoshopで色分けした2D ワールドテクスチャのマップとRTPC値
この2つ目のBlend Containerには、一番下に4つ目のBlend Trackが追加されています。これは内陸部で波が優しく打ち寄せる音のアセットです。海のアンビエンスとなるのが、その真上にあるBlend Trackで、Wave Height RTPCが0.2あたりのときから大きくなります。
第2ステージ - WaveHeightのBlend Container
これは第2ステージのBlend Containerの、インゲームのビデオキャプチャです。小さくて見えにくいですが、Wave Height RTPCの値がエディタ画面の左上に紫の文字で表示されています。
デモビデオ
アンビエントエリアをペイントで指定するというこの方法は、様々なオーディオイベントに応用できるはずです。まだ赤チャンネルしか活用していませんが、青も緑も、新しいRTPC値で塗りこまれるのを待っています!
コメント