Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD

24.974 Aufrufe

Veröffentlicht am

2017年1月21日に行われたライセンシー様向けマテリアル管理勉強会の資料です。(登壇者: 株式会社SQEX大阪 林武尊様)

「大規模チーム」、「エフェクト」、この二点を軸に、爆発するマテリアル管理や検証をどのように行っているかを説明しただいております。
時間の都合で本編ではカットされた内容も沢山盛り込まれております。

Veröffentlicht in: Ingenieurwesen
  • Sex in your area is here: www.bit.ly/sexinarea
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Dating for everyone is here: www.bit.ly/2AJerkH
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes ,Download or read Ebooks here ... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M }
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • ACCESS that WEBSITE Over for All Ebooks (Unlimited) ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... DOWNLOAD FULL EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M }
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • If you want to download or read this book, Copy link or url below in the New tab ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Doc Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... .........................................................................................................................
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier

大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD

  1. 1. ©2016 SQUARE ENIX CO., LTD. All Rights Reserved.©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Deep Dive 大規模タイトルのエフェクトマテリアル運用 株式会社スクウェア・エニックス 林 武尊 公開版
  2. 2. 略称について 略称について • 『Unreal Engine 4』をスライド内では『UE4』と記載しています • 『PlayStation®4』も同様に『PS4』と記載しています ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  3. 3. 自己紹介 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  4. 4. 自己紹介 • 林 武尊( TAKERU HAYASHI ) • エフェクトアーティスト • KINGDOM HEARTS シリーズ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  5. 5. 今日お話する内容 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  6. 6. 今日お話する内容 • UE4を使ったPS4の大規模タイトルでの事例 • 経験したことのないスタッフ数 • エフェクトチームでのマテリアルの運用のお話 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 内容
  7. 7. 今日お話する内容 • ファンタジックなエフェクトが沢山出る • 色々と四苦八苦したお話 • スライドはDLしてご覧ください ノートの方で大量に補足しています ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 前提として‥
  8. 8. 今日お話する内容 • 世の中にまだまだ情報が少なくて苦労した これから取り掛かる方に少しでも参考になって欲しい • 色んな会社さんが事例をどんどん出していって欲しい 今回の講演がそのきっかけの1つになれば嬉しい ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 講演の目的
  9. 9. 今日お話する内容 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. アジェンダ • エフェクトアセットの概要 あるタイトルでの事例 • アセット管理 • アセット管理での工夫 • ファイルサイズの計測 • チェック環境 補足事項 • テクスチャ • マテリアル • マテリアルの利便性向上
  10. 10. エフェクトアセットの概要 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  11. 11. エフェクトアセットの概要 ここに1つのエフェクトがあったとする ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  12. 12. エフェクトアセットの概要 エフェクトは複数のエミッターで構成される ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  13. 13. エフェクトアセットの概要 エミッターはパーティクルの発生源 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  14. 14. エフェクトアセットの概要 パーティクルを1つだけ生成したり沢山生成したり ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 1つだけ 沢山
  15. 15. エフェクトアセットの概要 1つのエミッターで1つのマテリアルを使う Mat Mat Mat Mat Mat Mat ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  16. 16. エフェクトアセットの概要 1つのマテリアルに複数のテクスチャを使ったりもする Tex A Mat Tex B ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. エミッシブカラー オパシティ
  17. 17. エフェクトアセットの概要 エフェクトのテクスチャはモノクロで十分な場合が多い ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  18. 18. Tex C エフェクトアセットの概要 テクスチャを歪ませるために別のテクスチャも使う Tex A Mat Tex B ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. エミッシブカラー オパシティ
  19. 19. Tex C エフェクトアセットの概要 千切れていく表現のために別のテクスチャも使う Tex A Mat Tex B ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Tex D エミッシブカラー オパシティ
  20. 20. エフェクトアセットの概要 つまりエフェクトはテクスチャを沢山使う ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  21. 21. エフェクトアセットの概要 エフェクトのUE4上での参照関係はこんな感じになる Tex Tex テクスチャマテリアル MatInst Master ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Tex Tex エフェクト エミッターA エミッターB エミッターC エミッターD 差し替え分 デフォルト指定
  22. 22. エフェクトアセットの概要 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 次はエフェクトでメッシュを扱う場合について
  23. 23. エフェクトアセットの概要 パーティクルは大きく分けてスプライトとメッシュ スプライト メッシュ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ※本スライドでは「スプライトパーティクル」と呼称
  24. 24. エフェクトアセットの概要 メッシュパーティクルの場合 元のマテリアルをオーバーライドできる メッシュ Mat Mat ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  25. 25. エフェクトアセットの概要 もしもオーバーライドできる機能が無かった場合‥ 同じ形状でもマテリアルの数だけメッシュの用意が必要 Mat ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ・・・ Mat Mat Mat Mat メッシュ
  26. 26. エフェクトアセットの概要 エフェクトのUE4上での参照関係はこんな感じになる Tex Tex テクスチャマテリアル MatInst Master メッシュ Mdl ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Tex Tex エフェクト エミッターA エミッターB エミッターC エミッターD Mat Tex オーバーライド 差し替え分 デフォルト指定
  27. 27. エフェクトアセットの概要 つまり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
  28. 28. エフェクトアセットの概要 まとめると‥ • エフェクトは沢山のマテリアルを使って表現する • マテリアルとテクスチャを組み合わせる • マテリアルとメッシュを組み合わせる • それらの組み合わせは非常に膨大! ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  29. 29. エフェクトアセットの概要 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 実際にどんなテクスチャ・マテリアル・メッシュを 最初に用意するかというと、汎用的なものになる
  30. 30. エフェクトアセットの概要 エフェクトの汎用アセットはこんなイメージ 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.
  31. 31. マテリアル 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. パーティクル側でマテリアルをオーバーライド可能なので メッシュとマテリアルそれぞれ必要数だけの用意で済む
  32. 32. マテリアル 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. 問題はこちらで、マテリアルとテクスチャの組み合わせ分の マテリアルインスタンスを用意しないといけない しかもパラメータ違いなどもあるので膨大な数に及んでしまう
  33. 33. エフェクトアセットの概要 マテリアルインスタンスがテクスチャの数だけ増える マスターマテリアル 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 ただ、マテリアルインスタンスのファイルサイズは極小なので 同じ組み合わせがあちこちに生まれても良しとするのもアリかも
  34. 34. エフェクトアセットの概要 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. マスターマテリアル自体も結構な数が必要になる
  35. 35. エフェクトアセットの概要 例えばリアル系の世界観でシューターだったりすると‥ 炎、マズルフラッシュ、爆発、薬莢、煙、水飛沫 ‥のような表現したいカテゴリごとにマスターマテリアル を何種類かずつ用意するというような形で済む? ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  36. 36. エフェクトアセットの概要 しかし、ファンタジーな世界観かつ大量にエフェクトを 作成するためにも、汎用的なマテリアルの組み合わせで なるべく賄いつつ‥ しかし特殊な表現を求められることも多いので 各場面で固有のアセットも必要になる ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  37. 37. エフェクトアセットの概要 そのため基本的には ① 汎用アセットをメモリに常駐させる ② 常駐アセットをフル活用してエフェクトを作成 ③ 読み込みが許容できる範囲内で固有アセットを作成 これが基本的なデータの持ち方になる ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  38. 38. エフェクトアセットの概要 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. かといって何でもかんでも常駐させる訳にはいかない メモリ使用量・使用効率を考えつつ‥ ゲーム起動時のロード時間とのトレードオフになる
  39. 39. エフェクトアセットの概要 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ではどんなアセットを常駐させるのかというと ゲーム中の読み込み時にネックになるアセット つまりゲーム中の使用頻度が高い上で 「サイズが大きい」ものと「数が多い」もの 今後、ロード処理の抜本的な変更により 細かなアセットのロードも改善されるとのこと
  40. 40. エフェクトアセットの概要 では各アセットのファイルサイズはどの程度なのか? 容量が大きくなるのは主にテクスチャだけではなく 現状ではマテリアルもかなり容量を占める ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. マテリアルのサイズはUE4.14で大きく削減されるとのこと
  41. 41. エフェクトアセットの概要 ©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
  42. 42. エフェクトアセットの概要 ©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
  43. 43. エフェクトアセットの概要 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 標準的なもの ‥約3~20KB • 重ためのもの ‥約30~70KB スタティックメッシュのサイズ ※PS4向けにクック後のファイルサイズ UE4.13で計測
  44. 44. エフェクトアセットの概要 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. これらを踏まえると‥ • テクスチャとマスターマテリアルは常駐の対象 • メッシュは容量は小さめだが使用頻度が高いものは 常駐させて良いように思う • マテリアルインスタンスは容量は極小だが UE4.11~12当時はファイル数が多いことがロードの ネックになっていたので常駐に含めていた 今後のロードの改善に合わせて方針も変わりそう
  45. 45. エフェクトアセットの概要 加えて‥ エフェクトはゲーム中に突発的に表示されるものが多い (プレイヤーの技など) 読み込みの観点から、いつでも突然表示される可能性が あるエフェクトは常駐アセットで賄い 読み込みを挟んでもOKなものは固有アセットを併用 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  46. 46. エフェクトアセットの概要 読み込みOKな例は‥ ・読み込み前提の大技のエフェクト ・ボスのエフェクト(レベルに紐付く) ・レベルに配置する背景エフェクト(レベルに紐付く) ・カットシーンエフェクト(レベルに紐付く) ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  47. 47. エフェクトアセットの概要 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. プレイヤーの汎用技 汎用的に配置されるもの いつでも出る可能性のあるもの プレイヤーの読み込み技 ボス カットシーン 背景エフェクト 固有アセット 理想 テクスチャ、メッシュ、マテリアル メモリに常駐させるアセット レベルに依存しないもの レベルに依存するもの
  48. 48. エフェクトアセットの概要 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. テクスチャ、メッシュ、マテリアル プレイヤーの読み込み技 ボス カットシーン 背景エフェクト プレイヤー 汎用配置物など プレイヤーの汎用技 汎用的に配置されるもの いつでも出る可能性のあるもの 実際常駐させる固有アセットメモリに常駐させるアセット レベルに依存しないもの レベルに依存するもの
  49. 49. エフェクトアセットの概要 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 以上がエフェクトアセットの概要になります
  50. 50. ©2016 SQUARE ENIX CO., LTD. All Rights Reserved. あ る タ イ ト ル で の 事 例 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  51. 51. あるタイトルでの事例 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ちょっと特殊なケース 大規模プロジェクトのチーム構成&アセット構成だが ゲーム全体ボリュームは小さめなのでその点は参考程度で
  52. 52. あるタイトルでの事例 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. まずエフェクトのアセット数と容量の結果から
  53. 53. 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で計測
  54. 54. あるタイトルでの事例 ©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で計測
  55. 55. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  56. 56. アセット管理 エフェクトで扱うアセットの種類 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • テクスチャ • マテリアル関連 • スタティックメッシュ • パーティクルシステム • データアセット • スケルトン • アニメーション • 各種ブループリント 作成するもの 編集だけするもの
  57. 57. アセット管理 プロジェクト全体の主なフォルダ構成 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. level effect ‥ characer content エフェクトはここで一元管理
  58. 58. アセット管理 エフェクト全体の主なフォルダ構成 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. level useful common enemy player effect レベルに紐付かないもの レベルに紐付くもの (背景、ギミック、カットシーン)
  59. 59. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. level useful common enemy player effect メモリに常駐させるアセット 常駐させないが汎用的なアセット エフェクト全体の主なフォルダ構成 管理者だけ編集可
  60. 60. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. level useful common enemy player effect 各地にちらばっている 汎用的なアセットを移動 エフェクト全体の主なフォルダ構成
  61. 61. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. level useful common enemy player effect エフェクト全体の主なフォルダ構成 使用頻度が低いなら降格 使用頻度が高いなら昇格
  62. 62. アセット管理 エフェクト常駐アセットの主なフォルダ構成 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. mat_dcl tex mdl mat_mdl mat_par mat_master common マスターマテリアル マテリアルインスタンス(スプライト用) マテリアルインスタンス(メッシュ用) マテリアルインスタンス(デカール用) スタティックメッシュ テクスチャ
  63. 63. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. マスターマテリアルについて
  64. 64. アセット管理 エフェクトのマテリアルで扱う主な要素 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • アルファ合成 / 加算合成 • 両面 / 片面 • Particle Colorの反映 • 頂点カラーの反映 • テクスチャの反映 • SubUVアニメーション • UV周りの設定 • Dynamic Parameter • ソフトパーティクル • フレネル • ニアフェード • その他いろいろ‥
  65. 65. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. これらの組み合わせをそのまま用意しようと思うと‥
  66. 66. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. マスターマテリアルが組み合わせ爆発を起こす アルファ 加算 両面 片面 ParCol あり ParCol 無し VerCol あり VerCol 無し 通常TEX SubUV カラー モノクロ DynParam あり DynParam 無し ソフトあり ソフト無し フレネルあり フレネル無し フェードあり フェード無し 1024種類
  67. 67. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. なので何を制限・統一するかという話になる アルファ 加算 両面 片面 ParCol あり ParCol 無し VerCol あり VerCol 無し 通常TEX SubUV カラー モノクロ DynParam あり DynParam 無し ソフトあり ソフト無し フレネルあり フレネル無し フェードあり フェード無し 64種類
  68. 68. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 組み合わせを必要最小限にするための精査
  69. 69. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. まずはエフェクトのマテリアルに必要な基本設定から
  70. 70. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • アルファ合成 か 加算合成 か ⇒ どちらも使うケースがある Blend Mode アルファ合成 加算合成
  71. 71. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • ライティングあり か 無し か ⇒ どちらも使うケースがあるが基本的には無し Shading Model あり 無し
  72. 72. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 片面 か 両面 か ⇒ どちらも使うケースがあるが基本的には両面 両面処理 両面じゃないと困る例1 両面じゃないと困る例2
  73. 73. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 半透明を別バッファに描き被写界深度の後に合成する またいわゆる縮小バッファとして利用できる あり か 無し か ⇒ 基本的には無し Separate Translucency Separate Translucency OFF 被 写 界 深 度 Separate Translucency ON 不 透 明 描画の流れ
  74. 74. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 半透明へのTemporal AAの影響をマスクする あり か 無し か ⇒ Temporal AAを使用しないので無し Responsive AA
  75. 75. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • する か しない か ⇒ 拡張対応面で便利なものの今回は無しで運用 次の機会に使ってみたい マテリアルアトリビュートを使用
  76. 76. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 次にエフェクトのマテリアルに必要な機能について
  77. 77. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • エフェクト側から色を与えるノード構成 あり か 無し か ⇒ 基本的にあり 使用しないのは屈折マテリアルなど一部の例外のみ Particle Color あり 無し
  78. 78. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • メッシュの頂点カラーを取得するノード構成 あり か 無し か ⇒ 不要なものも沢山あるが基本的にあり スプライトパーティクルには必要ないが全てに内包 頂点カラー あり 無し
  79. 79. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • TextureSamplerノードで色を与える構成 カラー か モノクロ か ⇒ どちらも使うケースがある Sampler Typeの種類分だけ数が増えるので‥ カラーはDXT1、モノクロはBC4で統一 テクスチャの種類 DXT1 BC4
  80. 80. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 余談 テクスチャを使用する か 固定値 か ⇒ マテリアルの種類を増やしたくなかったので 必ずテクスチャを使用する形にした 固定値は1x1ドットの真っ白テクスチャを使う テクスチャの種類 1x1
  81. 81. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • フリップブックアニメーションが可能なノード構成 通常のテクスチャ か SubUVを利用する か ⇒ どちらも使うケースがある パターン切り替え時にブレンド補間が可能 全てParticleSubUVにするという選択肢もある? Particle SubUV
  82. 82. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • UVのタイリングやスクロール速度を指定する構成 あり か 無し か ⇒ タイリングに関しては基本的にあり 1. 全てのテクスチャノードはタイリング可能 2. メッシュ用ではスクロール速度を指定可能 UV周りの設定
  83. 83. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 余談 エフェクト側の機能としてマテリアル全体の UVの90度回転とタイリング数の指定が可能なよう拡張 UV周りの設定 90度回転 タイリング
  84. 84. • エフェクト側からの動的な値をマテリアルで取得する あり か 無し か ⇒ どちらも使うケースがある UVスクロールやUVの初期値ランダム用にメッシュ限定で使用 アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Dynamic Parameter
  85. 85. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • いわゆる「ソフトパーティクル」を行うノード構成 あり か 無し か ⇒ どちらのケースもある GPU負荷もあるので全てのマスターマテリアルには含めない Depth Fade あり 無し
  86. 86. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • いわゆる「フレネル」を行うノード構成 あり か 無し か ⇒ どちらのケースもある 大抵はメッシュパーティクル用途に限られる Fresnel あり 無し
  87. 87. • カメラ方向にパーティクルの位置をズラすノード構成 あり か 無し か ⇒ GPUパーティクル用途では欲しい エフェクト側に代替となる機能を追加拡張 なのでマスターマテリアルには含めない アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. カメラオフセット ※GPUパーティクルではCamera Offset モジュールが使えないため
  88. 88. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • パーティクルがカメラに近いとフェードするノード構成 あり か 無し か ⇒ どちらのケースもあるが基本的には無し どうしても欲しい場合は固有マテリアルで対応 ⇒ 後にエフェクト側に機能を追加拡張 ニアフェード
  89. 89. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 以上をベースにして必要最小限の組み合わせを決めた アルファ 加算 カラー モノクロ 通常 SubUV ソフトあり ソフト無し フレネルあり フレネル無し 32種類 SubUVに統一できるならさらに半分に減る‥ モノクロに統一できるならさらに半分に減る‥
  90. 90. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 統一性を取るならこのような感じだが‥ アルファ 加算 カラー モノクロ 通常 SubUV ソフトあり ソフト無し フレネルあり フレネル無し 32種類 両面 頂点カラー:あり UVタイリング指定 ・ スクロール速度指定 DynamicParameterはどうしよう‥
  91. 91. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. スプライトパーティクル用途の場合 アルファ 加算 カラー モノクロ 通常 SubUV ソフトあり ソフト無し メッシュパーティクル用途の場合 アルファ 加算 カラー モノクロ ソフトあり ソフト無し フレネルあり フレネル無し 16種類 16種類 DynamicParam含む
  92. 92. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. さらに千切れマスターマテリアルが欲しいとなった場合‥ アルファ 加算 カラー モノクロ 通常 SubUV ソフトあり ソフト無し フレネルあり フレネル無し 32種類 8 いくつか制限を決めて8種類をリリース‥という感じ モノクロのみに制限できるならさらに半分に減る
  93. 93. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ただしスプライトパーティクル用のマテリアルを メッシュパーティクルに転用したり、その逆も考えられる ので、設定は統一できるところは統一した方が良い
  94. 94. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. マスターマテリアル構築の基本方針
  95. 95. アセット管理 • なるべく汎用性が高い • なるべくシンプルでわかりやすい • なるべくメンテナンスが楽 • なるべく処理負荷に優しい ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  96. 96. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 根幹は1人が整備&管理するのがやっぱり良い メンテナンスについて
  97. 97. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • Static Switch Parameterを使いたかった 当初は使っていたが、分岐を変えると別シェーダーに なりファイルサイズ増大に繋がったため全て撤廃 スイッチの切り替えは「管理者しか触らない」運用も考えたが うっかり触ってしまうケースを懸念して断念した シンプルさとメンテナンス性について
  98. 98. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • ブレンドモードの変更はマテリアルインスタンス側で マテリアルプロパティオーバーライドで上書いて 上書いたものだけは孫インスタンスで利用する 別シェーダー扱いになるので管理者のみ行うルール こちらは設定場所が離れていて分かりやすいのでアリとした シンプルさとメンテナンス性について アルファ 子 加算 孫 孫子
  99. 99. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • PS4実機上で処理負荷をざっと計測して マスターマテリアル構築時に判断材料にした ※具体的なことは後述 処理負荷について
  100. 100. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. エフェクトアセットの命名規則
  101. 101. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • テクスチャの場合‥ かなりガチガチに決めている 作成者 カテゴリ 内容 補足 htx_fir_8x4_00 林作成 テクスチャ 炎 8x4パターン 00番 htx_smk_02n 林作成 テクスチャ 煙 02番のノーマルマップ 連番
  102. 102. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • マテリアル / マテリアルインスタンスの場合‥ かなりガチガチに決めている 作成者 カテゴリ 内容 連番 hmi_smk_8x4_fs02a 林作成 マテリアルインスタンス 煙 8x4パターン フレネル付 ソフトパーティクル付 02番 アルファ合成 f (フレネル) / s (ソフトパーティクル) / a (アルファ) / k (加算) 機能 合成
  103. 103. アセット管理 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • ParticleSystemの場合‥ かなりガチガチに決めている V カテゴリ 内容A vp_aaa_hit1 プレイヤーの 技「AAA」のヒットエフェクト 1番 ve_bbb_ccc0 敵「BBB」の技「CCC」のエフェクト 0番 内容B 連番
  104. 104. ア セ ッ ト 管 理 で の 工 夫 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  105. 105. アセット管理での工夫 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. コンテンツブラウザ上でマテリアルやパーティクルの アセット名とサムネイルでは中身が判断つきにくい でもエクセルやWikiで一覧を作るのも大変だし スタッフがそれを確認しながら作業するのも大変なので‥
  106. 106. アセット管理での工夫 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • マテリアルとマテリアルインスタンスに説明文を記述 できるように拡張してもらった コンテンツブラウザ上でポップアップ表示される タグ付け
  107. 107. アセット管理での工夫 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • パーティクルにもタグ付けの機能を追加してもらった 説明文、担当者、カテゴリ、属性、進捗状況など コンテンツブラウザ上でポップアップ表示される タグ付け
  108. 108. アセット管理での工夫 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • パーティクルシステムを検索する専用のツール エフェクトアセットサーチャー
  109. 109. アセット管理での工夫 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • タグの内容や使用モジュールで検索が可能 設定に注意が必要なモジュールを検索したりできる • エフェクトのプレビューも可能 プレビューでのポストプロセスの設定変更も可能 • ツール上からの設定変更が可能 エフェクトアセットサーチャー
  110. 110. アセット管理での工夫 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. アセットの使用頻度を調べたいことがよくある ① 使用頻度が高いものを常駐アセットに昇格させたい ② 使用頻度が少ないものを常駐から外したい ③ 全く使用されていないものを削除したい ‥1つ1つリファレンスビューワで確認する?
  111. 111. アセット管理での工夫 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • セッションフロントエンドで検索可能にしてもらった 参照数0のアセットのリストアップ 行末に参照数を付与してリストアップ 使用頻度の検索
  112. 112. アセット管理での工夫 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 似たアセットがあちこちで生まれてしまう それらを統合する場合‥
  113. 113. アセット管理での工夫 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 同じようなテクスチャを一覧して統合したい場合は ローカルコレクションに登録して作業すると快適 似た絵柄の一覧
  114. 114. アセット管理での工夫 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ちなみにアセット統合時に利用する 「リファレンスの置換」は マテリアルとマテリアルインスタンスの置換も可能
  115. 115. アセット管理での工夫 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 大量にあるテクスチャやマテリアルの設定を 一括変更したい場合がある
  116. 116. アセット管理での工夫 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • テクスチャの基本的な設定の漏れに関しては たまにプロパティマトリクスで調べて一括変更する マテリアルは昔は使えたが今は使えない模様 設定の一括変更
  117. 117. アセット管理での工夫 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • マテリアルの内部に対して検索をかけ、ノードの設定 を一括で変更するコマンドレットを作成してもらった 実行ファイルで直接アセットデータを書き換える 例1:TextureSamplarノードのSamplarTypeを TC_GrayscaleからTC_Alphaに一括変更する 例2:メインマテリアルノードの設定を一括変更 設定の一括変更
  118. 118. アセット管理での工夫 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 開発が進むにつれ気軽に一括変換できなくなった ※意図しない設定でエフェクトが調整されているため なので今後は検索して重要な設定の漏れがあるものを リストアップだけして手動で変更する方向で検討 設定の一括変更
  119. 119. アセット管理での工夫 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 巨大なサイズのテクスチャはサイズマップで調べる LOD Biasは反映されないがMaximum Texture Sizeは反映される 巨大なテクスチャの検出
  120. 120. アセット管理での工夫 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 背景班のアセットを使用したい場合にルールを設けた ① 事前に連絡する ② 基本的にはコピーはしない ③ 共有コレクションに登録する • エフェクトのアセットの削除やリダイレクタ修正で 他の班のアセットに更新がかかる場合は事前確認する 他セクション間でのやり取り
  121. 121. フ ァ イ ル サ イ ズ の 計 測 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  122. 122. ファイルサイズの計測 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. PS4向けにクック済みのアセットのファイルサイズを計測
  123. 123. ファイルサイズの計測 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. クックとは 指定プラットフォーム向けに アセットをフォーマット変換する行為 デプロイとは データを開発機にコピーしたりなどの 各プラットフォームで動かすこととその準備 By Epic 篠山さん
  124. 124. ファイルサイズの計測 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 開発途中から毎晩自動でクック • ログのテキストでクック後のアセットが一覧できる • マクロで集計しやすい形に整形して簡易的に確認 秀丸マクロとExelのVBAマクロを併用した のちに背景班ではPythonスクリプトを用意 ナイトリークック
  125. 125. ファイルサイズの計測 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • クックサイズをグラフで確認できるウェブページが プロジェクトのHP内に用意された 各パートごとのファイルサイズが一目で分かる 日々の推移も確認できる こちらでデータの総容量を確認していた ナイトリークックの自動集計ページ
  126. 126. ファイルサイズの計測 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • クック後のファイルサイズを調べるだけなら 実機は必要無いので手軽に可能 専用マップを作ってUnreal Frontendでクック • 少し条件を変えてすぐに再クックするなら5~15分 指定フォルダ内のファイルを検索してファイルサイズ情報も 込みでリストアップ、CSVで出力するツールを利用 手動でのクック
  127. 127. ファイルサイズの計測 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 各アセットをクックして判明したこと
  128. 128. ファイルサイズの計測 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ※sRGB = ON UE4.13で計測PS4向けにクック後のテクスチャ(KiB)
  129. 129. ファイルサイズの計測 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ※sRGB = ON GrayscaleはsRGBがONだとPS4でもXboxOneでも4チャンネル扱い VectorDisplacementはアルファチャンネル無しでも4チャンネル扱い UE4.13で計測PS4向けにクック後のテクスチャ(KiB)
  130. 130. ファイルサイズの計測 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. UE4.13で計測PS4向けにクック後のテクスチャ(KiB)
  131. 131. ファイルサイズの計測 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. LOD Biasはファイルサイズに反映されるがマイナスの値は反映されない LOD BiasはNoMipmap設定時には当然ながら反映されない MaximumTextureSizeはNoMipmap設定時でも反映される LOD BiasとMaximumTextureSizeは併用しても反映される UE4.13で計測PS4向けにクック後のテクスチャ(KiB)
  132. 132. ファイルサイズの計測 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. UE4.13で計測PS4向けにクック後のメッシュ(KiB)
  133. 133. ファイルサイズの計測 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. UE4.13で計測PS4向けにクック後のメッシュ(KiB)
  134. 134. ファイルサイズの計測 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. インポート設定のAuto Generate Collisionと Generate Lightmap UVsがONだと約1.7倍のサイズになる UE4.13で計測PS4向けにクック後のメッシュ(KiB)
  135. 135. ファイルサイズの計測 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 条件:EmissiveとOpacityにBC4のテクスチャ2枚 頂点カラーとパーティクルカラーを混ぜたもの テクスチャはUVのタイリング数を指定可能 UE4.13で計測PS4向けにクック後のマテリアル(KiB)
  136. 136. ファイルサイズの計測 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. UE4.13で計測PS4向けにクック後のマテリアル(KiB)
  137. 137. ファイルサイズの計測 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 何がクックされるのか?
  138. 138. ファイルサイズの計測 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • マテリアル内で孤立した未使用のノード群 (テクスチャも含まれる) クック時に含まれてしまう要素
  139. 139. ファイルサイズの計測 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • マテリアル内のテクスチャ系のパラメータ化した ノードでデフォルトで設定しているテクスチャ • メッシュにデフォルトで設定しているマテリアル クック時に含まれてしまう要素
  140. 140. • マテリアルやマテリアルインスタンスのエディタで プレビュー用に指定しているスタティックメッシュ • マテリアル関数のInputやOutputノードに プレビュー用に接続しているテクスチャ ファイルサイズの計測 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. クック時に含まれてしまう要素
  141. 141. ファイルサイズの計測 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • Cascade上で非表示状態にしているエミッターが 参照しているメッシュ/マテリアル/テクスチャ クック時に含まれてしまう要素
  142. 142. チェック環境 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  143. 143. チェック環境 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. UE4エディタ上でのチェックについて
  144. 144. チェック環境 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. パフォーマンスで指標になるのは シェーダー複雑度、パーティクル数、エミッター数や パーティクルに内包したライトの数や範囲
  145. 145. チェック環境 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. エフェクトのチェックが容易になるように エフェクト台座(Pawn)を作ってもらった
  146. 146. チェック環境 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • エフェクトを1つ指定してプレイ時に繰り返し再生する エフェクト台座
  147. 147. チェック環境 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 台座に近付くかレベル開始時に再生 • エフェクトのオフセットの指定も可能 • 台座を中心に周回させる機能 周回速度の指定が可能 周回方向にエフェクトの向きを 合わせる設定もある • チェックで非常に重宝 エフェクト台座
  148. 148. チェック環境 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. エフェクトを切り替えてのチェックが容易になるように エフェクト切り替え表示アクターを作ってもらった
  149. 149. チェック環境 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • エフェクトをいくつでも登録することが可能 ゲームプレイ時にキーボードショートカットで エフェクトを切り替えて再生できる エフェクト切り替え表示アクター
  150. 150. チェック環境 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 矢印キー左右でエフェクトの切り替え&再生 スペースキーで現在のエフェクトを再度再生 • 今どのエフェクトが表示されているかはログに表示 • エフェクトをXY軸方向に 好きな数だけ並べられる 指定範囲で等間隔に配置する エフェクト切り替え表示アクター
  151. 151. チェック環境 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. ライティング環境の中でのエフェクトのチェックには 背景班が用意した時間帯を切り替えられるレベルで確認
  152. 152. チェック環境 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 朝から夜の10個の時間帯のライティング環境を設定 したサブレベルをショートカットで切り替えられる • PostProcessVoumeアクターの設定もプロジェクトで 標準的な設定にしてもらう • 暗いシーン、明るいシーンどちらでも破綻のない 見た目になっているかチェックする 全時間帯が切り替えられるレベル
  153. 153. チェック環境 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 実機上でのチェックについて
  154. 154. チェック環境 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • エフェクトチーム内の共有ブースでチェック • CPU / GPU の処理負荷は実機で計測
  155. 155. チェック環境 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 最低限の構成のレベルを用意 床と平行光源1つとエフェクト切り替え表示アクター • 余計な処理を全てOFF • 垂直同期をOFF FPSの天井を上げる r.VSync 0 t.maxFPS 120 処理負荷の計測の流れ
  156. 156. チェック環境 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • オーソドックスなテクスチャとマテリアルのセットを 5種類用意して、それぞれをエミッターに登録した シンプルな標準想定のエフェクトを基準として用意 • さらに一部の条件を色々と変えたエフェクトを用意 • それらをエフェクト切り替え表示アクターに登録 処理負荷の計測の流れ
  157. 157. チェック環境 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • エフェクト1個では差が僅かで計測しづらいため 単体と25個など同時再生数を変えてそれぞれ計測 • Stat Unitの値でざっくりとチェック バージョンアップごとにはやってられないが どこかのタイミングで一度行っておくと参考になる 処理負荷の計測の流れ
  158. 158. チェック環境 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 基本構成(Unlit) • DefaultLit • 片面と両面 • Fresnelあり • ソフトパーティクルあり • World Position Offsetあり • Powerを沢山入れたもの • 極座標を沢山入れたもの • DynamicParameter入り マテリアル関連での計測結果 UE4.9の頃
  159. 159. チェック環境 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 基本構成(Unlit) • DefaultLit • 片面と両面 • Fresnelあり • ソフトパーティクルあり • World Position Offsetあり • Powerを沢山入れたもの • 極座標を沢山入れたもの • DynamicParameter入り - CPU/GPU上昇 差は無し GPU微上昇 GPU上昇 差はほぼ無し GPU微上昇 GPUかなり上昇 GPUかなり上昇 UE4.9の頃マテリアル関連での計測結果 UE4.13で差は無し
  160. 160. チェック環境 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. これらを踏まえてマスターマテリアルの構成の参考にした
  161. 161. チェック環境 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 最初に班内のメンバーに日替わりでクックしてもらい Unreal Frontendを覚えてもらった • プログラマに負荷チェックのアドバイスを 実機プレイしながらレクチャーしてもらった • テストはDevelopersフォルダで行ってもらう 実機に乗らない実験データや途中段階のデータも キリの良いタイミングでDevelopersに移してもらう その他 ちょっとしたこと
  162. 162. チェック環境 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 特別に重たい表現は描画エンジニアに相談 例えばParallax Occlusionは処理負荷を実機で計測 して班内に周知し、使用場面を限定してもらう (大技で画面に1個だけ出る場合ならOKのような) 画面内での描画面積にも気を付けてもらう その他 ちょっとしたこと
  163. 163. チェック環境 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 描画に不具合が起こった場合はRenderDocで キャプチャーして描画エンジニアに提出 シンプルなのでアーティストでも使いやすい キャプチャーデータを 提出時には描画のどの タイミングで起こって いるか、大まかに見る くらいはしている その他 ちょっとしたこと
  164. 164. チェック環境 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • こんなXYZ三軸メッシュモデルを用意しておくと スプライトの挙動やアタッチのチェック等で大変便利 その他 ちょっとしたこと
  165. 165. ©2016 SQUARE ENIX CO., LTD. All Rights Reserved. 補足事項 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  166. 166. テクスチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  167. 167. テクスチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • なるべく必要最小限にする前提で ゲーム中に表示して許せる解像度にする • 1024 x 1024 を上限の目安としてルール化 • どうしても大きいものが欲しい場合もある (広範囲のデカール、SubUVテクスチャ) 解像度
  168. 168. テクスチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 単色で良い場合は 1 x 1 で用意 • グラデーションの場合は 1ドット幅で用意 解像度
  169. 169. テクスチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 可能なものは 1/4カット、1/2カットで用意 Tilling MethodはMirrorにしておく マスターマテリアルでは全てのテクスチャをタイリング可能にしておく 解像度
  170. 170. テクスチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • ミップマップの仕様を理解しておく必要がある テクセル密度が高いほどMipLevelが上がる • つまりカメラからの距離だけでなく パーティクルのスケーリングや UVのタイリング数によってMipLevelが変化する 当初は理解していなかったため、GPUパーティクル用に 解像度の低いテクスチャを用意したりしていた‥ ミップマップ
  171. 171. テクスチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • カットシーンでもカメラから少し離れてるなら 512 x 512 で十分だったりする • アンコウさん(@dgtanaka)のブログ記事が分かり易い ミップマップ 『MipMapを可視化しよう』 http://qiita.com/dgtanaka/items/2ec0fd88236daa5c3cc7
  172. 172. テクスチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • ミップレベルを可視化するマテリアルの紹介 1 ミップマップ
  173. 173. テクスチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • ミップレベルを可視化するマテリアルの紹介 2 ミップマップ
  174. 174. テクスチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 基本的にはNoMipmapsにはしない MipMapが生成されない分ファイルサイズは減るが 常に最大解像度のテクスチャがメモリに乗るため またエイリアシングが目立つ Mip Gen Settings
  175. 175. テクスチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • マテリアル内でタイリングしてスケール調整する例 微調整できるのでスタッフには好まれているが‥ MipLevelが上がるので可能ならやめた方が無難 やるなら専用にNoMipmaps設定にした方が良いかも U1, V1U2, V2 ※Clamp設定にする必要あり Mip Gen Settings
  176. 176. テクスチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • Effectsで統一するルール 一括で内部設定を変えることができる アセットの種類を特定することができる Texture Group
  177. 177. テクスチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • カラー(DXT1)はsRGBをON / モノクロ(BC4)はOFF モノクロテクスチャはマテリアル内で累乗している また不透明度も累乗しないと違和感が出る問題がある なので不透明度もマテリアル内で累乗するよう対応 ガンマ
  178. 178. テクスチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • Powerで2.2乗せずMultiplyでの2乗で良しとした 2.2乗 2乗 2.2乗 2乗 ガンマ
  179. 179. テクスチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 頂点カラーもリニアな値なので2乗する ガンマ
  180. 180. テクスチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 一目で分かるようマテリアル関数化 ガンマ
  181. 181. テクスチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 2.2乗から2乗へ移行する際はテクスチャをPhotoshop のレベル補正で中間ポイント0.91あたりで調整する ガンマ
  182. 182. テクスチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • すると調整前のテクスチャに2.2乗した結果と 並べてみてほぼ分からないくらいに一致する 調整済み 2.2乗 2乗 ガンマ
  183. 183. テクスチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 圧縮設定をBC7はVectorDisplacementmapの 代わりに使用して大幅にファイルサイズが減らせる? Compression Settings
  184. 184. テクスチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • テクスチャの最大サイズはLOD Biasでは無く Maximum Texture Sizeで指定した方が良い NoMipamapでも反映される / サイズマップにも反映される Maximum Texture Size
  185. 185. テクスチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 特に意図が無ければ基本的にはWrapから変えない 同じ絵柄でWrapとClamp両方用意するのは避けたい X(Y)-axis Tiling Method
  186. 186. テクスチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 国際基準のsRGB IEC61966-2.1に対応したので Photoshopと一致させるにはチェックをOFFにする Use Legacy Gamma
  187. 187. テクスチャ ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 基本的にONにはしない 全てのMipLevelをメモリ上に乗せてしまうから • ただしどのMipLevelも使用頻度が高いならONもアリ また炎のようにディティールがあるものも検討対象 一発目のロード時間を念頭に入れつつ設定する Never Stream
  188. 188. マテリアル ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  189. 189. マテリアル ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • ONとOFFが混在すると描画順に影響が出る なので基本的には統一した方が良い これによってマテリアルの運用に影響が出る Separate Translucency Separate Translucency OFF 被 写 界 深 度 Separate Translucency ON 不 透 明
  190. 190. マテリアル ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 基本的にOFFにする場合 ゲーム中に被写界深度があり、影響を受ける ただし影響を受けたくない場合にSeparate ONの 汎用マテリアルを別途用意&管理する必要がある プログラマにデフォルト設定をOFFにかえてもらった • 基本的にONにする場合 ボケを擬似的に表現するマスターマテリアルを 別途用意&管理が必要? Separate Translucency 採用
  191. 191. マテリアル ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 必要最小限の設定にしたい しかし汎用マテリアルには 最初から設定しておきたい ので‥ Particle Sprites Beam Trails Mesh Particles の3点はチェックONで運用 Static Lightingも入れといてOKかも Usage
  192. 192. マテリアル ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • プログラマにマテリアルの詳細パネル内に 専用の項目を追加してもらった チェックボックスをONにするだけなのでとても楽 例:エミッシブカラーの値の露出補正への対策など 独自の設定項目
  193. 193. マテリアル ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • Divideノード使用時にはBポートに0が入る可能性を 考慮して0.0001をAddするなど対策を行う 実際に描画の不具合の原因だったことが何度かあった 0除算対策 Addの方が高速で、厳密にやるならMaxやMinやClampが良い(篠山さん)
  194. 194. マテリアル ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 複数のTexture Parameterにマテリアルインスタンス 内で同一テクスチャを複数指定した場合、その数だけ サンプリングされてしまう 同一テクスチャの複数回の参照
  195. 195. マテリアル ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • テクスチャのSamplerTypeがAlphaの場合は Rチャンネルの値を使用するようにする SamplerType周りの注意点 プラットフォームで赤く表示される可能性あり / R を使用するのが無難
  196. 196. マテリアル ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 入力する引数が一致しているのはOK 基本的に引数が 多いのはOK 少ないのはNG データ型周りの注意点
  197. 197. • 入力する引数が一致しているのはOK 基本的に引数が 多いのはOK 少ないのはNG マテリアル ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. データ型周りの注意点
  198. 198. マテリアル ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • ただし注意が必要な場合もある データ型周りの注意点
  199. 199. • ただし注意が必要な場合もある マテリアル ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. データ型周りの注意点
  200. 200. マテリアル ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • DynamicParameterノードの利用先 定番はUV周りの設定? ここで吸収することでマテリアルインスタンスの数を 一気に減らせるので何気に重要 • ParticleColorノードの色以外への利用先 EmissiveColorが固定値で良い場合に活用できる 例えば屈折マテリアルでは屈折の強さに使用している 工夫しがいのある部分
  201. 201. マテリアル ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • ParticleRandomノードの利用 GPUパーティクルに限定されるものの パーティクルごとに0~1のランダムな値を与えられる UVスクロールの初期値ランダムやSubUVの 開始パターンのランダムに利用するなどが考えられる 工夫しがいのある部分
  202. 202. マテリアル ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • Static Component Mask Parameterノードの利用 BC7を使用して4チャンネルを使い分ける構成ができる ただし切り替えで別シェーダーになるため注意が必要 工夫しがいのある部分
  203. 203. マテリアルの利便性向上 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  204. 204. マテリアルの利便性向上 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 汎用アセットのマテリアル、マテリアルインスタン ス、 マテリアル関数にはしっかりと説明文を記入する コンテンツブラウザでポップアップ表示される 説明文の記載
  205. 205. マテリアルの利便性向上 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • マテリアル関数のInput / Outputノードには 説明文を記載する 説明文の記載
  206. 206. マテリアルの利便性向上 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • マテリアル関数は検索しやすいようカテゴリを設定 マテリアル関数のカテゴリの設定
  207. 207. マテリアルの利便性向上 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • マテリアル関数のInput / Outputノードには 適切なデフォルト値を入力して Use Preview Value as DefaultをONにする デフォルト値の設定
  208. 208. マテリアルの利便性向上 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • マテリアル内でパラメータ化したノードや DynamicParameterに適切なデフォルト値を入力する テクスチャの場合クックされることに注意する デフォルト値の設定
  209. 209. マテリアルの利便性向上 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • コンテンツブラウザ上で何のマテリアルか分かるよう テクスチャノードにアイコン画像のテクスチャを 指定してサムネイル化する工夫をした デフォルト値の設定
  210. 210. マテリアルの利便性向上 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • パラメータには可能なものは値に制限を付ける インスタンス側でスライドバーでの確認が容易になり マイナス値など想定外の値で使用されるのも防げる そうすると後のメンテナンスが楽になる パラメータの値の制限
  211. 211. マテリアルの利便性向上 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 親マテリアルを差し替えた時パラメータ名が同じだと 設定した値を引き継いでくれるので、パラメータ名は シンプルでストレートなものが良いが、その前提で‥ パラメータ名の設定
  212. 212. マテリアルの利便性向上 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • Group名の並び順を指定できないので基本要素の 「1 Emissive」「2 Opacity」「3 Normal」など 一部だけ先頭に連番を付けた パラメータ名の設定
  213. 213. マテリアルの利便性向上 ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • UVは先に速度を与えてからタイリングさせると良い タイリング数を変えてもスクロール速度が変わらないので設定が楽 UV周りの計算順
  214. 214. 最 後 に ©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
  215. 215. 最後に ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. • 開発が進むと大きく変更するのが厳しくなるので 最初に考えられることはできるだけ考えるのが良い • 初めてだとUE4の機能や仕様の把握、実機で出すと どうなのかという検証などにとても労力がかかった なので積極的に情報交換した方が良いように思う • 今後のDeepDiveもとても楽しみ!
  216. 216. 最後に ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 長時間お付き合いくださりありがとうございました! 駆け足でお見苦しかったらすみません 後日ゆっくりスライドを見て頂けたらと思います
  217. 217. 最後に ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. 何かご意見やご質問等ありましたらこちらまで お気軽にメールください! hatakeru@square-enix.com
  218. 218. ご清聴ありがとうございました! ©2017 SQUARE ENIX CO., LTD. All Rights Reserved. Unreal Engine 4 は Epic Games 社の商標または登録商標です。 PlayStationは株式会社ソニー・インタラクティブエンタテインメントの商標または登録商標です。 その他掲載されている会社名、商品名は、各社の商標または登録商標です。

×