『ゲーム・オブ・スローンズ - 冬来る』 インタラクティブなアンビエントサウンドシステム

ゲームオーディオ / サウンドデザイン

あるシーンのアンビエントサウンドを作成するのは、新しい水槽を準備するのと似ています。見た目が美しく、機能性にも配慮したデザインでなければなりません。水槽の中の水と、魚の群れと、装飾が、お互いを引き立てることが大事です。組み合わせていくと、有機的でインタラクティブなシステムが形成されるはずです。サウンドデザインもまったく同じです。こんにちは、モバイルゲーム『Game of Thrones: Winter is Coming』(GOT)のサウンドデザイナーのチャン・リウです。ゲームに出てくる複数のモジュールのサウンドデザインを担当しました。今回は、GOTのインタラクティブなアンビエントサウンドのシステムをデザインして構築していった過程を、皆さんと共有したいと思います。

(国内观赏视频通道
 
image002シティ内のシーン

 

インタラクティブ機能の定義

最初にGOTのデモを見たときに、ゲームの各シーンにおけるサウンドデザインの可能性の広さに驚きました。アート担当が披露してくれたシティ内のシーンは、実に凝ったつくりでした。やる気あふれるオーディオデザイナーの私が、インタラクティブオーディオデザインを導入する余地がこんなにあるシーンを扱えるなんて、とてもラッキーでした。

インタラクティブなアンビエントサウンドを作成する前に、まずインタラクティブなやりとりのメカニズムを定義して、インタラクティブ性を多方面から包括的に検討することが必要でしたが、それは万が一、多くの時間と労力をかけたあとに、さらに掘り下げて追加のインタラクティブ機能を投入するような状況のときに、無駄な作業をせずに済むからです。

具体的にシティ内のシーンを例に、これを説明します: 

  • トップビューでカメラをズームインして、建物などの地上の詳細に見入ってみたり、ズームアウトしてシティ全体とその周囲の様子を眺めたりできます。
  • 機能する建物が34棟あるので、1軒をクリックしてカメラのフォーカスを合わせば、建物の細かいところまで確認できます。
  • 地形ブロックとして海岸、河川、森林、滝、高山などが、シティ外にあります。
  • 昼夜のサイクル。
  • 降雨や降雪。

オーディオの動きに影響するインタラクティブ機能が定義できました。次に、その機能を構成するのに関連したアセットモジュールや実装方法を説明します。

カメラは水平方向に動かせるだけでなく、距離をまたいでズームできます。1種類のアンビエントアセットだけをループするのでは、手間がかかります。カメラを地上の詳細までズームインして見て取れるので、これらのディテールを反映する3D点音源の配置が不可欠です。カメラをズームアウトすると、3D点音源は、距離に合わせて減衰します。この減衰によって聞く人のエクスペリエンスにズレが生じるのを防ぐために、風の2D音のレイヤを重ねました。カメラをズームアウトさせると、その音量は徐々に大きくなります。これで、サウンドスケープが切り替わるときのラウドネスの遷移が、滑らかに聞こえます。

これを実現するためにCameraDistanceというRTPCを作成して、画面中央にあるマッピングポイントから、カメラまでの距離を、追えるようにしました。(なぜこのポイントを選んだかというと、プレイヤーがカメラのズームを操作するときに、高さとピッチ角度の両方が変わるからです。)

image003RTPC「CameraDistance」のプロパティ

私はアセットを2Dまたは3Dに分別してから、それぞれのプロパティ(Voice Volume、Low-pass Filterなど)と、RTPC「CameraDistance」の関係をRTPCカーブで定義しました。

image004

image005

image006

2D音源との関係は、3D音源との関係と、正反対です。そこでVoice Volumeに加えてLow-pass Filterに対しても、別のRTPCを設定しました。

デザインの目的を指定できたので、実際に使う2Dや3Dのアセットを洗練させていきます。

建物モジュールの、音源の取捨選択

先ほど説明しましたが、このシーンには機能的な建物が34棟と、様々な地形ブロックが存在しています。地面の詳細を確認したいときにカメラでズームインできるようになったので、次に建物の個性的なアンビエンスソースのデザインを行います。

image007カメラを限界まで接近させたとき
 
image008建物をクリックして詳細情報を表示

34棟もの機能する建築物がありますが、その音の動きをデザインしようにも、アートのリアリズムで制限されてしまう面もあるので、なかなか難しい作業でした。また、プレイヤーがどれくらい長く見入るのかは不明ですし、何度も同じ建物をクリックした場合に音が繰り返されるようなリスニングエクスペリエンスを回避する方法も、考えなければなりません。当然、アンビエントサウンドを1つだけループさせておくわけにはいきません。そこで、建物ごとに、2種類のアンビエントサウンドを用意し、日々のステータスを表す環境音専用の基本的なループ(群衆音や周囲音)と、音響面での特別な性質を強調するランダムな点音源(城の鐘、メイスターの塔の物書きの音やページをめくる音や音声的な要素、など)に分けました。これら2つのレイヤは一緒に再生し、1つは比較的ベーシックな雰囲気用に、もう1つは個性的な音響性を強く打ち出すのに使います。アセットを最小単位に分割してから有機的に組み合わせていき、ランダマイザー機能や再生ルールの設定が導く可能性を最大限に活用します。かなりの努力をしたのですが、最終的にはもっと柔軟で多様性に富んだサウンド動作が必要となりました。

image009

結局、機能する建築物をそれぞれAmbiance(基本的なアンビエントループ)、Element(ランダムな点音源)、Element_Loop(ループするランダムな点音源)の3つに分けることにしました。こうすると音の観点からは、非常に豊かで没入感のある建物モジュールになりました。

例えばBarrack(兵舎)アセットの場合:

image010

image011

image012

image013

Barrack_Amb_LoopというSFXは主に周りの雰囲気(アンビエンス)やガヤガヤした人混みの表現です。BarrackというBlend Containerには、日常的な訓練活動を表す点音源の要素(Element)が入っていて、Building_Barrack_BowsというRandom Containerにはアーチェリーの練習音、Building_Barrack_HorseというRandom Containerには馬の動きや蹄の音、Building_Barrack_WeaponsというRandom Containerには兵隊訓練中の武器のインパクト音がそろっています。Barrack_TroopsLpというRandom Containerには軍隊が整列するフットステップ要素(Building_Barrack_TroopsLpというSFX)があります。これをSilenceというSFXと一緒にループし、Transitionsが設定されているので、兵隊たちが整列中や、前後に動いているときや、ただ立っているときなどのリスニングエクスペリエンスを向上させます。

このような方式で、リアルで鮮やかな兵舎のシーンをつくり出しました。

開発が進んで建物の数が増えてくると、ほかにも探求できる可能性がたくさんあることに気づきました。建物の特徴を表す音にはリアルな効果音を使ったほか、感情性を表す音楽的な要素も加えました。例えば戦略本部などの特徴的な建物には音楽的な要素を加えることもできます。GOTの戦争は、残酷です。テレビシリーズでは壮大なバトルが多く繰り広げられました。そこで戦略本部のような建物には、戦争の雰囲気をかもし出すドラムを使っては?プレイヤーが戦略本部の部屋をクリックすると、情熱的なドラムがバックグランドミュージックのリズムに合わせて演奏されます。戦が接近するにつれ、テンションを高めてくれるはずです。

シティ内アンビエンスの、音源の取捨選択

カメラを極限までズームインさせると、画面に同時に表示される建物は5棟から7棟です。建物ごとに計画したアンビエントサウンドをすべて同じように再生すると、3D減衰をどれだけ注意深く設定したとしても、サウンドスケープ全体がうるさく無秩序に感じられます。取捨選択が必要です。カメラは広範囲で動かせる一方、最もズームインした時でもカメラ自体は地上面よりも上にあります。だとすれば、建物をクリックしてカメラのフォーカスをそこに合わせたときの、すでに用意してあるアンビエントサウンドを使ってはどうか?また、トップビューで見える様々な地形ブロックをうまく表現できるアンビエントサウンドを、もう一式、つくったらどうだろう?そうすれば、建物をクリックしてフォーカスがそこに当たるときに、なんとも控えめなアンビエントサウンドを再生できます。プレイヤーの感情が高ぶり、建物の中にいるのと外にいるのでは、聴覚体験が重複しません。

この新しいひらめきを念頭に、地形ブロックごとのアンビエントサウンドの作成に取り掛かりました。

ただし、もうひとつ、考慮しなければいけません。これら機能する建物34棟は、ゲームを始めたときに急に出現するわけではありません。実は、多くはプレイヤーがゲーム中に建設しなければならないのです。城の建設前と竣工後では、サウンドスケープの激しさに差を出す必要があります。また、建設中はスムーズなトランジションも必要です。そこでまず、最初から建っている建物を特定して、その周辺の基盤となるサウンドスケープを構築しました。

image014

上で選択されている建物は、地形ブロックのアンビエントサウンドに紐づいています。ゲーム開始のときから存在する建物で、周辺のエリアをうまくカバーできています。おかげで、プレイヤーがカメラを動かしたときのトランジションがスムーズに進みます。

image015

建物の建設中に可能なプロパティに合わせて、異なるアンビエントサウンドをCampsite、Construction_Site、Courtyard、Farmyard、Market_Placeのそれぞれのコンテナ用に用意して、対応する生活シーンを表しました。さらに特徴を出すために、点音源も追加しました。

                                                                                                       image016   image017

例えば、城に付属する鐘のためのBellというSequence Containerや、Courtyard(中庭)の鳥のさえずりのBirdsong_LoopというSFXや、ベイラー大聖堂の前にある噴水のためのPond_Fountain_LoopというSFXや、ライトの効果を表すTempleなどです。

前述の地形ブロックの、トップビューで基盤となるサウンドスケープを構築できたので、次に、アセットをさらに追加しました。プレイヤーが建物を建設するので、そのときに新しい要素を追加するのか、どんな要素を追加するのか、などをロケーションやプロパティに配慮して判断しなければなりません。失敗を繰り返しながら、建物が竣工したときのサウンドスケープを完成させました。

ところが、どうしても、何かが足りませんでした。確かに建物もシーンもできあがりました。でも城は生きていてゴーストタウンではないのに、一番肝心な住民がぬけていたのです。

image018

そこで、各建物の場所やプロパティを考慮して、一部の典型的な建物にあえて群衆のボイス(Crowd_Vo_01、Crowd_Vo_02、Crowd_Vo_03)を追加して、 城を甦らせました。

これでシティ内の3D点音源ができあがりました。ところが、料理に例えて言うと、スープが干上がってしまったのです。地形ブロックには専用の3Dの点音源がありますが、環境との折り合いがうまくいきませんでした。2Dアセットをいくつか追加したらどうか?もっと良くなるかな?先ほども言ったように、私は2Dの風音を重ねてみました。本来はカメラが限界までズームアウトしたときに使います。高く上にあがったときの聞こえ方を真似たつもりです。3D点音源が環境にもっとなじむように、さらに別の、音場がもっと広くて静かな2Dアンビエントサウンドを重ねてみました。これがうまくいきました。

image019

古い方の2Dアンビエントサウンド(Wind_Far)と比べると、新しい2Dアンビエントサウンド(City_Large_Sparse)は、CameraDistanceのRTPCカーブがまったく違います。カメラをギリギリまでズームインしたときは、完全にミュートせず3D点音源とブレンドします。一方、カメラがズームアウトしていくと急激にボリュームが上がり、こうすると空間的なトランジションが良くなります。

これでシティ内のアンビエントサウンドが完成です。次につくるアセットは、シティ外のアンビエントサウンドです。

シティ外アンビエンスの、音源の取捨選択

シティ外(Outside)のエリアには、このように、主に自然音が必要です:

image020海岸、河川、森林、滝、高山などのエリアの自然音

シティの内部と外部で一番違うのは、地形ブロックです。海岸や河川の方が形状が複雑です。それを表すのに、単純な点音源では不十分です。シティ外の地形ブロックのエミッターを適切に配置することが肝心です。

例えば、この海岸をご覧ください:

image021

image022

image023

海の広域エリアはシーン内にいくつもあります。さて、サウンドは海をすべてカバーすべきでしょうか?もちろん、そんなことはありません。クリックしてフォーカスできるエリアだけを考慮すればいいのです。上で囲ったポイントは、私がSea_LoopというSFXのために設定したエミッターポジションです。海岸の流れと、大事な島だけを考慮しています。そして、これらの音を最も効率よく実用的にトリガーするために、Large Modeを使いました。使ったコンポーネントの詳細やLarge Mode機能については、あえて説明しません。詳しくはWwise Unityインテグレーションのドキュメントを見てください。

image024川のエミッターの配置

ここで明確にしたいのは、川のような一部のエミッターに関しては、音の高さ方向の減衰の方を速めたほうが良いということです。川が画面の端に見えてきたときのリスニングエクスペリエンスを高めるには、ゲームのビジュアルに合わせて川のアンビエンスをうっすらと再生させるのが妥当な方法です。ところが、水平距離に基づいた減衰半径は、縦方向の3次元的な減衰には向いていません。自分の日常生活や旅行の経験上、高さ方向の減衰をもっと大きくすべきだと思います。

image025

川のアンビエンスといったサウンドには、高さ方向で制御する別レイヤを設定して、CameraDistanceの増加に伴う減衰を速めて、よりリアルなリスニングエクスペリエンスを追求しました。

シティ関連のシーンたちは、これで終わり。がんばりました!

Day-Nightサイクル

残念ながら、難題はまだたくさん残っていました。ここまでの作業には、実は「昼間」という需要な前提条件があったのです。

昼間が終わると、ウェステロスにも夜がやってきます。

image026Day-Night(昼夜)サイクルのパラメータ

昼夜(Day-Night)サイクルの機能ができたら、次にDay_Nightという別のRTPCを作成してDay-Nightサイクルのパラメータに添付します。

別の切り口で今まで実装してきたすべてのコンテンツを見ながら、Day-Nightサイクルの影響を受ける音はどれなのか、そしてどのような影響があるのかを、洗い出します。

image027Campsite(野営地)とDay-Nightサイクルの関係は、生産と生活の様式に沿っている。

Day_NightのRTPCを適用し、夜間に再生するアセット数を昼間よりも減らせます。次に固有の要素を追加します。

image028

image029

上の2つのレイヤはシティ内と、シティ外の、夜間のアンビエンスです。主に夜間というステータスを表現するための要素で、虫の音などが入っています。シティ内ではやわらかく穏やかな音にして、シティ外では不気味な感じにして、野生生物の音も折り混ぜていました。この方式で、夜間のシティ内部と外部のムードの切り替わりがさらに確実に伝わります。夜間と昼間のRTPC設定は、基本的に真逆なのです。

image030Ambience_Outside_NightというSFXを出すポジション

天候システム

もう1つ、別の問題があって、今までの作業は良い天気であるという大前提のもとに成り立っています。

でも太陽が去ったあと、ウェステロスはどうなるか?

image031

image032

image033

image034天候パラメータのRain(雨)、Snow(雪)

Day-Nightサイクルと似ていますが、今度は異なる天候のためのRTPCが必要で、Rain_Intensity(雨の強度)とSnow_Intensity(雪の強度)を作成します。

そして、先ほどの作業を、この2つのパラメータでも繰り返します。こちらの例を見てください:

image035

シティ内が雨や雪のときの、夜間の虫音を設定し、その動作を変えました。雨天時、虫の音の大きさは雨量が増えるにつれ、小さくなります。降雪時、わずかな雪の量でも虫の音が完全に消えます。

はい、これは全部自分の経験に基づいて判断しました。下のスクリーンショットを見ると、考え方が大体分かると思います。

image036Rain(雨)のブレンドトラック

まず、雨から:

このエフェクトの強度によって、雨音をRain_Small、Rain_Medium、Rain_Bigの3つに分けました。距離に応じて、雷音をThunder_Distant(遠距離)と、Thunder_Close(近距離)に分けました。さらにCameraDistanceやRain_IntensityのRTPCと組み合わせれば、ボリューム制御の精度が上がります。そうすれば雨エフェクトのリアル感が増します。

降雪は、もっと単純です。中国北部では雪になると、本格的に降ります。私は、ゲームでも同じにしたいと思いました。なにも、雨や雪の音をせっかくつくったのだから、大音量で常時再生しよう、と言っているのではありません。なんでもバランスが肝心です。音も例外ではなく、自然に聞こえるべきです。雪におおわれて凍てついた世界ですが、刺すような風が吹き荒れている冬ではありません。逆に静かで平和的です。サウンドデザインにも、これを反映させたいと思いました。

image037降雪の天気には、単純なSnow_WindというSFXだけを作成

インタラクティブな機能やアセットの整理と実装について、たくさん書いたので、今度はバスの管理について説明したいと思います。

バス管理

私たちが作成したサウンドスケープは複雑ですが、それはバスのコンフィギュレーションを見ても分かります。プライオリティの設定や、オートダッキングの活用、そしてサイドチェインの体系的な利用などがとても重要になってきます。

image038

私はAmbianceバスの下に、Ambiance_Buildingと、Ambiance_Cityの2つのバスを作成しました。両方とも階層レベルは同じです。ところが、アサインされているアセットや使う場面などは異なります。互いに干渉しません。具体的には、Ambiance_Buildingバスにアサインされているのは、34棟の機能する建物の点音源やアンビエンス音源です。また、これらの音がトリガーされるのはプレイヤーがクリックしたときだけです。Ambiance_Cityバスにアサインされているのは、シティの内外にある地形ブロックのアンビエントサウンドです。

では、まずBuilding(建物)の方を見ていきます。ランダムな点音源(上図Element、Element_Loop)の方が、アンビエンスだけのループ(上図Loop)よりもプライオリティが上です。そこで、オートダッキング機能をAmbiance_Building_Elementsバスに適用し、Ambiance_Building_Loopバスを抑圧させました。こうすれば、プレイヤーが建物をクリックしたときに建物のディテールを前面に出せます。また、場所によってAmbiance_City_Inside(シティ内)と、Ambiance_City_Outside(シティ外)の、2つのバスを作成しました。理由は、シティ内や建物の音の方が、シティ外や地形ブロックの音よりもプライオリティが高いからです。一方、プレイヤーはシティの中で建物を建設する場合、その場に長くとどまる傾向があります。シティ外にある自然の要素が、シティ内の重要な音を抑え込んでしまってはいけません。では、その設定方法は?

image039

image040サイドチェイン

現在の子バスの、リアルタイムのラウドネスを測定するために、Wwise MeterエフェクトをAmbiance_City_Insideバスにインサートしました。測定値は、新しいRTPC、Ambience_City_Sidechain_Aに送られます。これはAmbiance_City_Outsideバスをコントロールするのに使うRTPCです。このやり方で、これらの音の階層や内容を系統的に区別して管理できます。

以上で、異なるプライオリティを音ごとに設定できました。でも、音楽を忘れてはいけません。

サウンドスケープがさらに複雑になってくると、混乱を避けるために音楽にリアルタイムでダッキングを適用する必要があります。音楽のダッキングルールは、建物のステータス(クリックの有無、ズームイン・ズームアウトなど)ではなく、全体のラウドネスに依存します。

image041

ここでもサイドチェインを利用して、AmbianceバスにWwise Meterエフェクトを直接インサートしますが、リアルタイムのラウドネスの送り先となるのが、新RTPCのAmbiance_City_Sidechain_Bです。さて、このRTPCは何に使うのか?音楽モジュール全体をコントロールする?それは範囲が広すぎます。

image042

シティ内のインタラクティブミュージックは、時間帯(昼または夜)や天候に基づいて作成してきました。これらは、ハーモニーや楽器が違います。天候(晴れ、雨、雪)によって音の特徴が違うことを考慮すると、音楽に使うサイドチェインもそれに従って制御すべきです。例えば、荒れ狂う暴風雨のときは、大雨と鳴り響く雷鳴で、ほかのほとんどの音がかき消されます。もし暗い雰囲気を表す音楽が、雨天時にあまりにも抑え込まれてしまうと、視聴覚的なエクスペリエンスの没入感が弱まります。そこで音楽をコントロールするときに、アンビエンスや、そのときの気持ちや、重要なシーンなどに配慮する必要があります。

これでシティ内のシーン全体のインタラクティブなアンビエントサウンドシステムを、デザインし、構築できました。あとは自分たちが満足するまで、作業内容をテストして改善して最適化するだけです。

まとめ

私にとって、このようなインタラクティブなアンビエントサウンドシステムをつくるのは、とてもおもしろいことです。空っぽの世界のために枠組みを作成したり、ルールを定義したり、詳細を洗練させたりできたことを、誇りに思っています。まるで積み木のように、新しい可能性が常に前に広がっています。クリエイティブな過程は成果と同じくらい大切です。最後に、プロジェクトチームのみんなのサポートに感謝するとともに、ここに至るまで私を生徒として見守ってくれたWwiseにも、もちろん感謝です。

   

チャン・リウ(刘畅)

シニア・ゲームオーディオデザイナー

YOOZOO GAMES

チャン・リウ(刘畅)

シニア・ゲームオーディオデザイナー

YOOZOO GAMES

石油・ガス探査を専攻したのち、サウンドデザインの世界に入る。何足もの草鞋を履き、サウンドデザイナー、インディペンデントミュージシャン、人文系の写真家、ダイバー、そして翻訳家として活躍中。『ゼルダの伝説』が大好き。『レッド・デッド・リデンプション2』では全種類の動物を狩猟。上海在住。

コメント

Replyを残す

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

ほかの記事

WwiseとREAPERの連携(パート1)WAAPI Transfer

WAAPI...

27.5.2020 - 作者 二コラ・ルキッチ(Nikola Lukić)

A Wwise Unity Cheat Sheet

今日のトピックは、Wwise Unity...

2.2.2021 - 作者 マス・マレティ・スナロプ(MADS MARETTY SØNDERUP)

映画のようなスコアを プロアクティブなオーディオで

28.7.2021 - 作者 Sonic Bloom

zerocrossingのSpectralMultiEffect

20.10.2021 - 作者 ハビエル・アルシニエガス(Javier Arciniegas)

インタラクティブミュージック 自分の選択肢で展開されるバラード

inXile Entertainmentは、2018年にクラウドファンディングに成功してゲーム『Wasteland 3』の制作を本格的に始めました。前作『Bard's Tale...

13.4.2022 - 作者 アレキサンダー・ブランドン(Alexander Brandon)

ループを使ってエンジン音をWwiseでデザインする パート2

27.4.2022 - 作者 アルト・コイヴィスト(Arto Koivisto)