Text 小野 憲史
株式会社カプコン(以下 カプコン)にてテクニカルVFXアーティストをつとめる竹井翔氏は3月30日に開催されたゲームクリエイターズカンファレンス’18で、『MONSTER HUNTER: WORLD(以下MH:W)』におけるHoudiniの活用事例について講演を行った。講演タイトルは「『MH:W|Houdini』 -Houdiniエフェクトアセット作例紹介-」。竹井氏は「今までは手作業で1週間程度かかっていたテクスチャ作成が、Houdiniを活用することで20分程度に短縮されました」と、大きな効果があったことを説明した。また、本記事ではセッションレポートと合わせて、竹井氏へのインタビューも併せて掲載する。
『MH:W』はハンティングアクションゲーム『モンスターハンター』シリーズの最新作で、2018年1月26日にPlayStation4/Xbox One/PC※向けに発売。『モンスターハンター』シリーズのノウハウと最新技術の融合で大きく進化を遂げた作品であり、ワールドワイド展開に注力した結果、カプコンにおける単一タイトルとして史上最高の出荷本数750万本を達成した。竹井氏は「今回のプロジェクトで大規模ギミックや痕跡など、今までのシリーズでは存在し得なかった表現が多く求められました。Houdiniでなければ実現できませんでした」と振り返った。※ PC版発売日は後日発表
本講演では「FLIPで作成したパーティクル用RGBテクスチャ」「頂点アニメーション(=Vertex Animation Texture)による濁流モデル」「陸珊瑚の台地の雲海表現」「痕跡アセット」の4種類について、デモを交えながら作例が解説された。
『MH:W』の舞台はさまざまな地形が広がる広大な自然空間だ。その一方でメモリは有限なので、できるだけ効率の良いデータの持ち方が求められる。写真は左から水・泥水・泥・マグマによる飛沫表現で、すべて同じテクスチャを使用し、シェーディングの変化だけで違いが表現されている。そのため属性ごとにテクスチャを用意する必要がなく、メモリ効率の向上が図れる。
RGBテクスチャはRGB情報とアルファチャネルに、それぞれ赤:スペキュラ・緑:屈折・青:密度・アルファ:マスクが格納された特殊なテクスチャだ。ゲームエンジン(本作では内製のMT FRAMEWORKを使用)のエフェクトエディタに搭載されたパーティクル専用のシェーダ、RGBCommonとRGBWaterの2種類で運用されており、講演ではRGBWaterシェーダ用のテクスチャが紹介された。
RGBテクスチャはHoudiniのFLIPシミュレーションをMantraでレンダリングし、その結果をもとにAfter Effectsでコンポジットして作成されている。RGBWaterシェーダを介して、RGBテクスチャに格納された各成分を簡易的にパラメトリック合成することで、同一テクスチャからさまざまな質感を表現する仕組みだ。なお、大半のテクスチャは64パターン・2Kサイズで運用されている。
FLIPシミュレーションではEmitterの形状を平面に近づけ、Velocityもその形状から放射状に伸びるように設定された。パーティクルで使用されるテクスチャが立体のアニメーションとあまり相性が良くないことが理由だ。アニメーションの核となる形状は、その大半がFluidSourceにデフォルトで格納されているCurlNoiseで決定されている。竹井氏は「良い感じの形状になるまで、ひたすらOffsetをずらして繰り返していきます」と説明した。
ちなみにAutoDOP内ではGasSurfaceTensionのMicroSolverをVolumeVelocityのInputにつないで、粘りが少し足されている。ParticleSeparationの解像度は0.04、FlipSplver側でReapParticleとAgeが立てられた。SeparationやDropletsは特に使用していないという。このほかEmissionの尺やLifeはNullに追加したパラメータを各ノードの引数に参照させて、まとめて制御されている。
シミュレーションが完了したら、MantraのExtraImagePlaneでレンダーパスを設定してレンダリングする。ライティングはIBLのみで、2種類のHDRがRefraction用(写真参照)とReflection用(COPで作成されたノイズテクスチャ)に使い分けられている。その後、After Effectsで各レンダーパスをチャンネル別にまとめて、加算合成することで1枚のテクスチャに合成。マスクやサイズ設定が終了したらエクスポートし、その後別のファイルでテクスチャをレイアウトして、最終調整をかけた後にDSS化が行われた。
竹井氏は「Houdiniの柔軟なEmitterとVerocityAttributeの制御により、FLIPでパーティクルに最適なアニメーション制作が可能になりました。また、ROPのExtraImagePlaneによるレンダーパスの設定が非常に簡単で、After Effectsでのコンポジットの際、試行錯誤をするのにとても役立ちました」と振り返った。また、今後はコンポジットの際にAfter Effectsではなく、Houdini の合成モジュールである COP (Compositing Operators)による運用も試していきたいと付け加えた。
濁流モデル(左上)と、ベースとなる地形(右上)の3DCGデータだ。ベースとなる地形は濁流が流れる地形に近しい形になるよう、カーブを手でひいた後にRayで吸着させる。その後、Copyであらかじめ底面を削った状態になるようなCircleを配置し、Skinする(左下)。ただし、この状態だとモデルのUVを既存のUV系のSOPで綺麗に展開することが難しいため、同じポイント数のシリンダーを別に用意して、そちらのUVを用いて展開。これをAttributeCopyで受け渡すことで、綺麗なUVが作成された。
なお、波のアニメーションはOceanSpectrumとOceanEvaluateによって生成されている。OceanSpectrumにはデフォルトでLoopPeriod機能がついており、これを活用してアニメーションのループを実現。モデルの先端はOceanEvaluateのDepthFallOffで制御し、波の勢いを減衰させている。
また、テクスチャを参照するために用いられるセカンダリUVのレイアウトには、WrangleでUVのU座標に@ptnum/@numpt-1を使用した。しかしDCCのUV情報が32bitで作成されているのに対して、エンジン上では16bitでUV情報が扱われていたため、最初から大量のポイントを0-1空間に納めようとすると、bit数の劣化によってUVの数値にアーティファクトが発生する問題が生じた。そこでU軸の座標に整数の@ptnumをそのまま代入し、シェーダで全頂点数から除算して0-1空間に納めるように工夫したという。
こちらが作成された頂点アニメーション用のテクスチャ。ベイクは内製のネットワークで行われた。OceanEvaluate適用前後の情報を比較して法線や相対情報を取得。その後BlockとTimeShiftで全フレーム分の情報をテクスチャのように羅列している。なお、頂点アニメーションでは頂点数が8192を超過するとテクスチャの折り返しが必要になる。濁流モデルは2480ポイント程度だったが、折り返しについても簡単にできるように対応したという。
VAT用ネットワークの流れ
濁流の仕組みと専用シェーダを流用し、海岸の波打ち際の表現や、放射状に広がる波の表現も実装された。各モデルの頂点数は2000〜4000程度で、竹井氏は「テクスチャが圧縮できず、メモリを圧迫するデメリットはありましたが、費用対効果の面で考えれば軽くまとまったと思います」と振り返った。
なお、波アニメーションのループ化は当初BlendShapeで補完していたが、OceanSpectrumにLoopPeriodの引数があることを知り、こちらを活用したとのこと。また放射状に広がるアニメーションでは、当初AttributeTransferで波を4方向に複製した後にブレンドしていたが、後にOceanSpectrumにWaveInstance機能があることを知り、そちらを活用したと補足した。
雲海のVolumeはGridから生成したポイントにノイズを加え、Metaball化したものをCloudとCloudNoiseでVolume化している。距離に応じてボクセルの解像度を変化させ、LOD的な処理が行われている。竹井氏は「当初はTeragenの使用も検討されましたが、Volumeのレイアウトやディティール調整で圧倒的な優位性があったため、最終的にHoudiniが採用されました」と説明した。
作成されたVolumeは環境マップテクスチャに変換して使用されている。なお、環境マップには前後左右上下で6枚の絵が必要になる。そのためカメラの画角を調整して絵がシームレスにつながるように調整後、カメラのTransformにキーフレームを設定し、各アングルを一度にレンダリングしている。レンダリング結果はAfter Effectsで環境マップに変換できるように配置される。
その後、DSSとして出力されたテクスチャを雲海用のシェーダに登録すると、雲海のVolumeが完成する。なお、ライティングはあらかじめフィールドの太陽の方向にあわせて調整されているため、法線マップは使用せず、レンダリングした結果がそのまま反映されたという。
痕跡アセットはSOP(Surface Operation)とCOP(Compositing Operators)の合わせ技で作成されている。ハイポリゴンのGridに対してAttributeFromMapからマスクテクスチャをOp関数で引用し、COP内の計算を通して作成したテクスチャから、内側の凹みと外側の凸みを個別に制御できるように工夫されている。また、起伏に必要なノイズもある程度、自由に調整可能なようになっている。
法線マップはGridのWorld法線からGとBを入れ替えて、そのままテクスチャ化されているため、起伏がある程度正確に反映されている。ゲーム内で使用するデカールにもRGB系のシェーダが搭載されているため、RGBテクスチャ化する部分も自動化され、法線マップと一緒にまとめて出力できるように配慮されている。
このほか、マスクがインポートされた時点でアルベド・法線・エミッシブなどが、ほぼ自動で更新されるように工夫された。これにより、ベースとなるマスクがあれば、ほぼ自動的に似たようなテイストのアセットの量産が可能になった
竹井氏は「最初にアンジャナフの足跡を作成したところ、1枚のテクスチャで1週間くらいかかってしまったので、Houdiniによる自動化を試みました。本作のデカールの法線マップは地面の法線マップとテクスチャのアルファでブレンドできるため、可能な限り起伏表現を行うことも課題でした」と語った。これらを踏まえて前述のシステムを構築したところ、約1週間で完成。これにより痕跡アセットが1枚20分程度で作れるようになったという。
自ら「エフェクトを作るのが大好きで、ツール周りの整備に留まらず、がっつりとリソース制作にも携わっています」と語る竹井氏。制作ではさまざまな試行錯誤があり、中でも濁流表現には半年近くの期間がかかったと述べた。その上で、今回紹介したアセットはすべて、Houdiniがなければ実現不可能だったとふり返り、関係者に謝辞が述べられた。
ゲームに必要なアセットの中でも、エフェクトは作業の幅が広く、リソースの持ち方も多彩だ。その一方で必要なアセット量は多岐にわたり、特に制作の効率化が求められる部分。中でもフォトリアルな表現が求められるAAAタイトルでは、Houdiniならではのプロシージャルなアセット制作が必須になってきたといえる。その成果が十二分に感じられたセッションだった。
竹井氏インタビュー
「カプコン竹井翔氏に聞くHoudini勉強法/ロマンや情熱が一番大切、Houdiniで誰も見たことのないエフェクトを作りたい」
ゲームクリエイターズカンファレンス'18で『MONSTER HUNTER: WORLD』におけるHoudini活用法について講演したカプコンの竹井翔氏。現場たたき上げのエフェクトデザイナーで、2017年からテクニカルVFXアーティストに就任した。Houdiniを独学で学んだという竹井氏に、習得のコツやHoudiniの特性などについて伺った。
学生時代から自然にエフェクトに慣れ親しんでいた
Born Digital(以下、BD) 講演おつかれさまでした。はじめに竹井さんの経歴について教えてもらっていいですか?
竹井翔(以下、竹井) 山口県下関市出身で、高校卒業後に渡米して、ニューヨーク州の大学に進学しました。学部はリベラルアーツで、とりたててアーティストの勉強をしたわけではありません。卒業後、帰国してゲーム会社を5-6社受けたところ、運良くカプコンに拾ってもらいました。もともとゲームに関心がありましたし、中でもカプコンのゲームが好きだったので、良かったですね。
BD それはすごいですね。何が決め手だったのでしょうか?
竹井 学生時代からPhotoshopで絵を描いていたので、それが良かったのかもしれません。もっとも趣味レベルで、デッサンもほとんど経験がありませんでした。実際、記念受験のつもりでカプコンを受けたので、合格するとは思っていませんでした。
BD エフェクトとのかかわりはどこから?
竹井 2010年入社でしたが、その時はまだ職種が明確に分かれておらず、アーティストならアーティスト枠として一括で採用し、入社後に適性を見て振り分けるといった形でした。最初に研修でいろいろやってみて、一番水が合っていたという感じでしょうか? 今思えば、昔からCGを描くときは割とエフェクトを描いていました。血しぶきだったり、土煙だったり。
BD 学生のポートフォリオではキャラクターの顔だけ、全身だけ、全身と背景だけといったものが多くみられます。そうした中、ちゃんとエフェクトまで加えられていたというのは、おもしろいですね。
竹井 『ターミネーター2』をはじめ、派手な映画を観て育ちましたから、自然とそうした感性がすり込まれていたのかもしれませんね。まだVFXではなく、SFXといっていた時代です。
BD Houdiniを使い始めた経緯は何でしたか?
竹井 2013年から2014年にかけて、比較的手が空いた時期があったので、上司からHoudiniの検証を命じられました。ちょうどHoudini14か15の頃で、「周りで評判が高いから、ちょっと触ってみろ」と。その後、しばらく間が空いて本格的にハマった感じですね。特にSOP(Surface Operators)とCOP(Composite Operator)の機能にのめり込みました。
BD 周りにHoudiniを使われていた方はいらっしゃいましたか?
竹井 『MONSTER HUNTER: WORLD』のエフェクト班でメインツールとして使っていたのは自分一人でした。これは今でも同じなので、もっと興味を持ってもらうために、社内勉強会などを主催していますHoudini使いが増えたら、デジタルアセットもぜひ使っていきたいです。
BD カプコン全体ではどうでしょうか?
竹井 エフェクト班全体でいえば、Houdiniを使われている方が増えていますね。ただ、どちらかというと、背景班が先行して使っている感じです。プロシージャルで背景アセットが作れる点が注目されているようですね。
“多少せっかちなくらいの方がHoudiniには向く”
BD 話を戻すと、Houdiniを独学されるのは敷居が高くありませんでしたか?
竹井 公式サイトのチュートリアルを片端からこなしていきました。マスタークラスのチュートリアルが終了する頃には、一通り自分のやりたい表現ができるようになっていました。詰まった時はSIDEFX FORUMやOD FORCEといった海外の掲示板サイトをチェックすれば、たいてい解答が得られました。英語での情報収集に苦手意識がなかったことが幸いしましたね。
BD 既存のDCCツールと比べて、苦手意識を覚える人も少なくないようです。
竹井 Houdiniの特徴として、すべてのデータをアトリビュートとして扱える点があります。そこが大きく違う点かもしれません。Mayaや3ds Maxと違って、データを自由にこねくりまわせるというか、・・・。個人的にはWrangleの機能がすごくしっくりきました。自分みたいに、いらち(せっかち)な人向けかもしれません。
BD 逆に100%、自分で思い通りに絵をコントロールしたいという人には、不向きかもしれませんね。
竹井 自分はできるだけ綺麗なビジュアルを効率的に作りたいタイプです。Houdiniではまず効率を考えるか、完成度を取るかで好き嫌いが分かれる気はします。
BD 楽をするために全力を傾けるという姿勢は、プログラムにも相通じるところがありますね。
竹井 自分は絵が描けないですから。色々な計算を組み合わせて良い感じのものを作る方が僕には向いているようです。
BD 他に触っていて、Houdiniらしいなと思われる機能はありますか?
竹井 TERRAIN TOOLSが特徴的だと思うのですが、ZBrushとまったく違うアプローチができる点でしょうか。ZBrushはCGを彫刻のようにスカルプティングしながらジオメトリを作り上げていくツールですが、パラメータによる要素の「後のせ」を苦手としています。一方でHoudiniでは作った素材に対して、後から別の要素を足したり、引いたりといったことが非常に簡単にできます。
BD Houdiniを今後こんな風に使ってみたいという思いはありますか?
竹井 いろいろありますが、ゲーム業界におけるHoudiniの活用は現世代機で本格化しました。これが次世代機になれば、もっと活用の範囲が広がるのではないでしょうか。特にボリューム系の技術には期待しています。
【講演者紹介】
竹井 翔 氏(株式会社カプコン VFX室 テクニカルアーティスト)
2010年入社。『MONSTER HUNTER: WORLD』ではエフェクト用のリソース及びシェーダの作成を担当。
当サイトの内容、テキスト、画像等の無断転載・無断使用を固く禁じます。
Unauthorized copying and replication of the contents of this site, text and images are strictly prohibited.
Credits:
©CAPCOM CO., LTD. 2017 ALL RIGHTS RESERVED.©2017 Born Digital,Inc All rights reserved.