26.6K Views
January 23, 17
スライド概要
2017年1月21日に行われたライセンシー様向けマテリアル管理勉強会の資料です。(登壇者: 株式会社SQEX大阪 林武尊様)
「大規模チーム」、「エフェクト」、この二点を軸に、爆発するマテリアル管理や検証をどのように行っているかを説明しただいております。
時間の都合で本編ではカットされた内容も沢山盛り込まれております。
Unreal Engineを開発・提供しているエピック ゲームズ ジャパンによる公式アカウントです。 勉強会や配信などで行った講演資料を公開しています。 公式サイトはこちら https://www.unrealengine.com/ja/
Deep Dive 大規模タイトルのエフェクトマテリアル運用 株式会社スクウェア・エニックス 林 武尊 公開版 ©2016 SQUARE ENIX CO., LTD. All Rights Reserved. ©2017
略称について 略称について • 『Unreal Engine 4』をスライド内では『UE4』と記載しています • 『PlayStation®4』も同様に『PS4』と記載しています ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
自己紹介 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
自己紹介 • 林 武尊( TAKERU HAYASHI ) • エフェクトアーティスト • KINGDOM HEARTS シリーズ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
今日お話する内容 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
今日お話する内容 内容 • UE4を使ったPS4の大規模タイトルでの事例 • 経験したことのないスタッフ数 • エフェクトチームでのマテリアルの運用のお話 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
今日お話する内容 前提として‥ • ファンタジックなエフェクトが沢山出る • 色々と四苦八苦したお話 • スライドはDLしてご覧ください ノートの方で大量に補足しています ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
今日お話する内容 講演の目的 • 世の中にまだまだ情報が少なくて苦労した これから取り掛かる方に少しでも参考になって欲しい • 色んな会社さんが事例をどんどん出していって欲しい 今回の講演がそのきっかけの1つになれば嬉しい ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
今日お話する内容 アジェンダ • エフェクトアセットの概要 あるタイトルでの事例 補足事項 • アセット管理 • テクスチャ • アセット管理での工夫 • マテリアル • ファイルサイズの計測 • マテリアルの利便性向上 • チェック環境 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 ここに1つのエフェクトがあったとする ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 エフェクトは複数のエミッターで構成される ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 エミッターはパーティクルの発生源 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 パーティクルを1つだけ生成したり沢山生成したり 1つだけ 沢山 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 1つのエミッターで1つのマテリアルを使う Mat Mat Mat Mat ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Mat Mat
エフェクトアセットの概要 1つのマテリアルに複数のテクスチャを使ったりもする エミッシブカラー Tex A Mat オパシティ Tex B ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 エフェクトのテクスチャはモノクロで十分な場合が多い ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 テクスチャを歪ませるために別のテクスチャも使う エミッシブカラー Tex A Mat Tex B オパシティ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Tex C
エフェクトアセットの概要 千切れていく表現のために別のテクスチャも使う エミッシブカラー Tex A Tex C Mat Tex B オパシティ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Tex D
エフェクトアセットの概要 つまりエフェクトはテクスチャを沢山使う ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 エフェクトのUE4上での参照関係はこんな感じになる エフェクト マテリアル エミッターA エミッターB テクスチャ デフォルト指定 Master Tex Tex Tex Tex MatInst エミッターC 差し替え分 エミッターD ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 次はエフェクトでメッシュを扱う場合について ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 パーティクルは大きく分けてスプライトとメッシュ スプライト ※本スライドでは「スプライトパーティクル」と呼称 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. メッシュ
エフェクトアセットの概要 メッシュパーティクルの場合 元のマテリアルをオーバーライドできる メッシュ Mat Mat ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 もしもオーバーライドできる機能が無かった場合‥ 同じ形状でもマテリアルの数だけメッシュの用意が必要 メッシュ ・・・ Mat Mat Mat Mat ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Mat
エフェクトアセットの概要 エフェクトのUE4上での参照関係はこんな感じになる エフェクト エミッターA メッシュ Mdl マテリアル Mat エミッターB エミッターC エミッターD テクスチャ Tex デフォルト指定 オーバーライド Master MatInst Tex Tex Tex Tex 差し替え分 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 つまり1つのエフェクトでこれだけのアセット量になる Master Mat Master Master Mat Mat Master Mat Mdl Tex Tex Tex Tex Tex Tex Tex Tex Tex Tex Tex Tex Tex Tex Tex Tex Master Mat Master Mat Tex Tex Tex Tex Tex Tex Tex Tex ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Mat Tex
エフェクトアセットの概要 まとめると‥ • エフェクトは沢山のマテリアルを使って表現する • マテリアルとテクスチャを組み合わせる • マテリアルとメッシュを組み合わせる • それらの組み合わせは非常に膨大! ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 実際にどんなテクスチャ・マテリアル・メッシュを 最初に用意するかというと、汎用的なものになる ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 エフェクトの汎用アセットはこんなイメージ メッシュ マテリアル テクスチャ Mdl Mdl Mdl Mat Mat Mat Tex Tex Tex Mdl Mdl Mdl Mat Inst Mat Inst Mat Inst Tex Tex Tex Mdl Mdl Mdl Mat Inst Mat Inst Mat Inst Tex Tex Tex Mdl Mdl Mdl Mat Inst Mat Inst Mat Inst Tex Tex Tex ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 メッシュとマテリアルの組み合わせについて メッシュ マテリアル Mdl Mdl Mdl Mat Mat Mat Mdl Mdl Mdl Mat Inst Mat Inst Mat Inst Mdl Mdl Mdl Mat Inst Mat Inst Mat Inst Mdl パーティクル側でマテリアルをオーバーライド可能なので Mat Mat Mat Mdl Mdl Inst Inst Inst メッシュとマテリアルそれぞれ必要数だけの用意で済む ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 マテリアルとテクスチャの組み合わせについて マテリアル テクスチャ Mat Mat Mat Tex Tex Tex Mat Inst Mat Inst Mat Inst Tex Tex Tex Mat Inst Mat Inst Mat Inst Tex Tex 問題はこちらで、マテリアルとテクスチャの組み合わせ分の Tex Mat Mat Mat Tex マテリアルインスタンスを用意しないといけない Inst Inst Inst Tex しかもパラメータ違いなどもあるので膨大な数に及んでしまう ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Tex
エフェクトアセットの概要 マテリアルインスタンスがテクスチャの数だけ増える マスターマテリアル A Mat Inst A Mat Inst B マスターマテリアル B Mat Inst C Mat Inst A Mat Inst B Mat Inst C ただ、マテリアルインスタンスのファイルサイズは極小なので 同じ組み合わせがあちこちに生まれても良しとするのもアリかも ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 マスターマテリアル自体も結構な数が必要になる ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 例えばリアル系の世界観でシューターだったりすると‥ 炎、マズルフラッシュ、爆発、薬莢、煙、水飛沫 ‥のような表現したいカテゴリごとにマスターマテリアル を何種類かずつ用意するというような形で済む? ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 しかし、ファンタジーな世界観かつ大量にエフェクトを 作成するためにも、汎用的なマテリアルの組み合わせで なるべく賄いつつ‥ しかし特殊な表現を求められることも多いので 各場面で固有のアセットも必要になる ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 そのため基本的には ① 汎用アセットをメモリに常駐させる ② 常駐アセットをフル活用してエフェクトを作成 ③ 読み込みが許容できる範囲内で固有アセットを作成 これが基本的なデータの持ち方になる ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 かといって何でもかんでも常駐させる訳にはいかない メモリ使用量・使用効率を考えつつ‥ ゲーム起動時のロード時間とのトレードオフになる ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 ではどんなアセットを常駐させるのかというと ゲーム中の読み込み時にネックになるアセット つまりゲーム中の使用頻度が高い上で 「サイズが大きい」ものと「数が多い」もの 今後、ロード処理の抜本的な変更により 細かなアセットのロードも改善されるとのこと ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 では各アセットのファイルサイズはどの程度なのか? 容量が大きくなるのは主にテクスチャだけではなく 現状ではマテリアルもかなり容量を占める マテリアルのサイズはUE4.14で大きく削減されるとのこと ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 UE4.13で計測 テクスチャのサイズ • TC_Default (DXT1) ‥1024x1024で約680KB • TC_Default (DXT5) ‥1024x1024で約1370KB • TC_Alpha (BC4) ‥1024x1024で約680KB • VectorDisplacementmap ‥1024x1024で約5460KB (非圧縮4チャンネル) ※PS4向けにクック後のファイルサイズ / 全てMipmapあり ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 UE4.13で計測 マテリアルのサイズ • マスターマテリアル 標準(半透明/Unlit) 不透明でやや複雑 半透明でDefaultLit デカールでやや複雑 • マテリアルインスタンス マテリアル関数 ‥約110~140KB ‥約230~270KB ‥約470~480KB ‥約280~320KB ‥約1~3KB ‥約1.6~2KB ※PS4向けにクック後のファイルサイズ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 スタティックメッシュのサイズ • 標準的なもの ‥約3~20KB • 重ためのもの ‥約30~70KB ※PS4向けにクック後のファイルサイズ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. UE4.13で計測
エフェクトアセットの概要 これらを踏まえると‥ • テクスチャとマスターマテリアルは常駐の対象 • メッシュは容量は小さめだが使用頻度が高いものは 常駐させて良いように思う • マテリアルインスタンスは容量は極小だが UE4.11~12当時はファイル数が多いことがロードの ネックになっていたので常駐に含めていた 今後のロードの改善に合わせて方針も変わりそう ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 加えて‥ エフェクトはゲーム中に突発的に表示されるものが多い (プレイヤーの技など) 読み込みの観点から、いつでも突然表示される可能性が あるエフェクトは常駐アセットで賄い 読み込みを挟んでもOKなものは固有アセットを併用 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 読み込みOKな例は‥ ・読み込み前提の大技のエフェクト ・ボスのエフェクト(レベルに紐付く) ・レベルに配置する背景エフェクト(レベルに紐付く) ・カットシーンエフェクト(レベルに紐付く) ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 理想 メモリに常駐させるアセット テクスチャ、メッシュ、マテリアル 固有アセット プレイヤーの汎用技 汎用的に配置されるもの プレイヤーの読み込み技 ボス 背景エフェクト いつでも出る可能性のあるもの カットシーン レベルに依存しないもの レベルに依存するもの ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 メモリに常駐させるアセット テクスチャ、メッシュ、マテリアル プレイヤーの汎用技 汎用的に配置されるもの 実際 常駐させる固有アセット プレイヤー 汎用配置物など プレイヤーの読み込み技 ボス 背景エフェクト いつでも出る可能性のあるもの カットシーン レベルに依存しないもの レベルに依存するもの ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要 以上がエフェクトアセットの概要になります ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
あるタイトルでの事例 ©2016 SQUARE ENIX CO., LTD. All Rights Reserved. ©2017
あるタイトルでの事例 ちょっと特殊なケース 大規模プロジェクトのチーム構成&アセット構成だが ゲーム全体ボリュームは小さめなのでその点は参考程度で ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
あるタイトルでの事例 まずエフェクトのアセット数と容量の結果から ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
あるタイトルでの事例 ○ エフェクトの総アセット数 常駐指定1000 UE4.13で計測 約3000 プレイヤー400 固有アセット1600 ※常駐テクスチャの大多数は実際にはストリーミングされていた 330 603 195 40 211 242 108 215 38 82 353 161 22 1 61 193 125 62 30 6 3 テ ク ス チャ マテリアル インスタンス 関数 メッシュ パーティクル その他 446個 511個 721個 84個 490個 790個 40個 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
あるタイトルでの事例 ○ アセットの総ファイルサイズ 常駐指定100 MB UE4.13で計測 約500 MB プレイヤー80 MB 固有320 MB ※常駐テクスチャの大多数は実際にはストリーミングされていた 98 132 9 21 34 44 67 1 0 0 14 6 52 22 6 0 テ ク ス チャ マテリアル インスタンス 関数 メッシュ パーティクル その他 162MB 200MB 2MB 0MB 64MB 80MB 0MB ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
アセット管理 エフェクトで扱うアセットの種類 作成するもの 編集だけするもの • テクスチャ • スケルトン • マテリアル関連 • アニメーション • スタティックメッシュ • 各種ブループリント • パーティクルシステム • データアセット ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
アセット管理 プロジェクト全体の主なフォルダ構成 content characer level ‥ effect エフェクトはここで一元管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
アセット管理 エフェクト全体の主なフォルダ構成 effect player レベルに紐付かないもの enemy level レベルに紐付くもの (背景、ギミック、カットシーン) common useful ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
アセット管理 エフェクト全体の主なフォルダ構成 effect player enemy level common useful 管理者だけ編集可 メモリに常駐させるアセット 常駐させないが汎用的なアセット ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
アセット管理 エフェクト全体の主なフォルダ構成 effect player enemy level common useful ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 各地にちらばっている 汎用的なアセットを移動
アセット管理 エフェクト全体の主なフォルダ構成 effect player enemy level common useful 使用頻度が低いなら降格 使用頻度が高いなら昇格 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
アセット管理 エフェクト常駐アセットの主なフォルダ構成 common mat_master マスターマテリアル mat_par マテリアルインスタンス(スプライト用) mat_mdl マテリアルインスタンス(メッシュ用) mat_dcl マテリアルインスタンス(デカール用) mdl スタティックメッシュ tex テクスチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
アセット管理 マスターマテリアルについて ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
アセット管理 エフェクトのマテリアルで扱う主な要素 • アルファ合成 / 加算合成 • UV周りの設定 • 両面 / 片面 • Dynamic Parameter • Particle Colorの反映 • ソフトパーティクル • 頂点カラーの反映 • フレネル • テクスチャの反映 • ニアフェード • SubUVアニメーション • その他いろいろ‥ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
アセット管理 これらの組み合わせをそのまま用意しようと思うと‥ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
アセット管理 マスターマテリアルが組み合わせ爆発を起こす アルファ 両面 ParCol あり VerCol あり 通常TEX 加算 片面 ParCol 無し VerCol 無し SubUV カラー DynParam あり ソフトあり フレネルあり フェードあり モノクロ DynParam 無し ソフト無し フレネル無し フェード無し ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 1024種類
アセット管理 なので何を制限・統一するかという話になる アルファ 両面 ParCol あり VerCol あり 通常TEX 加算 片面 ParCol 無し VerCol 無し SubUV カラー DynParam あり ソフトあり フレネルあり フェードあり モノクロ DynParam 無し ソフト無し フレネル無し フェード無し ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 64種類
アセット管理 組み合わせを必要最小限にするための精査 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
アセット管理 まずはエフェクトのマテリアルに必要な基本設定から ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
アセット管理 Blend Mode • アルファ合成 か 加算合成 か ⇒ どちらも使うケースがある アルファ合成 加算合成 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
アセ