VRで体験する "Passengers: Awakening" の舞台裏 ― テクニカラーのサウンドデザイナー、ビクトル・フェニックス(Viktor Phoenix)氏に聞く'

サウンドデザイン / VRエクスペリエンス

  • ビクトル・フェニックス(Viktor Phoenix)テクニカラー(Tecnhicolor)の The Sound LabのSound Supervisor 兼Senior Technical Sound Designer
  • プロジェクト名:Passengers: Awakening 
  • 分野: ナレーティブ要素全般のADR監督、テクニカルサウンドデザイン
  • 目標: 小さい開発チーム(10人前後)を率いて、短期間でAAA級のインタラクティブVR体験を完成させること
  • オーディオ要件: ナレーティブ要素のスペ―シャリゼーション(spatialization)を、マルチプラットフォーム・3言語対応でリアルタイムに実現させる

Screen Shot 2017-05-09 at 4.47.12 PM.png

私は、MPCのVR チームに誘われて、クリス・プラットとジェニファー・ローレンスが共演するソニー・ピクチャーズの映画『パッセンジャー』のVR体験版プロジェクト ‘Passengers: Awakening’の作成に関わりました。10年近く前に、Pandemic Studiosで初めてWwiseを使ってから愛用してきたので、今回もタイトなスケジュール内に目標を達成するには絶対に使うべきだと考えました。

MPCの開発者たちと緊密に作業をして、ダイアログを動かすのにUnreal EngineのビジュアルスクリプトであるBlueprintsで構築したロジックを使いました。UEのBlueprintsとWwise のEventを組み合わせることで、フック作成にプログラマの時間を無駄にすることなく、私もより多くのことを実現できました。

Unrealに組み込まれたオーディオエンジンは色々なタスクをこなせるものの、Wwiseの方が使いやすいと思うところがいくつかあります。第1に、Uassetsはバイナリファイルなので、テキスト編集ができないし、マージもややこしい。ファイルをテキストエディタで修正できるかどうかは、とても重要だと思います。WwiseファイルはXMLビルドでUEプロジェクト外にあるので、簡単に編集できるし、Perforceでファイルをマージできます。よくやるわけではないけれど、いざという時に助かりますね。

第2に、通常はプログラマにお願いするような、まだUEで自動化されていないタスクは、Wwiseに頼るしかないと考えて、特にプラットフォーム別のインテグレーション管理などが重点課題でした。

バイノーラルレンダリング

‘Passengers: Awakening’はOculus Rift、VIVE、そしてPSVR向けに開発されました。OculusのバイノーラルレンダラはUnreal Engine 4に入っているので、PC限定のリリースの場合はUrealで直にサウンドのスペーシャリゼーションができます。ただ今回はPSVR向けのリリースもあって、Oculus spatializer機能はまだPS4と互換性がないので、全てのコンテンツでPC向けはOculus spatializerを、PSVR向けはソニーの3Dオーディオツールを使えて、インプリのやり直しやプログラマ依存を避けられるソリューションが必要でした。

Oculus Audio SDKにWwise用のOSPプラグインが入っているのでインストールは楽チンで、ソニーのツールも同様。セットアップはプロジェクトの最初に一回するだけで、あとはWwiseのアップデートが一切不要でした。Oculus spatializerはプロジェクトのBinariesディレクトリ内にあるけれど、今回はローカルにビルドする(つまり開発者が自分のマシンにバイナリファイルをリビルドする)ことにしました。だから、PerforceでDLLを例外としなければならなかったです。それ以外は、簡単、簡単です。

Wwiseのインテグレーション

私は割とスクリプト経験があるけれど、プログラマではありません。最初に手作業でWwiseをUnreal Engineにインテグレーションした時に、Oculus spatializerを登録するのにてこずったものの、ラッキーなことにテクニカラーの Research & Innovation チームのエンジニア、Giuseppe MattioloがMPCの現場にいて助けてくれました。それ以外は自分でWwiseをインテグレーションできましたが、数年前はできないと思っていました。さらに、プロジェクト進行中にSDKがリリースされても、Wwise Launcherで最新バージョンに移行できました。プログラマを拘束せずに他の作業に集中してもらえるチャンスが増えて、すごく嬉しいです。

MPAAの厳しいセキュリティから生じた課題

テクニカラーのサウンド施設もMPCも、Motion Picture Association of America(アメリカ映画協会)のコンテンツセキュリティプログラムに示されたベストプラクティスに準拠していて、これはMPAAのメンバー企業のコンテンツを不正行為から守ることが目的です。ガイドラインに馴染みのない方に説明すると、制作ネットワークや、デジタルコンテンツの処理や保存を行うコンピュータが、直接インターネットにアクセスできないようにする、というのもベストプラクティスの1つです。施設内外のファイルの移動や、ソフトウェアのインストールなども、ガイドラインに制定されています。確かにセキュリティは重要だけど、日頃からソフトを素早くアップグレードしたり資産(アセット)を送信したりするのに慣れていると、ソフトのインストールや施設間のファイル転送を他の担当者にお願いしないといけないのは、大変です。このプロセスで責任者を明確にすることができ、またWwise Launcherで行うオフラインインストールも便利でしたが、ガイドラインゆえに発生したボトルネックのおかげで、開発よりも調整に時間がかかることもありました。

 Screen Shot 2017-05-10 at 9.26.17 AM.png

リバーブのプリレンダリング

エフェクトをプリレンダリングするのかランタイムにレンダリングするのかの判断は、最終的には品質・メモリ・パフォーマンスのバランスです。プロジェクトによって異なり、今回はダイアログアセットのステレオリバーブのレイヤをプリントすることにしました。

今まで経験したプロジェクトに比べて‘Passengers: Awakening’のセリフ数は比較的少なく(500以下)、ユニークなエリアは6だけで、プレイ体験としてはダイアログのほとんどが1、2ヶ所に限定されていて全体的にリニア(直線的)でした。複数のエリアで再生されるセリフにはBlueprintでSwitchを設定して、場所に合わせてWwiseが正しいレイヤをトリガーするようにしました。最終的なアセット数は1,700未満(リバーブレイヤも含め)だったので、VorbisやATRACの圧縮を使うとメモリはさほど問題になりませんでした。ただ、リッチな映像のエクスペリエンスでVRのフレームレートは非常に高く、これ以上CPUの使用を増やしてリスクを高めるわけにはいきませんでした。リバーブは、プリレンダリングに決めました。

スタジオでリッチなリバーブが工夫できて、私も結果に満足しているけれど、もしもう一度やるとしたら、アーリーリフレクションはゲームのジオメトリ情報を使ってスペーシャリゼーションして、レイトリフレクションだけをプリントするか、テイルに高品質のリバーブを使いたいです。Oculus spatializerは、アーリーリフレクションを使うとCPU負荷が追加され、部屋の大きさに比例して増加してしまいます。でもAudiokineticからGDC 2017で発表された新しいプラグインのWwise Reflectは、効率的にCPUを使用するそうなので、是非使ってみたいと考えています。

 

プレゼンス

VRでプレゼンス、つまり存在感を作り上げるのに重要な切り口が、ユーザの動きにリアルタイムで反応するサウンドです。どんな音も、プリレンダリングするとプレゼンス感が落ちます。これは避けようのない事実。プリレンダリングで音の奥行がロックされてしまうので、ユーザは、自分の環境内の位置を主体的にとらえられなくなってしまうのです。360動画など一部ではアンビソニックスやquad-binauralなど既存のアプローチを使ってもいいけれど、完全にインタラクティブなエクスペリエンスにプリレンダリングを使うと、例えプレゼンスに悪影響ないなんて言う人がいても、それはウソ。もし影響を最小限に抑えたければ、ユーザ周りで音場を回すという手段をWwiseの新しいアンビソニックコンボリューションリバーブなどで採用しているけれど、やはりプレゼンスをしっかり形成するには、音の臨場感をリアルタイムでユーザや環境に合わせてレンダリングしてあげる必要があります。

プリレンダリングしたリバーブを取り入れたので、プロジェクトのローカリゼーション言語全てでアセットをプリントしなければなりませんでした。セリフ数が少ないおかげで、決して莫大な作業量ではなかったけれど、もしランタイムにリバーブをレンダリングしてスペーシャリゼーションするだけのCPUサイクルの余裕があれば、真っ先にしてました。

 

ローカリゼーション

ローカリゼーションでは、Wwiseでランゲージ管理をしたので、各言語のアセットを実装するのも全く苦になりませんでした。それらをUnrealで正しくストリーミングできるようになるには、MPC VRの開発者のTimothy Darcyの協力が必要でしたが、オーディオアセットを入れてSoundBanksをリビルドして、既存のAK Eventが全て正しいセリフを指すようにするのは、すぐできました。

 

Stylin’ Profiling

一つくらい、あそびのある見出しを入れなきゃね。まじめな話、インタラクティブプロジェクトに関わったことがある人は誰でも、プロファイリングの大切さは知っているはず。このプロジェクトもWwiseでプロファイリング情報を見るのは欠かすことができない作業で、いつものQAやバグフィックスはもちろん、実際にプロジェクト途中でフレームレートが遅くなった時は、オーディオに問題ないと確認するのに役に立ちました。正確にいつ、どこでCPUが使われているかを把握できたおかげで、原因を絞ることができて、チームの行き詰まりを解消できました。

 

リンク:

http://www.technicolor.com/en/solutions-services/entertainment-services/sound-post-production/sound-lab-technicolor

http://www.moving-picture.com/film/film-vr/vr/

http://www.technicolor.com/en/solutions-services/entertainment-services/creative-houses/technicolor-los-angeles/sound

http://www.technicolor.com/en/innovation/research-innovation

https://developer.oculus.com/downloads/package/oculus-audio-sdk-plugins/

http://www.mpaa.org/content-security-program/

ビクトル・フェニックス(VIKTOR PHOENIX)

Sound Supervisor and Senior Technical Sound Designer

ビクトル・フェニックス(VIKTOR PHOENIX)

Sound Supervisor and Senior Technical Sound Designer

Technicolor内 The Sound Lab ADRのビクトル・フェニックス(Viktor Phoenix)は、ロサンゼルスのTecnicolor内にあるThe Sound LabのSupervising Sound Designer 兼 Senior Technical Sound Designerとして、サウンドデザインのシステムや3Dオーディオのノウハウを活かして、スタジオ発のゲーム、VR、360動画プロジェクトなどで活躍。インタラクティブサウンドのデザイン、インプリ、ミキシングの経歴は15年に渡り、携わったプロジェクトは、'Click Effect'(VRSE )、'ADR1FT'(Three One Zero)'The Gallery'(Cloudhead Games)、'Insurgent VR'(Kite & Lightning )、'Evolve'(Turtle Rock Studios)、'Mercenaries'(Pandemic Studios )、Passengers の VR Experience版など。

 @viktorphoenix

コメント

Replyを残す

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

ほかの記事

イメージソースのアプローチで考える、ダイナミックアーリーリフレクション

前回のブログジオメトリ情報を活用するダイナミックなアーリーリフレクションを、UnrealとWwise Reflectでシミュレーションするでは、新しいWwise...

31.1.2018 - 作者 タリー・ケクリキャン(THALIE KEKLIKIAN)

Murderous Pursuitsのダイアログや会話のデザイン - パート1

はじめまして。ゲームチームBlazing Griffinのオーディオデザイナー、ジェイミー・クロスです。数か月前にMurderous...

9.7.2019 - 作者 ジェイミー・クロス(Jaime Cross)

Pagan Onlineのダイアログ管理を、AIで効率化するまで

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

Wwiseのオーディオオブジェクト 作成からプロファイリングまで簡単な9ステップ

Wwiseの新しいObjectベースのオーディオパイプラインが気になるけれど、どこから始めていいのか、悩んでいませんか?Windowsで、Wwiseを使ってAudio...

24.6.2021 - 作者 ダミアン・キャストバウアー(Damian Kastbauer)

zerocrossingのSpectralMultiEffect

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

インパルスレスポンスのリバーブで向上する音のリアリズム

10.9.2023 - 作者 Boom Library

ほかの記事

イメージソースのアプローチで考える、ダイナミックアーリーリフレクション

前回のブログジオメトリ情報を活用するダイナミックなアーリーリフレクションを、UnrealとWwise Reflectでシミュレーションするでは、新しいWwise...

Murderous Pursuitsのダイアログや会話のデザイン - パート1

はじめまして。ゲームチームBlazing Griffinのオーディオデザイナー、ジェイミー・クロスです。数か月前にMurderous...

Pagan Onlineのダイアログ管理を、AIで効率化するまで