皆様こんにちは。VFXアーティストの安田です。『ベヨネッタ3』ではリードVFXアーティストとして携わらせて頂きました。一部ではありますが、今回はベヨネッタ3における背景のVFXがどのようにして制作されたのか解説させて頂きます。
本作におけるVFXは、化粧品やシャンプーなどのCMなどを参考に「細かい粒子がキラキラ輝く女性らしさ」をイメージして作成致しました。バトル中のウィッチタイムやマスカレードに変身するカットシーンでは、ベヨネッタ1,2とは違った煌びやかな少し大人の印象を感じられる表現にチャレンジ致しました。
キラキラ輝くクリスタルと粒子表現
最初にご紹介します表現は大人の印象を感じさせられるキラキラとした表現です。こちらの画像はHoudini(※1)で作成したクリスタルのモデルにライトで色付けをしています。
モデルは回転するアニメーションをしていまして、ライトの色の影響を受けることにより、キラキラとした複雑な色変化をする素材になり、リッチな演出を作る事が出来ました。
(※1)3DCG制作専用のソフトウェア。
次の映像はカットシーンにおいてクリスタル素材を使った演出になります。
カラー・マイ・ワールド(四丁拳銃)を取得するカットシーン(プロローグより)
ウィッチタイムの演出でもこのクリスタル素材をちりばめています。ウィッチタイムを発動する際に、粒子とラインが左右から発生し画面を横切ります。一瞬ではありますが、華やかな発動演出が作れたと思います。
ウィッチタイムの演出
次の画像は細かい粒子のテクスチャをモデルに貼り付けて作成した粒子線の素材です。点のテクスチャを沢山出すのではなく、あらかじめ細かい粒子のテクスチャを作り、それをモデルに貼ります。モデルの回転するアニメーションとテクスチャのUVスクロール(※2)を使い複雑な粒子の動きを作って演出しています。
(※2)テクスチャを上下、左右に動かすことで、静止した絵がいかにも動いているかのように見せること。
デーモン・マスカレードで変身するカットシーン(プロローグより)
破壊の演出
本作ではホムンクルスの侵略によりステージのいたる所が破壊されています。また、バトルや演出によってリアルタイムで破壊される箇所もあります。ゲームの中でどこまで破壊された街並みが表現出来るか、どこまで派手な破壊演出が出せるか、試行錯誤しながら着地点を探りました。その一部をご紹介致します。
建物が壊れる際、大量の瓦礫やガラス破片を出す必要がありました。瓦礫やガラス破片のモデルを大量に出すとそれだけポリゴン数が増え処理に負荷がかかります。
そこで、モデルではなく瓦礫・ガラス破片のテクスチャを大量に出すことを考えました。瓦礫のテクスチャを大量に出す場合、同一のテクスチャだとシルエットが同じに見えてしまうのでシルエットの違う複数のテクスチャを作成する必要がありました。
瓦礫とガラスのテクスチャ
今回試してみたのがHoudiniのImpostorという機能です。
これは3Dのように見せるためのテクスチャを作る事が出来ます。対象をY軸360度撮影する設定でキャプチャーし、ガラス破片のテクスチャシートを作成致しました。実際3Dのモデルではないのですが立体的なテクスチャを作り、テクスチャシートの素材をランダムに選択してシルエットが違うように見せています。
次に上記の素材を使いGPU Particleを使用した破壊の検証を行いました。GPU Particleはテクスチャを一度に大量に表示する事が出来るので、負荷を抑えつつ破片を大量に出すことが出来ました。
また設定に光源計算も加えたので、ポイントライトの影響を受けるようにしました。以下の映像では中央にオレンジ色ポイントライトを置いているため、ライトの影響範囲に入ったガラス破片はオレンジ色に照らされます。
爆発のVFXでは破片がライトの影響を受けて飛び散る様に設定しているので、よりリアルな表現になったかと思います。
Impostorの検証
ガラス破片の素材を使った例として、電車内のバトルで窓が割れ床にガラス破片が散らばる演出があります。他にも建物の破壊などで瓦礫や木材の素材も作り、同じようにImpostorとGPU Paricle手法でダイナミックな破壊に見えるように表現しています。
電車内のバトル演出
煙や靄の演出
ここではVDBデータを使った3Dテクスチャをご説明いたします。今まではUとVの2軸のテクスチャでしたが、VDBデータを使用し3Dテクスチャを作成することで、奥行の表現が可能となり、本作では方向性を持った煙の素材を作りました。Houdiniで立方体のノイズなどを加えたVDB素材を作成し出力し、3Dテクスチャを作成します。あとで調整出来るようにHDA(※3)にし、必要なパラメータを揃えておきます。
(※3)「Houdini Digital Assets(HDA)は、Houdiniのノードネットワークの一部を再利用できるようカプセル化し、コントロール用のパラメータを用意することで、独立したノードとして扱えるライブラリ。」― CGWORLDより
出来た3Dテクスチャ素材を内製エンジン上で形状、タイリング(※4)数、UVスクロールのスピード、カラーやアルファを設定していきます。VDBを煙や靄などに調整し、各ステージで配置致しました。煙で霞んでいる渋谷のステージなど臨場感のある場面作りを致しました。
(※4)同一のテクスチャをタイルのようにリピートさせること。
煙の検証
雲海の演出
雲海の演出
このステージは泡風呂をイメージした雲海の背景でバトルをするため、描画負荷を抑えた広範囲の雲を作る必要がありました。
雲海の検証
全て同じ密度のモデルで作るとポリゴン数が膨らむので、近景、中景、遠景と分け、それぞれにポリゴンリダクション(ポリゴン数の軽減)をかけています。
もう一つ分けた理由としまして、遠近感を出すために内側は速く、外側はゆっくり動くように調整をしています。
モデルと同様、近景、中景、遠景と分けてNormal Texture(※5)作成しました。各モデルにNormal Textureを貼り雲の陰影を表現しています。また、ゆっくりUVスクロールすることで雲が風に流れているような表現もしています。
(※5)法線マップとも言う。モデル表面に凹凸や溝などのディティールを追加する特殊なテクスチャのこと。
ポータル崩壊の演出
本作ではHoudiniのVAT(※6)を使用して様々な表現を作りました。簡単ですが、その一部のポータル崩壊のVATについてご説明をさせて頂きます。
(※6)Vertex Animation Textureの略称。頂点の位置、回転の動きを記録したテクスチャのこと。
ベヨネッタ3では各ステージをクリアする度、ステージのポータルが崩壊していくという演出があります。
Houdiniで下から徐々に崩れていくシミュレーションを作り、崩れて落下していく破片は徐々にスケールで小さくして消滅するアニメーションを入れました。このシミュレーションをベースに、上記でご説明致しましたGPU Particleのガラス破片などを足して、崩壊しながら粉々になっていく演出を作りました。
ポータル崩壊の演出
いかがでしょうか。まだまだ書ききれない技術も沢山あります。
検証に検証を重ね、細部にまでこだわって作り上げたベヨネッタ3のVFX。処理負荷のぎりぎりを攻めた圧倒的な迫力と爽快なゲームに仕上げられたと思います。発売から早くも1年が経ち、多くの方は手に取って遊んで頂いたと思いますが、またプレイされる際はぜひ注目してみてください。
安田 隆弘 Takahiro Yasuda 2010年にVFXアーティストとしてプラチナゲームズに入社し、10作品にわたるゲームのVFX制作に携わる。『ベヨネッタ3』ではリードVFXアーティストとして参加。 |