ゲームエフェクトデザイナーのブログ | A Real-Time VFX Artist's Blog

About Making Materials on UE, Making Tools with C#, etc

GCC2018 カプコンMHW Houdiniアセット制作事例の講演メモ

GCC2018に参加してきた際のメモになります。

ゲームクリエイターズカンファレンス'18 | GAME CREATORS CONFERENCE'18

※理解もメモもほとんど追いつかなくただ書き散らしたものになっています
 間違った記載が大量だと思いますのでご注意ください

◆講演タイトル

『MH:W | Houdini - Houdiniエフェクトアセット作例紹介-』
 モンスターハンターワールドの講演です。

◆自己紹介 

株式会社カプコン 竹井 翔さん
VFX室 テクニカルアーティスト
Houdini歴 4年くらい
ツール周りの整備だけでなくがっつりリソース作成にも従事

MHWで担当したもの:
・初期 汎用テクスチャ作成、シェーダーの検証、エフェクトエディタの仕様周りの精査
・中期 プレイヤーやギミック周りのエフェクト
・後期 モンスターのエフェクト、エフェクトの処理上げ

結果的に3年くらいチームに在籍

◆FLIPで作成したパーティクル用RGBテクスチャ

RGBテクスチャについてまず解説
RGB各チャンネルに各要素を格納
 スペキュラ、屈折、密度、マスク

RGB CommonとRGB Water Shaderの2種類のシェーダがある

HoudiniのFLIPシミュレーションの結果をAEでコンポジット

RGB Water Shaderを使用
同じリソースを使いつつパラメータを変えることでランタイムで様々なバリエーションの表現が可能
1種類のテクスチャから、水、マグマ、泥、粘液、チリなど
メモリ効率面で非常に良い結果がでている
テクスチャは大体64パターンの2Kで運用

FLIPの説明

エミッタの形状を平面に近しくする ベロシティも平面上から延びるようにしている
立体と相性がよくないため
中心に近しい部分に情報が集中しないメリットがある
高解像度で運用すれば立体感がでないことはないと思うが

フルイドソースにデフォルトで格納されているカールノイズで
力技
AutoDOP内 ガス 粘りを出した
エミッションの尺やライフは

シミュレーションが完了したらMantraでダンダリング

サンプリングは3x3
リフラクトリミットなどもデフォルトのまま
設定はPhysical Renderにしている
レンダーパスは InDirect Direct 両方のリフラクション 密度 マスク
2種類のHDRを使っている
リフレクションとリフラクション 取り込みはIBL
ライティングはグレースケールテクスチャで

AEで各チャンネルを加算合成
チャンネルシフトを使用 32bitで合成

別のファイルでテクスチャをレイアウトして最終調整をかけて出力
社内のスクリプトでレイアウト 

ROPのExtra Image Planeの設定がとても楽
今回はAEでコンポしたが、今後はCOPで運用していきたい

◆頂点アニメーションによる濁流モデル

古代樹の森の大がかりなギミック
岩壁に一定ダメージを与えると決壊して水が流れる

Wrangleもご紹介

ベース形状はシリンダーの底をカット
地形に近い形状でカーブ
Xのスケールを0にして歪みのアーティファクトを回避
P Scaleをカーブに沿ってランプで調整可能にしている
シリンダーのUVが元なので展開が綺麗

Ocean Spectram ループ機能が付いている $T Length
波のアニメーション速度を調整しつつループしてくれる
整数でない数を入れると挙動が怪しくなる

Time Scale

モデルの先端で波の勢い フォールオフ

セカンダリUV
DCCのUV情報 32bit システムで使うのは16bit
bit数の劣化でアーティファクトが発生した
シェーダーでノーマライズしてアーティファクトを回避

頂点数が8192を超えると折り返しが必要
濁流では折り返ししなかったが折り返しも簡単にできるようにした

For文を使わずとも高速でレイアウトできる

頂点アニメーションへのベイクは自前
ブロックとタイムシフトで回す

COPは一度テクスチャ化しなくても良いのが素晴らしい

各モデルは2000から4000頂点(?)くらい

LuizさんのPythonのCOPツールを使用していたが
Houdini 15.5で使用不可になったので自作ベイクツールに移行
結果的に勉強になって良かった

放射状に広がるメッシュ変形の波紋アニメ
最初は4方向の波を合成していたがウェーブインスタンスの機能を後で知ってノードが減った

◆陸珊瑚の大地の雲海

15番のエリアから見える
かなりの画面領域を専有する

特にややこしことはしていないのでシンプルなネットワーク

クラウド>メッシュ化>メタボール化してクラウドクラウドノイズでボリューム化

カメラから良い感じに見えるよう近距離のものの解像度を上げた LOD的な考え
中景~遠景はほぼ同じネットワーク

雲のボリュームはゲームでは環境マップテクスチャに変換して使用
前後上下左右6枚の絵 カメラの画角を調整して隣同士をシームレスで繋いで
Houdiniで一発レンダリング可能なようにした 

AEでレイアウトしてDDSで出力

ライティングはステージに合わせているため法線マップは使用していない
※補足:珊瑚大地のマップはゲーム中に時間経過しない

環境マップに適用する板は4頂点か8頂点
不透明で運用 カメラへの突き刺さりはαディザで回避
雲海を抜ける時はパーティクルで雲を配置

当初はTerragen(?)を検討したが、ボリュームのレイアウトやディティール調整ではHoudiniが圧倒的有利

◆痕跡アセット

自動配置される
複数の痕跡リソース デカール 

痕跡アセットのhipはSOPとCOPの合わせ技

ハイポリゴンのグリッド
足跡の形状の内側の凹みと外側の凸を制御
起伏もそれなりに反映される

法線マップも含めHoudiniから一発でレンダリングできるようにしている

似たようなテイストのアセットの量産が可能

最初に作成したのはアンジャナフの足跡
痕跡作成に一週間くらいかかったのでHoudiniに移行
一週間くらいで完成
これにより20分で作成できるようになり、メンバーの負担を大幅に軽減

MHWは今までのシリーズで存在しなかった変更がとても多かった
Houdiniでなければなしえなかった

◆質疑応答 

Q「Houdiniのデータの管理はどうしていた?」

A「MHWではHoudiniを使っていたのはほぼ私のみ 好きなように管理していた
 使用者が増えて欲しいとは思う」

Q「スクリプトは全て自分で?」

A「全て自分で書いた」

Q「Houdiniの社内での広がり具合は?」

A「背景班で活動が広がってきている
  エフェクトも勉強会を開いているが積極的にチームに取り込もうとしているのは背景班の方が意欲的」

Q「濁流は最初から円筒からのアプローチだった?」

A「制作自体が難産だった トータル半年くらい 作り直しがあった
  ディスプレイスメントで頂点オフセットさせたり 頂点数が少ないとピクツキが起こった
 ピクつかなくするのに3万ポリゴン必要だった
 Uncharted4で頂点アニメーションを使用しているのを知ってやってみた」

Q「Houdiniで今後取り組みたい表現などは?」

A「UE4でボリュームスライスを再現するためのテクスチャテクニックがある
 現行機では現実的ではなさそうだが今後検証したい」

◆ボンデジさんから宣伝

・Houdini Core 23万円 -33% ゲーム会社限定 5/31まで

・新テキスト(英語) PDFがDL可能 これから始める人用
 SideFXのウェブサイトにリンクあり

・CGWORLDでMHWの記事が入っている 竹井さんも載っている

・ボンデジブースでアンケートに協力して欲しい ミニタオルをプレゼント

◆感想

ハイエンドなタイトルでエフェクトを制作する上で、Houdiniが強力なツールでありつつ、がっつり触っていかないといけないということを痛感させられるセッションでした。

組織としては、1本はライセンスを購入して1人はずっと触り続ける人を設け、経験値を溜める意味でも半ば無理矢理にでもゲームに組み込んでいって開拓していく必要がありそうです(実装するところまでやらないと問題点も浮き彫りにならないので)。

スクウェア・エニックスの高安さんの講演は竹井さんの講演と対照的にデフォルメや特殊な表現に特化した内容で「特殊表現を求められた時の解決にHoudiniが強い」という感じでしたが、竹井さんの講演のように濁流や雲など環境寄りのアセットを背景班にお願いしてエフェクト班で作らずにいると、そういったアセットを作成することになった場面でどうしたらいいか分からなかったりクオリティが出せない状況に陥る可能性もあると思いますが、そういった状況の打開面でもHoudiniがカバーしてくれる部分は多そうに思います。

ただ何よりも、講演で取り上げられていた水飛沫アセットのクオリティが高いのが素晴らしいなと。。

グっと危機感を煽られつつも大変刺激になったセッションでした‥!