Skip to main content
©2016 SQUARE ENIX CO., LTD. All Rights Reserved.©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
Deep Dive
大規模タイトルのエフェクトマテリアル運用
株式会社スクウェア・エニックス 林 武尊
公開版
略称について
略称について
• 『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つだけ生成したり沢山生成したり
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
1つだけ
沢山
エフェクトアセットの概要
1つのエミッターで1つのマテリアルを使う
Mat Mat Mat
Mat Mat
Mat
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要
1つのマテリアルに複数のテクスチャを使ったりもする
Tex A
Mat
Tex B
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エミッシブカラー
オパシティ
エフェクトアセットの概要
エフェクトのテクスチャはモノクロで十分な場合が多い
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
Tex C
エフェクトアセットの概要
テクスチャを歪ませるために別のテクスチャも使う
Tex A
Mat
Tex B
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エミッシブカラー
オパシティ
Tex C
エフェクトアセットの概要
千切れていく表現のために別のテクスチャも使う
Tex A
Mat
Tex B
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
Tex D
エミッシブカラー
オパシティ
エフェクトアセットの概要
つまりエフェクトはテクスチャを沢山使う
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要
エフェクトのUE4上での参照関係はこんな感じになる
Tex Tex
テクスチャマテリアル
MatInst
Master
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
Tex Tex
エフェクト
エミッターA
エミッターB
エミッターC
エミッターD
差し替え分
デフォルト指定
エフェクトアセットの概要
©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
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
・・・
Mat Mat Mat Mat
メッシュ
エフェクトアセットの概要
エフェクトのUE4上での参照関係はこんな感じになる
Tex Tex
テクスチャマテリアル
MatInst
Master
メッシュ
Mdl
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
Tex Tex
エフェクト
エミッターA
エミッターB
エミッターC
エミッターD
Mat Tex
オーバーライド
差し替え分
デフォルト指定
エフェクトアセットの概要
つまり1つのエフェクトでこれだけのアセット量になる
Mat Mat Mat
Mat Mat
Mat
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
Mdl
Tex Tex
Tex Tex
Tex Tex
Tex Tex
Tex Tex
Tex Tex
Tex Tex
Tex Tex
Master Master Master Master
Master Master
Tex Tex
Tex Tex
Tex Tex
Tex Tex
Mat
Tex
エフェクトアセットの概要
まとめると‥
• エフェクトは沢山のマテリアルを使って表現する
• マテリアルとテクスチャを組み合わせる
• マテリアルとメッシュを組み合わせる
• それらの組み合わせは非常に膨大!
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの概要
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
実際にどんなテクスチャ・マテリアル・メッシュを
最初に用意するかというと、汎用的なものになる
エフェクトアセットの概要
エフェクトの汎用アセットはこんなイメージ
Tex Tex Tex
テクスチャ
Tex Tex Tex
Tex Tex Tex
Tex Tex Tex
マテリアル
Mat Mat Mat
Mat
Inst
Mat
Inst
Mat
Inst
Mat
Inst
Mat
Inst
Mat
Inst
Mat
Inst
Mat
Inst
Mat
Inst
メッシュ
Mdl Mdl Mdl
Mdl Mdl Mdl
Mdl Mdl Mdl
Mdl Mdl Mdl
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
マテリアル
Mat Mat Mat
Mat
Inst
Mat
Inst
Mat
Inst
Mat
Inst
Mat
Inst
Mat
Inst
Mat
Inst
Mat
Inst
Mat
Inst
エフェクトアセットの概要
メッシュとマテリアルの組み合わせについて
メッシュ
Mdl Mdl Mdl
Mdl Mdl Mdl
Mdl Mdl Mdl
Mdl Mdl Mdl
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
パーティクル側でマテリアルをオーバーライド可能なので
メッシュとマテリアルそれぞれ必要数だけの用意で済む
マテリアル
Mat Mat Mat
Mat
Inst
Mat
Inst
Mat
Inst
Mat
Inst
Mat
Inst
Mat
Inst
Mat
Inst
Mat
Inst
Mat
Inst
エフェクトアセットの概要
マテリアルとテクスチャの組み合わせについて
Tex Tex Tex
テクスチャ
Tex Tex Tex
Tex Tex Tex
Tex Tex Tex
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
問題はこちらで、マテリアルとテクスチャの組み合わせ分の
マテリアルインスタンスを用意しないといけない
しかもパラメータ違いなどもあるので膨大な数に及んでしまう
エフェクトアセットの概要
マテリアルインスタンスがテクスチャの数だけ増える
マスターマテリアル A
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
Mat
Inst
A
Mat
Inst
B
Mat
Inst
C
マスターマテリアル B
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.
• TC_Default (DXT1)
• TC_Default (DXT5)
• TC_Alpha (BC4)
• VectorDisplacementmap
(非圧縮4チャンネル)
テクスチャのサイズ
※PS4向けにクック後のファイルサイズ / 全てMipmapあり
UE4.13で計測
‥1024x1024で約680KB
‥1024x1024で約1370KB
‥1024x1024で約680KB
‥1024x1024で約5460KB
エフェクトアセットの概要
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
• マスターマテリアル
標準(半透明/Unlit)
不透明でやや複雑
半透明でDefaultLit
デカールでやや複雑
• マテリアルインスタンス
マテリアル関数
マテリアルのサイズ
※PS4向けにクック後のファイルサイズ
UE4.13で計測
‥約110~140KB
‥約230~270KB
‥約470~480KB
‥約280~320KB
‥約1~3KB
‥約1.6~2KB
エフェクトアセットの概要
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
• 標準的なもの ‥約3~20KB
• 重ためのもの ‥約30~70KB
スタティックメッシュのサイズ
※PS4向けにクック後のファイルサイズ
UE4.13で計測
エフェクトアセットの概要
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
これらを踏まえると‥
• テクスチャとマスターマテリアルは常駐の対象
• メッシュは容量は小さめだが使用頻度が高いものは
常駐させて良いように思う
• マテリアルインスタンスは容量は極小だが
UE4.11~12当時はファイル数が多いことがロードの
ネックになっていたので常駐に含めていた
今後のロードの改善に合わせて方針も変わりそう
エフェクトアセットの概要
加えて‥
エフェクトはゲーム中に突発的に表示されるものが多い
(プレイヤーの技など)
読み込みの観点から、いつでも突然表示される可能性が
あるエフェクトは常駐アセットで賄い
読み込みを挟んでも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 SQUARE ENIX CO., LTD. All Rights Reserved.
あるタイトルでの事例
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
ちょっと特殊なケース
大規模プロジェクトのチーム構成&アセット構成だが
ゲーム全体ボリュームは小さめなのでその点は参考程度で
あるタイトルでの事例
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
まずエフェクトのアセット数と容量の結果から
211
161
353
61
193
62
3
40 108
38
1
82
125
6
195
242
330
22
215
603
30
テクスチャ マテリアル インスタンス 関数 メッシュ パーティクル その他
あるタイトルでの事例
○ エフェクトの総アセット数 約3000
常駐指定1000 プレイヤー400 固有アセット1600
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
446個 511個 721個 84個 490個 790個 40個
※常駐テクスチャの大多数は実際にはストリーミングされていた
UE4.13で計測
あるタイトルでの事例
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
21
67
1 0 6 6 0
9
34
0 0
14 22
0
132
98
1 0
44
52
0
テクスチャ マテリアル インスタンス 関数 メッシュ パーティクル その他
○ アセットの総ファイルサイズ 約500 MB
常駐指定100 MB プレイヤー80 MB 固有320 MB
162MB 200MB 2MB 0MB 64MB 80MB 0MB
※常駐テクスチャの大多数は実際にはストリーミングされていた
UE4.13で計測
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
アセット管理
エフェクトで扱うアセットの種類
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
• テクスチャ
• マテリアル関連
• スタティックメッシュ
• パーティクルシステム
• データアセット
• スケルトン
• アニメーション
• 各種ブループリント
作成するもの 編集だけするもの
アセット管理
プロジェクト全体の主なフォルダ構成
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
level
effect
‥
characer
content
エフェクトはここで一元管理
アセット管理
エフェクト全体の主なフォルダ構成
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
level
useful
common
enemy
player
effect
レベルに紐付かないもの
レベルに紐付くもの
(背景、ギミック、カットシーン)
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
level
useful
common
enemy
player
effect
メモリに常駐させるアセット
常駐させないが汎用的なアセット
エフェクト全体の主なフォルダ構成
管理者だけ編集可
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
level
useful
common
enemy
player
effect
各地にちらばっている
汎用的なアセットを移動
エフェクト全体の主なフォルダ構成
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
level
useful
common
enemy
player
effect
エフェクト全体の主なフォルダ構成
使用頻度が低いなら降格
使用頻度が高いなら昇格
アセット管理
エフェクト常駐アセットの主なフォルダ構成
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
mat_dcl
tex
mdl
mat_mdl
mat_par
mat_master
common
マスターマテリアル
マテリアルインスタンス(スプライト用)
マテリアルインスタンス(メッシュ用)
マテリアルインスタンス(デカール用)
スタティックメッシュ
テクスチャ
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
マスターマテリアルについて
アセット管理
エフェクトのマテリアルで扱う主な要素
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
• アルファ合成 / 加算合成
• 両面 / 片面
• Particle Colorの反映
• 頂点カラーの反映
• テクスチャの反映
• SubUVアニメーション
• UV周りの設定
• Dynamic Parameter
• ソフトパーティクル
• フレネル
• ニアフェード
• その他いろいろ‥
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
これらの組み合わせをそのまま用意しようと思うと‥
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
マスターマテリアルが組み合わせ爆発を起こす
アルファ
加算
両面
片面
ParCol
あり
ParCol
無し
VerCol
あり
VerCol
無し
通常TEX
SubUV
カラー
モノクロ
DynParam
あり
DynParam
無し
ソフトあり
ソフト無し
フレネルあり
フレネル無し
フェードあり
フェード無し
1024種類
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
なので何を制限・統一するかという話になる
アルファ
加算
両面
片面
ParCol
あり
ParCol
無し
VerCol
あり
VerCol
無し
通常TEX
SubUV
カラー
モノクロ
DynParam
あり
DynParam
無し
ソフトあり
ソフト無し
フレネルあり
フレネル無し
フェードあり
フェード無し
64種類
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
組み合わせを必要最小限にするための精査
アセット管理
©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.
• ライティングあり か 無し か
⇒ どちらも使うケースがあるが基本的には無し
Shading Model
あり 無し
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
• 片面 か 両面 か
⇒ どちらも使うケースがあるが基本的には両面
両面処理
両面じゃないと困る例1 両面じゃないと困る例2
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
• 半透明を別バッファに描き被写界深度の後に合成する
またいわゆる縮小バッファとして利用できる
あり か 無し か
⇒ 基本的には無し
Separate Translucency
Separate
Translucency
OFF
被
写
界
深
度
Separate
Translucency
ON
不
透
明
描画の流れ
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
• 半透明へのTemporal AAの影響をマスクする
あり か 無し か
⇒ Temporal AAを使用しないので無し
Responsive AA
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
• する か しない か
⇒ 拡張対応面で便利なものの今回は無しで運用
次の機会に使ってみたい
マテリアルアトリビュートを使用
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
次にエフェクトのマテリアルに必要な機能について
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
• エフェクト側から色を与えるノード構成
あり か 無し か
⇒ 基本的にあり
使用しないのは屈折マテリアルなど一部の例外のみ
Particle Color
あり 無し
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
• メッシュの頂点カラーを取得するノード構成
あり か 無し か
⇒ 不要なものも沢山あるが基本的にあり
スプライトパーティクルには必要ないが全てに内包
頂点カラー
あり 無し
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
• TextureSamplerノードで色を与える構成
カラー か モノクロ か
⇒ どちらも使うケースがある
Sampler Typeの種類分だけ数が増えるので‥
カラーはDXT1、モノクロはBC4で統一
テクスチャの種類
DXT1 BC4
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
• 余談
テクスチャを使用する か 固定値 か
⇒ マテリアルの種類を増やしたくなかったので
必ずテクスチャを使用する形にした
固定値は1x1ドットの真っ白テクスチャを使う
テクスチャの種類
1x1
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
• フリップブックアニメーションが可能なノード構成
通常のテクスチャ か SubUVを利用する か
⇒ どちらも使うケースがある
パターン切り替え時にブレンド補間が可能
全てParticleSubUVにするという選択肢もある?
Particle SubUV
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
• UVのタイリングやスクロール速度を指定する構成
あり か 無し か
⇒ タイリングに関しては基本的にあり
1. 全てのテクスチャノードはタイリング可能
2. メッシュ用ではスクロール速度を指定可能
UV周りの設定
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
• 余談
エフェクト側の機能としてマテリアル全体の
UVの90度回転とタイリング数の指定が可能なよう拡張
UV周りの設定
90度回転 タイリング
• エフェクト側からの動的な値をマテリアルで取得する
あり か 無し か
⇒ どちらも使うケースがある
UVスクロールやUVの初期値ランダム用にメッシュ限定で使用
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
Dynamic Parameter
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
• いわゆる「ソフトパーティクル」を行うノード構成
あり か 無し か
⇒ どちらのケースもある
GPU負荷もあるので全てのマスターマテリアルには含めない
Depth Fade
あり 無し
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
• いわゆる「フレネル」を行うノード構成
あり か 無し か
⇒ どちらのケースもある
大抵はメッシュパーティクル用途に限られる
Fresnel
あり 無し
• カメラ方向にパーティクルの位置をズラすノード構成
あり か 無し か
⇒ GPUパーティクル用途では欲しい
エフェクト側に代替となる機能を追加拡張
なのでマスターマテリアルには含めない
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
カメラオフセット
※GPUパーティクルではCamera Offset
モジュールが使えないため
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
• パーティクルがカメラに近いとフェードするノード構成
あり か 無し か
⇒ どちらのケースもあるが基本的には無し
どうしても欲しい場合は固有マテリアルで対応
⇒ 後にエフェクト側に機能を追加拡張
ニアフェード
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
以上をベースにして必要最小限の組み合わせを決めた
アルファ
加算
カラー
モノクロ
通常
SubUV
ソフトあり
ソフト無し
フレネルあり
フレネル無し
32種類
SubUVに統一できるならさらに半分に減る‥
モノクロに統一できるならさらに半分に減る‥
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
統一性を取るならこのような感じだが‥
アルファ
加算
カラー
モノクロ
通常
SubUV
ソフトあり
ソフト無し
フレネルあり
フレネル無し
32種類
両面
頂点カラー:あり
UVタイリング指定 ・ スクロール速度指定
DynamicParameterはどうしよう‥
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
スプライトパーティクル用途の場合
アルファ
加算
カラー
モノクロ
通常
SubUV
ソフトあり
ソフト無し
メッシュパーティクル用途の場合
アルファ
加算
カラー
モノクロ
ソフトあり
ソフト無し
フレネルあり
フレネル無し
16種類
16種類
DynamicParam含む
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
さらに千切れマスターマテリアルが欲しいとなった場合‥
アルファ
加算
カラー
モノクロ
通常
SubUV
ソフトあり
ソフト無し
フレネルあり
フレネル無し
32種類
8
いくつか制限を決めて8種類をリリース‥という感じ
モノクロのみに制限できるならさらに半分に減る
アセット管理
©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.
• 根幹は1人が整備&管理するのがやっぱり良い
メンテナンスについて
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
• Static Switch Parameterを使いたかった
当初は使っていたが、分岐を変えると別シェーダーに
なりファイルサイズ増大に繋がったため全て撤廃
スイッチの切り替えは「管理者しか触らない」運用も考えたが
うっかり触ってしまうケースを懸念して断念した
シンプルさとメンテナンス性について
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
• ブレンドモードの変更はマテリアルインスタンス側で
マテリアルプロパティオーバーライドで上書いて
上書いたものだけは孫インスタンスで利用する
別シェーダー扱いになるので管理者のみ行うルール
こちらは設定場所が離れていて分かりやすいのでアリとした
シンプルさとメンテナンス性について
アルファ
子
加算
孫 孫子
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
• PS4実機上で処理負荷をざっと計測して
マスターマテリアル構築時に判断材料にした
※具体的なことは後述
処理負荷について
アセット管理
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
エフェクトアセットの命名規則