menu
 

画像パラメータからつくるオープンワールドのアンビエントデザイン

ゲームオーディオ / サウンドデザイン / Wwiseの使い方やツール

Blend Containerは実にパワフルなシーケンシングツールであり、ミキシングツールでもあります。その機能を知るだけで、ゲームサウンドデザイナーの頭には真新しいアイディアが次々に浮かんでくるはずです。RTPC値の威力と組み合わせ、さらにゲームデザイナーやプログラマーとたっぷりブレインストーミングすれば、Blend Containerの真の力を引き出せます。

今回は私が最近思いついたBlend Container関連のアイディアを皆さんに紹介したいと思います。ランドスケープにアンビエントオーディオのゾーンを「ペイント」したいときにぴったりの方法です。2つのステージに分けて開発したので、ここで説明します。

ここでシェアする画像やオーディオアセット、そしてアプローチの仕方も、プロトタイプのシナリオの一部です。下図はこのデモで使うマップの一部の鳥瞰図です。

A 3D Perspective with a small viewable area - Wwise

部分的な3Dパース

開発の第1ステージ

このマップでは、プレイヤーがSharkとして主に水面下を泳いだり、海面にあがり悠々自適に進むゲームプレイが中心です。数メートルもの高波の下の深い海を冒険することも、沖から離れて静かな内海を楽しむこともできます。私は波アセットをトリガーするのに、はじめは複数のアクターを使ってアンビエントオーディオを実装してみましたが、水のアンビエント音にダイナミックさが欠けて画像と切り離されてしまうので、良いソリューションではありませんでした。泳ぐ動作がゲームの要となるので、没入感を引き起こすような泳ぎの画像、感覚、そしてサウンドが必須でした。マップの波はダイナミックであり、オーディオイベントも同様にするつもりでした。どこかに未知のRTPC 値が潜んでいるはずだと思い、それを探しにかかりました。

波が大きくなるタイミングやそのときの波の高さをゲーム値で決めているのなら、もしかしたらそれをRTPC値にて転用して波のアセットのダイナミックミックスをコントロールできるのでは、と思ったのです。

そこで私がゲームプロデューサーに波のモジュレーションについて聞くと、仕組みを説明してくれました。サウンドデザイナーにも分かるように説明して、と再度お願いすると、ようやく意味が分かってきました。要は、ワールドの空間座標をHeightMapの中のUV座標にマッピングして波のモジュレーションをつくり出し、カラー情報はピクセルから読み込んでいる、ということでした。私たちが最終的なRTPCを作成したときに影響を受けたコードはUnrealコミュニティプロジェクトにあるOcean Simulation, Weather and Dynamic TOD systemです。

このRTPC値の名前をWaveHeightとしました。値が0のときは波のモジュレーションがなく、1のときは波のモジュレーションが最もダイナミックになります。私は、Blend Containerに3つのトラックを入れました。

Blend Container and RTPC Value - Stage 1 of 2 - Wwise

第1ステージのBlend ContainerとRTPC値

上図の3つのBlend Trackは、上からBig WavesMedium WavesLight Wavesです。Wave Height RTPCが、各トラックのVolumeを赤色のエンベロープでコントロールしています。

このシナリオの方がスタティックなアンビエントアクターを使う方法よりずっとうまくいきましたが、2つの大きな問題に遭遇しました。RTPC値が不規則に跳ね上げることがあり、そのときのトランジションが予想できずスムーズではありませんでした。また海岸のビーチ近くにくると、その時点で波の高さはすでに0です。つまりビーチ沿いにいるときと、陸の中を流れる川や運河を上っていくときの、バックグランドの水の動作が同じなのです。でもWwiseでゲームオーディオを実装するときによくある話ですが、もっと洗練された方法が存在しました。

第2ステージ

HeightMapの値をRTPCに変換するのがスタート地点であったとすると、シンプルなカラーチャンネルを使ってRTPCを動かすというのが、最終的に採用した方法でした。私たちはPhotoshopを使い、2Dワールドのテクスチャの上に重ねてアンビエントエリアを描画しました。

A 2D World Texture - RTPC Value Stage 2 of 2 - Wwise

第2ステージ - 2DワールドテクスチャとRTPC値

海は純白に描き、Wave Height RTPC値を1としました。内陸部の水面は黒くし、Wave Height RTPC値を0にしました。岸付近のトランジションは灰色にし、色の濃度を0.2から0.8まで幅をもたせてブレンドさせました。これで処理やボイス数が非常にスムーズで効率的になり、3つのゾーンにわたり細かく制御できました。

2D World Texture map converted into colors with Photoshop - RTPC Value Stage 2 of 2 - Wwise

第2ステージ – Photoshopで色分けした2D ワールドテクスチャのマップとRTPC値

この2つ目のBlend Containerには、一番下に4つ目のBlend Trackが追加されています。これは内陸部で波が優しく打ち寄せる音のアセットです。海のアンビエンスとなるのが、その真上にあるBlend Trackで、Wave Height RTPCが0.2あたりのときから大きくなります。

“WaveHeight” Blend Container - Stage 2 of 2 - Wwise

第2ステージ - WaveHeightのBlend Container

これは第2ステージのBlend Containerの、インゲームのビデオキャプチャです。小さくて見えにくいですが、Wave Height RTPCの値がエディタ画面の左上に紫の文字で表示されています。

デモビデオ 

アンビエントエリアをペイントで指定するというこの方法は、様々なオーディオイベントに応用できるはずです。まだ赤チャンネルしか活用していませんが、青も緑も、新しいRTPC値で塗りこまれるのを待っています!

  

トム・トディア(TOM TODIA)

ゲームオーディオデザイナー

Engine Audio

トム・トディア(TOM TODIA)

ゲームオーディオデザイナー

Engine Audio

ゲームオーディオ委託グループEngine Audioの共同所有者兼オーディオデベロッパ。オーディオプロダクション歴20年。現在はフルセイル大学(Full Sail University)でビデオゲームオーディオについて教える。

 @EngineAudioTom

コメント

Replyを残す

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

ほかの記事

Another Sightのサウンドの、舞台裏をのぞく

27.8.2019 - 作者 ルカ・ピッチーナ(LUCA PICCINA)

アンビソニックスの可視化 3D Meterで

アンビソニックス...

2.7.2020 - 作者 ショーン・ソラハン(SEAN SORAGHAN)

LumoteのVFXをWwiseで動かす

Wwiseユーザーランドのみんな、こんにちは!私はカナダのバンクーバーにあるStudio X Labsのオーディオディレクターのポール・ラスケイ(Paul...

28.7.2020 - 作者 ポール・ラスケイ(PAUL RUSKAY)

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

13.1.2022 - 作者 Tencent Cloud

『アサシン クリード ヴァルハラ』のサンドボックスミュージックシステム

『アサシン クリード ヴァルハラ』の音楽制作は大規模な取り組みとなりました。これは『アサシン...

12.7.2022 - 作者 アレクサンドル・ポワリエ(Alexandre Poirier)

Wwise 2024.1 for Godotの新機能

Wwise 2024.1 for...

3.4.2025 - 作者 アレッサンドロ・ファマ

ほかの記事

Another Sightのサウンドの、舞台裏をのぞく

アンビソニックスの可視化 3D Meterで

アンビソニックス...

LumoteのVFXをWwiseで動かす

Wwiseユーザーランドのみんな、こんにちは!私はカナダのバンクーバーにあるStudio X Labsのオーディオディレクターのポール・ラスケイ(Paul...