UE4における大規模背景制作事例 最適化ワークフロー編【UE4を用いた大規模開発事例紹介 ~スクウェア・エニックス様をお招きして~ 2019】

58.5K Views

April 02, 19

スライド概要

※本セッションには多くの動画が含まれていたり、ノートに備考が記載されている可能性があります。実際の講演で行われたスライドが下記からダウンロード可能ですので、是非そちらをご覧頂けますと幸いです。
講演パワーポイントリンク: https://epicgames.box.com/s/y2mruhc0ha9bdi2owa6v3ngk1olmbj15

登壇者
斎藤 修さま 吉岡 国登さま 須山 稔明さま

内容
ストリーミング、CPU、GPU、メモリ、ロード時間、ディスク容量、LOD、インスタンス、カリング、エディタ拡張など、最適化周りや、レギュレーション、ワークフローに関してお話させて頂きます。

profile-image

Unreal Engineを開発・提供しているエピック ゲームズ ジャパンによる公式アカウントです。 勉強会や配信などで行った講演資料を公開しています。 公式サイトはこちら https://www.unrealengine.com/ja/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

UE4における大規模背景制作事例 (最適化・ワークフロー編) 株式会社スクウェア・エニックス 斎藤 修 吉岡 国登 須山 稔明 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

2.

スライドについて ・PowerPointファイルをEpic様より公開いただいています https://epicgames.box.com/s/mwl9a7kv7b0n9q2kfbghxcsgdwrdbbfj ・スライド内の動画はPowerPointファイルのDLにてご確認ください ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

3.

略称について ・『Unreal Engine 4』をスライド内では『UE4』と記載しています ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

4.

お品書き 自己紹介/初めに レギュレーション ロード時間 LOD ディスク容量 インスタンス ワークフロー カリング Houdini ストリーミング ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

5.

お品書き 自己紹介/初めに レギュレーション ロード時間 LOD ディスク容量 インスタンス ワークフロー カリング Houdini ストリーミング ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

6.

自己紹介/初めに 斎藤 修 テクニカルアーティスト • 背景の作り方とか考えたりサポートしたり • 処理負荷を見たり対応したり してます 吉岡 国登 グラフィクスプログラマ • グラフィックス全般のサポート • グラフィックス担当での参加は初めて 須山 稔明 グラフィクスプログラマ • 背景のグラフィック案件のサポート • 描画関連の不具合調査・対応 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

7.

自己紹介/初めに • 初めに 今回の事例では UE4.17.2 を使用しています。 その為最新verでは変更や修正が行われている可能性があります。 また、様々なエンジン改造 を行っている為、 状況が再現できない可能性があります。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

8.

自己紹介/初めに • 次に 今回、なるべく多くの事例を共有したいと思っております。 その結果、数多くの方が関わられた事もあり、 特殊事例の羅列になってしまいました。 詳細に関してはまた、Q&Aや個別にご質問頂けましたら幸いです。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

9.

自己紹介/初めに • 最後に 今回の背景制作事例に関しては数多くの方の、 様々な助力によって達成されました。 以下、発表事例に関して快くご協力頂けました皆様に深く謝意を表します。 後藤 保 中道 雅史 中 健吾 松岡 英樹 吉田 武史 松本 章 波能 智人 望月 紀嗣 木村 洋一 中村 大作 森田 英明 河崎 幸治(敬称略) ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

10.

お品書き 自己紹介/初めに レギュレーション ロード時間 LOD ディスク容量 インスタンス ワークフロー カリング Houdini ストリーミング ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

11.

お品書き 自己紹介/初めに レギュレーション ロード時間 LOD ディスク容量 インスタンス ワークフロー カリング Houdini ストリーミング ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

12.

レギュレーション ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

13.

レギュレーション 背景画面内トライアングル数 300万以内 Drawプリミティブ数 3000以内 (エディタではなく実機で) ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

14.

レギュレーション ライト複雑度 ライトの重なりは基本2個まで 画面内が青~緑になるように オレンジ以降はNG ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

15.

レギュレーション ライトマップ密度 基本的に青 局所的に緑まで 赤はNG UVにリークや歪みが無いか確認 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

16.

レギュレーション ステショナリーライトのオーバーラップ 重なり2個まで 3個からは完全にNG (動的影がワースト時にハネるので) ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

17.

レギュレーション シェーダー複雑度 画面内8割は緑を目指す マテリアルのインストラクション数は 300まで ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

18.

レギュレーション LOD遷移チェック LOD設定がされているか 正しい距離で遷移しているか確認 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

19.

レギュレーション 頂点数チェック SQEXで拡張 現在の頂点数に応じて色分けされる 赤は10000頂点以上、オレンジは5000頂点以上なので 頂点密度を確認する ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

20.

レギュレーション シャドウフラスタム 意図してない動的影を 落とすものがいないか確認 また、フラスタムをまとめられないか確認 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

21.

レギュレーション リフレクションキャプチャ 4個以上の重なり禁止(可能な限り…) リフレクション調整は重ならないように 配置してからオフセットする 1マップ30~40個程度を上限(メモリ対策) 解像度は64に下げています(メモリ対策) ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

22.

レギュレーション PLV 密度とめり込みを確認 不必要な箇所にできていないかも確認 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

23.

レギュレーション PLV スフィアを並べるBPを使用して 変な色を拾ってないかなどを確認する (Direct Lightingの表示を切っておく) ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

24.

レギュレーション コリジョン プレイエリア外は消しておく 必要以上のプリミティブ分けや、 意図しないLODコリジョンの確認をする ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

25.

レギュレーション 各セクションごとのGPU予算内訳 背景 25ms ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. キャラ VFX 4ms 4ms VFX STUDY GROUP

26.

レギュレーション 各パスの予算配分は以下の通り(あくまで目安です) 3ms 2ms PrePass 5ms 4ms 2ms 1ms 3ms 1ms 2ms 2ms 1ms Shadow BassPass Pre Depth Lighting Light デカール1ms SSAO1.5ms カプセルシャドウ1.5ms SSR Reflection SQEX AfterLight Translu censy FOG ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. UI Post Process VFX STUDY GROUP

27.

レギュレーション プレパスには全投入しています。 (なので描画ポリ数やdraw数が厳しかったです…。) 3ms 2ms 5ms 4ms 2ms 1ms 3ms 1ms 2ms 2ms 1ms PrePass ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

28.

レギュレーション GPUの負荷チェックには 「SqexGPU」という リアルタイムプロファイリングツールを 作成して頂きました。 (パス拡張などの理由で STAT GPUが使えなかったので) Test版でも確認できるので、 アーティストは必ず実機で「SqexGPU」で 予算超えしてないか確認して、 予算を超えていたらTAがプロファイラで 詳細確認、対応する、 というフローを組んでいました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

29.

レギュレーション また、CPU負荷は「SqexCPU」 という、 各スレッドごとの状況が リアルタイムで確認できるツールを 作成して頂きました。 こちらは基本的にはPGさんが 確認していました。 (どのレベル、どのアクタが原因で 処理落ちしてるか、くらいまでは TAが見ることもありました。) ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

30.

レギュレーション 特定レベルの出し消し、 ロードアンロードを行える ツールも作成して頂きました。 処理負荷が高い場合は、 とりあえずこれでレベルを 順次アンロードすることで、 どのレベルがネックかなどが 分かってとても便利でした。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

31.

レギュレーション また、特定のアクタだけを 表示非表示、デストロイできるツール も作成して頂きました。 レベルを出し消しして 犯人がいる場所が分かったら 直接デストロイして突き止める、 というフローがTAやアーティストでも 可能でとても便利でした。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

32.

レギュレーション また、各セクションごとに タグやオブジェクトIDを判定して 表示非表示を切り替える機能も 作成して頂きました。 これにより、各セクションの予算が 適切に守られているか、というのが とても確認しやすくなりました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

33.

レギュレーション また、午前中の 「自 動 プ レ イ の ポストモーテム」 でも触れられたかと 思うのですが、 これらの処理負荷は日々 定点チェックが行われて おり、Kibanaでグラフと 該当箇所のスクショが ビジュアライズされていて とても便利でした。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

34.

レギュレーション また、カットシーンにおいては 総数が200を超え、見るのに 10時間以上かかります。 こちらも自動プレイで 全カットシーンをチェックし 一定以上の処理落ちで スクショやカットシーン番号、 時間などが記録されるので とても便利でした。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

35.

レギュレーション メモリ配分は以下の通りです。(あくまで目安です) 全体5000MB 350 800 MB 500 MB MB MB MB 動的バッファ テクスチャプール MB 150 150 MB 実行ファイル 100 300 100 150 150 AI MB PhysX アニメーション MB 350 200 MB メッシュ マテリアル MB MB UI 200 MB MB サウンド Uオブジェクト ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. 1500 リザーブ GPU その他 VFX STUDY GROUP

36.

レギュレーション キャラ メモリ配分は以下の通りです。(あくまで目安です) 全体5000MB 350 800 MB 500 MB MB MB 動的バッファ テクスチャプール MB 150 150 MB 実行ファイル 100 300 100 150 150 MB AI MB PhysX アニメーション レンダー ターゲット プール MB 350 200 MB メッシュ マテリアル MB MB UI 500 200 MB サウンド Uオブジェクト ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. MB UI VFX 背景 リザーブ 50 200 MB MB 50100 600 MB MB MB リザーブ GPU その他 VFX STUDY GROUP

37.

レギュレーション キャラ メモリ配分は以下の通りです。(あくまで目安です) 全体5000MB 350 800 MB 500 MB MB MB 動的バッファ テクスチャプール MB 150 150 MB 実行ファイル 100 300 100 150 150 MB AI MB アニメーション MB 350 200 MB メッシュ PhysX レンダー ターゲット プール マテリアル MB MB UI 500 200 MB サウンド Uオブジェクト MB UI VFX 背景 リザーブ 50 200 MB MB 50100 600 MB MB MB リザーブ GPU その他 背景に関わるのはこの辺りです。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

38.

レギュレーション メモリも 「SqexMemory」 「SqexAssets」 「SqexTexturePool」 という3種の リアルタイム確認ツールを 作成して頂きました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

39.

レギュレーション 「SqexMemory」は タグ分けされた各メモリを リアルタイムに確認できます。 それぞれの予算配分は 先程のレギュレーション通り です。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

40.

レギュレーション 各タグは拡張したマクロを仕込むことでメモリに追加されています。 メモリに4byteのフッターを追加しており、 タグ(1byte)、メモリ破壊防止タグ(3byte)が含まれています。 フッダーとすることでパディング領域分で、最小限のメモリ増加でタグ記録が可能です。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

41.

レギュレーション LLMは試したのですが 使用しませんでした。 メモリ計測に 多くのメモリが必要で 計測する実機に 制限があったからです。 また、動作が重かったのも 難点でした。 https://www.unrealengine.com/ja/blog/unreal-engine-4-18-released?sessionInvalidated=true ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

42.

レギュレーション 「SqexAssets」は 今メモリに乗っている アセットのリソースサイズが 確認できます。 アーティストは主に こちらを見ていて、 「SqexMemory」で 予算を超えていた場合に、 どこにネックがあるかなど チェックするのに使いました。 アセット単位での CSV吐き出しも可能です。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

43.

レギュレーション 「SqexTexturePool」は テクスチャプールの状況を 見ることができます。 STAT TextureGroup や STAT Streaming などでも 確認可能ですが、 より見やすくまとめて頂いた ものになります。 テクスチャプール状況の CSV吐き出しも可能です。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

44.

お品書き 自己紹介/初めに レギュレーション ロード時間 LOD ディスク容量 インスタンス ワークフロー カリング Houdini ストリーミング ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

45.

LOD LODは主に「Simplygon」を 使用しています。 レギュレーションは 100% 66% 33% 100% 75% 50% 25% のどちらかを目安に、 可能な限り削減しています。 UE4内での自動作成や MAYAでのプラグインでの作成 どちらも使用しています。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

46.

LOD また、LODの設定は プロパティマトリクスで見る事ができないので、 CSVにエクスポートする機能を追加して頂きました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

47.

LOD また、LODは UE4内で生成した場合は LOD間のライトマップを 共有してくれるのですが 外部からインポートすると 別々のライトマップを 生成されてしまいます。 ↓ LOD間でベイク結果が 異なったりメモリが 増えたりして困ります。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

48.

LOD そこで、LOD間で必ず ライトマップUVを共有する オプションを追加して 頂きました。 (手作業でLODを作成する 場合は、必ずUVを 一致して頂きました。) ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

49.

LOD これにより、ベイクエラーの回避と ライトマップの削減を 行うことができました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

50.

LOD HLODも使用しています。 ただ、作成と保守のコストが とても高いので 処理負荷的に厳しいマップで のみ使用しています。 メモリを多く食うのも ネックの一つでした。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

51.

LOD HLODの生成は オートメーションツールで 自動化して頂きました。 登録したレベルまとめて HLOD作成して サブミットまでしてくれます。 これがないと数多のレベルを 手作業で一つずつ HLOD作成してサブミット しなくてはいけません…… つらい!! ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

52.

LOD 正規 パーシスタントレベル また、HLODは パーシスタントレベルのみで 編集作業が可能です。 今プロジェクトでは 右図のように背景は作業用に 別のパーシスタントレベルで 作業を行い、 正規パーシスタントレベルに 全レベルをぶら下げるという フローを取っていました。 背景作業用 パーシスタントレベル 背景作業用 パーシスタント レベル エリアA エリアA エリアB エリアB エリアC ライティング エリアC ライティング ゲームフロー エネミー VFX ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

53.

LOD 正規 パーシスタントレベル 背景作業用 パーシスタントレベル 何かの子になっている レベルはHLODを 作成できません。 背景作業用 パーシスタント レベル エリアA エリアA エリアB エリアB エリアC ライティング エリアC ライティング ゲームフロー エネミー VFX ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

54.

LOD 正規 パーシスタントレベル 背景作業用 パーシスタント レベル HLOD作成編集専用 パーシスタントレベル 背景作業用 パーシスタントレベル エリアA エリアA エリアA エリアB エリアB エリアB エリアC エリアC ライティング その為、別途HLODを 作成する為だけのレベルを作り、 HLOD作成を対応しました。 エリアC ライティング ゲームフロー エネミー VFX https://udn.unrealengine.com/questions/381355/view.html ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

55.

LOD レベルA 元メッシュ また、ストリーミングを 行っている場合、 レベルが捨てられると HLODも捨てられてしまうので HLODのメッシュだけを 置いたレベルを 最終LODレベルとして すげ替えて残しました。 HLOD レベルA 元メッシュ ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. レベルB HLOD HLODのメッシュだけ VFX STUDY GROUP

56.

LOD レベルB HLODのメッシュだけ しかし、 プレイヤーの挙動が早く レベルBからレベルAの元メッシュに 即切り替わってしまう事があり テクスチャ遅延を招く事が ありました。 レベルA 元メッシュ ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. 元メッシュは 大量のテクスチャを 参照しているので いきなり切り替わると 表示が間に合わない VFX STUDY GROUP

57.

LOD レベルB HLODのメッシュだけ そこで、レベルAを読む際は 参照しているテクスチャの 読み込み待ちをしてから 表示を切り替える、という仕組みを PGさんにご対応頂きました。 レベルA 元メッシュ ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. レベルAが使用している テクスチャを 事前に登録しておいて それらの読み込み待ちをする 事前登録はPGさんが 自動で行ってくれました。 VFX STUDY GROUP

58.

LOD また、 HLOD再生成の際に 以前のデータが消えず ゴミとして残ってしまう 事がありました。 こちらはクラスタ削除をし 再度アクタ登録をし直して HLOD再生成しないと 消えませんでした…。 クック後にも残ります ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. つらい!! VFX STUDY GROUP

59.

LOD また、HLODは生成の度に 個別のマテリアルが作成されるのですが、 ディザ遷移や色調整を 行いたかったので 専用の親マテリアルを作成して 運用しました。 いくつかのHLODに関しては 生成時にどうしても色が合わないので ProxyReplaceで調整したりも つらい!! しました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

60.

LOD また、カットシーンにおいては いきなりカメラが飛ぶことで LOD遷移が間に合わない事が ありました。 こちらは、専用のBPノードを 作成して頂きました。 対象LODモデルにタグを仕込み、 カット単位で適宜オンオフすることで 対応しました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

61.

お品書き 自己紹介/初めに レギュレーション ロード時間 LOD ディスク容量 インスタンス ワークフロー カリング Houdini ストリーミング ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

62.

インスタンス インスタンス化は マーケットプレイス販売の プラグインを使用しています。 https://www.unrealengine.com/ marketplace/instance-tool 4.20よりインスタンスコンバートツールが デフォルトでつきましたが インスタンスとHインスタンスを指定できたり スタティックメッシュに戻せたり 各種オプションが便利だったりします ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

63.

インスタンス インスタンスは 「HierarchicalInstancedStaticMesh」 「InstancedStaticMesh」 両方使用しています。 なるべくは 「InstancedStaticMesh」を使用して LODが個別で欲しい場合のみ 「HierarchicalInstancedStaticMesh」 を使用しています。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

64.

インスタンス Foliageも使用していますが、 なるべく使用を避けて 「HierarchicalInstancedStaticMesh」 で配置しています。 フォリッジはバグが多く、 何をどれだけどこに置いてるかも把握しづらく 置いていたフォリッジがズレたり 消えたり、原点に集約したり レベルごと壊れて開かなくなったりなどあった為 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

65.

インスタンス また、フォリッジから スタティックメッシュへの 変換ツールも拡張して頂きました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

66.

インスタンス 「HierarchicalInstancedStaticMesh」は それぞれアクタごとにLODの距離や クラスタの数などを調整できるように 拡張して頂きました。 デフォルトではアクタ個々での設定ができず、 意図しないLODの切り替わりや 非効率的なクラスタリングをされていたので それぞれ個別調整できるようにして頂きました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

67.

インスタンス また、HoudiniEngineを用いての インスタンス化も行いました。 任意形状をボクセル化 するような場合に すぐ結果が見れて便利でした。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

68.

お品書き 自己紹介/初めに レギュレーション ロード時間 LOD ディスク容量 インスタンス ワークフロー カリング Houdini ストリーミング ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

69.

カリング カリングは ・事前カリング ・距離カリング ・オクルージョンカリング 全て使用しました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

70.

カリング 事前カリングは局所的に使用しました。 ビルドが長く、メモリも食い、 さらにカリングが壊れた時のエラーが ひどい為、運用には気を使いました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

71.

カリング こっちでビルド しないと駄目 正規 パーシスタントレベル ここでビルド すると壊れる また、HLODの例と同じく 事前カリングも パーシスタントレベルでしか ビルドができず、 非常に苦労しました。 背景作業用 パーシスタントレベル 背景作業用 パーシスタント レベル エリアA エリアB エリアA エリアC エリアB ライティング エリアC ライティング ゲームフロー エネミー VFX ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

72.

カリング 正規 パーシスタントレベル HLODでは 別のパーシスタントで 作業する事で回避しましたが 事前カリングは不可能でした。 他セクションと連携を取り、 特定のマップのみ、 正規パーシスタントレベルで ライトビルドと 事前カリングビルドを 行いました。 こっちでビルドしました。 ライトビルドも同時に 行う必要があるので 間違ってベイク対象に なってるものがないかなど プランナーさんにかなり ご協力頂きました。 背景作業用 パーシスタント レベル エリアA エリアB エリアC ライティング ゲームフロー エネミー VFX ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

73.

カリング また、事前カリングボリュームは デフォルトだと サーフェスコリジョン上にしか セルを作成せず 隙間だらけになります。 なのでPGさんに ボリューム内をセルで埋める オプションを追加して 頂きました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

74.

カリング 事前カリングは、ストリーミングに非対応であったり 使用できる箇所は限定的でしたが 効果が大きい場所では 500~のDrawPrimitiveが削減され オクルージョンカリングによるdrawハネを ~3msほど改善できたりしました。 ただし最大5~60MBほどのメモリを使用しました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

75.

カリング 距離カリングはほぼ必ず 使用しています。 CullDistanceVolumeも 使用しましたが 最終的にはほとんど アクタ単位でMaxDrawDistanceで 調整していたかと思います。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

76.

カリング 距離フェードマテリアルも 使用したりしましたが 基本見えない距離でパカっと 消しました。 キャラの移動速度が早く、 フェードしている間に 距離を詰められるので 消してしまった方が 見た目が良かった形です。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

77.

カリング オクルージョンカリングは UE4のデフォルトそのままです。 フレーム遅延などは バウンズ調整したり、 要所でカリング切ったりしました。 室内で壁がカリングされて ブルームが爆発するものには 目立たないよう黒い板を 置いたりしました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

78.

お品書き 自己紹介/初めに レギュレーション ロード時間 LOD ディスク容量 インスタンス ワークフロー カリング Houdini ストリーミング ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

79.

ストリーミング ストリーミングは「レベル制作事例」でも 紹介されていましたが、局所的に使用しました。 レベル設計がストリーミングに向いていないものや メモリや処理負荷の問題が少ないところでは使っていません。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

80.

ストリーミング ストリーミングの実装は 「マップセット」と呼ばれている機能で 実装しました。 主にプランナーさんが実装していて レベルの組み合わせをエクセルで 管理し、切り替えをBPで実装しています。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

81.

ストリーミング ストリーミングが 使えなかったところでは 「アクターマネージャー」と呼ばれる 距離に応じてアクタ単位で Tickや表示、コリジョンの オンオフをする機能を使用しています。 ストリーミングと併用もしています。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

82.

ストリーミング 背景の方では ストリーミングに際しては いきなり消えないように レイアウトの調整や レベルの分割、移動などを 行ったりしました。 ストリーミングのヒッチ対応の為に アクタのマージや、レベル構成の変更も行い、 安定するまで中々苦労した印象です。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

83.

ストリーミング また、レベルストリーミングと並行して テクスチャストリーミングでも苦労しました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

84.

ストリーミング テクスチャ遅延は カットシーンで顕著に発生しており、 (カメラがカットごとに移動する為) また、カットシーンが長尺で 様々な箇所を写すので 事前にメモリに載せておく事も できませんでした。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

85.

ストリーミング また、テクスチャストリーミングが カメラの画角に非対応だった点も 問題となりました。 こちらは致命的だったので 画角対応を入れて頂きました。 テクスチャが 来ない TextureInstanceView.cpp ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

86.

ストリーミング ただ、結果として、 望遠時には大量のテクスチャリクエストが かかることとなり、 これもまたテクスチャ遅延を 悪化させました。 画面に写ってないものも 高MIPのリクエストが かかってしまう (カットシーンでは望遠が多用されました。 一桁レベルの画角もありましたが、 これらの問題から最低二桁になるよう対応して頂きました。) ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

87.

ストリーミング そこでカットシーンでは カット単位でテクスチャのリクエストを 上書きする仕組みを構築して頂きました。 StreamingTexture.cpp ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

88.

ストリーミング CUT1 CUT2 TexA TexB TexC TexA TexC 流れとしては 事前にカットシーンを流して カットごとに使用されている テクスチャとMIPを記録。 CUT3 TexD TexE TexF TexG CUT4 CUT5 TexA TexF TexG TexH TexI TexJ 記録 その記録したデータを使って、 順次先読みをかけていく、という 形です。 CUT1 CUT2 CUT3 CUT4 CUT5 TexA TexB TexC TexD TexA TexE TexF TexF TexG TexG 先読み TexH TexI TexJ TexA TexC 終わったら捨てる ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

89.

ストリーミング 実機1 CUT1 TexA TexB TexC CUT2 TexA TexC CUT3 TexD TexE TexF TexG CUT4 CUT5 TexA TexF TexG TexH TexI TexJ CUT4 CUT5 TexA TexF TexG TexH TexI TexJ CUT4 CUT5 TexA TexF TexG TexH TexI TexJ 記録 カットごとの使用テクスチャは 「自動プレイのポストモーテム」 でも触れられてたとおり カットシーン再生だけで 10時間以上かかるので 実機数台に分けて毎日記録しました。 実機2 CUT1 TexA TexB TexC CUT2 TexA TexC CUT3 TexD TexE TexF TexG 記録 実機3 CUT1 TexA TexB TexC CUT2 TexA TexC CUT3 TexD TexE TexF TexG 記録 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

90.

ストリーミング 毎日作成する必要があったのは ライトマップをベイクしていた為です。 ライトビルドも自動で毎日走っており、 その度に記録したテクスチャデータが 壊れるので日々作り直す必要がありました。 StreamingTexture.cpp テレインとキャラが優遇されており ライトマップとシャドウマップは遅延しやすいです ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

91.

ストリーミング ただ、それでも記録精度の問題などで遅延してしまう際は、 特定のテクスチャのみ手作業で登録したり 特定テクスチャグループのみ強制的にテクスチャブーストをかけたり、 キャラなどは最低MIPを引き上げたりもしました。 AsyncTextureStreaming.cpp UpdatePerfectWantedMips_Async() ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

92.

ストリーミング また、これらの対応に並行して問題となったのが テクスチャプールオーバーでした。 先読みをかける事でプールが足りなくなることも多く、 その場合はテクスチャグループ単位で 読み込み上限を入れたりしました。 StreamingTexture.cpp ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

93.

ストリーミング テクスチャプール(800MB) 「自動プレイのポストモーテム」でも 触れられたように テクスチャプールオーバーのチェックも 自動化して頂いており、 プールオーバーしていた場合は TAがメモリ状況を確認し、 ボトルネックを把握、 予算を超えているセクションに 適宜注意喚起を行いました。 キャラ 背景 VFX UI その他 160 320 80 80 160 MB MB MB MB MB 大体の予算配分 100 MB 100 MB 100 MB ベースカラー トリプルマスク ノーマル ライトマップ シャドウマップ ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY 20 MB GROUP

94.

お品書き 自己紹介/初めに レギュレーション ロード時間 LOD ディスク容量 インスタンス ワークフロー カリング Houdini ストリーミング ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

95.

ロード時間 ロード時間のレギュレーションは 平均15秒 最大30秒 でした。 (ワーストではなく平均的なHDD読み出し速度で測定) ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

96.

ロード時間 ファイルオーダーは使用しました。 (プレイデータは自動プレイで作成) 効果は大きく平均で-6秒。 最大だと-17秒のロード時間改善が ありました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

97.

ロード時間 また、ワールドセッティングに ワールドコードという設定を追加し 相互に移動が多いだろうマップでは 共通しているアセットをリスト化して 保持するようにしました。 効果は平均で-1秒。 最大だと-13秒のロード時間改善が ありました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

98.

ロード時間 また、マップジャンプ前にプレイヤーなどの主要なクラスや スタティック、スケルタルメッシュなど数が多いものを、 GameInstanceなど必ず生きているオブジェクトから参照させ、 マップジャンプ後に外すことで ロード時間の短縮を行ったりもしました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

99.

ロード時間 アセットレジストリは使用していません。 総アセット数がとても多く(クック後40万アセット超) メモリを80MBも使用した為です。 BaseEngine.ini ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

100.

ロード時間 作成アセット数の内訳は大体以下のような感じです。 キャラ 背景 VFX サウンド 約12万 約11万 約4万 約8万 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. UI その他 約1万 約4万 VFX STUDY GROUP

101.

ロード時間 作成アセット数の内訳は大体以下のような感じです。 キャラ 背景 VFX サウンド 約12万 約11万 約4万 約8万 UI その他 約1万 約4万 背景アセットの内訳は大体以下のような感じです。 メッシュ 20000 マテリアル 25000 テクスチャ 55000 umap その他 5000 5000 クック後のuasset、uexp、ubulkの数なので 実際の作成数は1/2ほどになるかと思います。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

102.

お品書き 自己紹介/初めに レギュレーション ロード時間 LOD ディスク容量 インスタンス ワークフロー カリング Houdini ストリーミング ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

103.

ディスク容量 ディスク容量に関しては ほぼ背景のテクスチャがボトルネックでした。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

104.

ディスク容量 各セクションの容量は 制作中の容量から 適宜予想して算出、 配分されていました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

105.

ディスク容量 背景はその中でも かなり多めに予算をもらって いたのですが (ブルーレイディスクの半分以上。) 開発中盤に予算超え。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

106.

ディスク容量 データメンテナンス編でも 触れられていましたが、 各マップごとに容量を可視化して 適宜対応していきました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

107.

ディスク容量 容量の大半(7~8割)を占めていたのはテクスチャ。 テクスチャは圧縮効率があまり良くない上に ライトマップやシャドウマップをベイクしているのも相まって 総量が増え、ボトルネック化していました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

108.

ディスク容量 容量削減対応としては、基本的には 見た目が許せるギリギリまで 「MaximumTextureSize」を 下げて頂きました。 ライトマップ、シャドウマップに関しては 一括でのScalingオプションを拡張して頂き こちらもベイクエラーのギリギリまで 削減して頂きました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

109.

ディスク容量 また、天球画像には HDRかつパノラマ展開されたものが 使用されていたので、 映っていない下半分を削ったりしました。 (4k*2k→4k*1kにして マテリアルでミラーリングしました。) ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

110.

ディスク容量 また、背景のマスターマテリアルが BaseColor TripleMask Normal と、3枚のテクスチャを使用する 構成になっていたのも 容量が大きい一因でした。 こちらはテクスチャ使用を抑えた マテリアルを別途用意して ニーズに応じて切り替えて 頂きました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

111.

ディスク容量 ノーマルに関しては、BC5で運用していたのも 容量が大きい一因だったので、 DXT5にしたり、RGチャンネルにパッキングしたりもしました。 ただ、こちらはブロックノイズや対応コストの問題などで 局所的な対応で留めています。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

112.

ディスク容量 また、これらの対応を含めて 背景のマテリアル数はかなり増えました。 最終的には背景のマスターマテリアルは 約1000種、容量250MBになりました。 ただ、一度にメモリに乗せるのは 50個ほど(約10MB)で 適宜状況に応じて使い分けて運用しました。 全てのマテリアルは背景TAがリスト管理し お互いに情報共有し合って 統合可能かどうかなどすり合わせました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

113.

ディスク容量 また、メッシュの方の対応として Adjacency Bufferと Reversed Index Bufferの 生成をやめました。 アセット数が多かったので 数百MBほどの容量削減になったかと 思います。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

114.

ディスク容量 最終的には背景は 当初の容量配分43000MiBを大きく下回り 33000MiBとなり、 想定以上の容量削減を行えました。 ただ、容量対応というよりは プールオーバー対応などメモリ対応が厳しく それに合わせていくうちに 容量もどんどん減っていった印象です。 ちなみに他セクションは概ね容量配分通りでした。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

115.

お品書き 自己紹介/初めに レギュレーション ロード時間 LOD ディスク容量 インスタンス ワークフロー カリング Houdini ストリーミング ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

116.

ワークフロー ワークフローに関しては 制作時に役立った、小さな事例を 色々ご紹介させて頂こうかと思います。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

117.

ワークフロー エディタ拡張 対応プラットフォームが多く、それぞれスケーラビリティも違うので エディタ上で、各プラットフォームごとの描画状況を 簡単に切り替えて見られるようにして頂きました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

118.

ワークフロー エディタ拡張 また、背景制作における 細かな拡張メニューを追加して頂いたり、 エディタオンリーの管理タグを 追加して頂いたりしました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

119.

ワークフロー ブループリント ブループリントも 適宜使用しています。 コンストラクション スクリプトによる配置や、 ブルーティリティによる ツールも作成しました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

120.

ワークフロー ブループリント レベルブループリントも要所で使用しています。 基本的にはイベントドリブンで ゲーム進行に応じてライティング環境を変えたり、 マテリアルパラメーターコレクションを変更したりなどしました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

121.

ワークフロー ブループリント ただ、一部デバッグや実験目的で キーバインドや BeginPlay、Tickが使用されており、 「レベル制作事例」でも紹介されたように 開発終盤に謎のバグを生んでしまいました…。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

122.

ワークフロー ブループリント その為、PGさんに レベルBPが仕込まれている 全レベルリストを出して頂き、 全て「手作業」で「目視」で 確認しました。 レベル総数2000超 背景に関するレベル1000超 うち何かしらのレベルBPが あったのは150ほどでした さらに後に変更が加えられてないか 確実に確認するために スクショも取って目diffしました…。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. 古くは5年以上前に仕込まれており 担当者が退社しているものも ありました… VFX STUDY GROUP

123.

ワークフロー バッチ バッチも大量に用意して頂きました。 様々なエディタ起動オプションや、 リネーム、クック、キャッシュ削除、 エラーチェック、圧縮…と 200以上のバッチが作成されました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

124.

ワークフロー コマンドレット コマンドレットも大量に作成して頂きました。 指定フォルダ以下のアセットのリファレンスを一括で出したり、 マテリアルインスタンスの使用パラメーターを調べたり、 マテリアルのノードの設定を一括で変更したり…… 使い捨てとも言える色々なものをご対応頂きました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

125.

ワークフロー テクスチャ設定自動化 テクスチャに関しては、テクスチャグループやCompressの設定を 間違えたり設定し忘れたりするので フォルダ単位で判定してある程度自動設定されるようにして頂きました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

126.

ワークフロー ライトベイク自動化 ライトベイクは大量のマップをベイクする必要があったので、 夜のうちに自動ベイク&サブミットするようにして頂きました。 指定のテキストにパスを書くだけで翌朝にはライトビルドされます。 最大時には毎夜50を超えるマップがライトビルドされていました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

127.

ワークフロー ライトベイク自動化 1マップあたりのベイク時間は30分以内をレギュレーションとしていました。 (大量のマップを朝までにベイクする必要がある為) ただ、いくつかのマップはどうしても削れず、最大は2時間弱でした。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

128.

ワークフロー ライトベイク自動化 ライトビルド時間の短縮には、 統計とswarmのログを見て対応しました。 大体の場合は、いくつか飛び抜けた アセットがボトルネックになっているので それを分割したり、精度を下げたりしました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

129.

ワークフロー ライトベイク自動化 swarmに関してはベイクマップ数が少ない頃は 背景アーティストのみで運用していましたが、 最終的にはチーム全体で協力して頂きました。 (最大時数百台規模で運用していました。) ただ、他セクションの方からは 中々協力を得にくかった為、 PGさんにエディタ立ち上げの際に自動で swarmをスタートアップに登録する バッチを仕込んで頂き 半強制的にご協力頂きました…。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

130.

ワークフロー ライトベイク自動化 ただ、日中Swarmが起動していると 作業時に諸々のリソースを奪ってしまい 迷惑がかかります。 その為、普段はCPUを0コアにしておいて 帰宅後PCロックがかかると フルコア使うように拡張して頂きました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

131.

ワークフロー ライトベイク自動化 また、それでCPUに関しては制限できたのですが メモリに関しては制限方法がありませんでした。 メモリはワースト時2~30GB奪われることもあり 作業に著しい支障をきたしていました。 https://udn.unrealengine.com/questions/223869/view.html ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

132.

ワークフロー ライトベイク自動化 これは例えばフォリッジなどで 大量のインスタンスをばら撒いたりすると それらがライトベイク時に コリジョンメッシュとして扱われ、 メモリが爆発してしまう為でした。 (ランタイム時にはカリングなどで 最適化され問題がないのですが、 ライトベイク時には 全てメモリに乗ってきます。) ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

133.

ワークフロー ライトベイク自動化 そこで、あまりに大量の頂点を扱っている場合は LOD0にライトベイク用のローメッシュを入れて、 描画時はLOD1から使うようにしました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

134.

ワークフロー ライトベイク自動化 自動ライトビルドが行われた後は、自動ナビビルド、 自動スポーンポイントビルド、を引き続き行い 最終的にクック、パッケージ作成まで自動化されてました。 ライト ナビ 3時間 30分 スポーン ポイント 10分 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. クック パ ッ ケ ー ジ 完 成 6時間 VFX STUDY GROUP

135.

ワークフロー ライトベイク自動化 自動化タスクはjenkinsから実行され、 結果がメールとチャットで報告されます。 非常に便利だったのですが、幾つかあった問題点としては、 ・自動ビルドは対象マップのチェックインが必須だったが 忘れられてビルド失敗することがあった(ヒューマンエラー) ・swarmで稀にタスク分散されない事があった(原因不明) ・swarmで稀に分散時にタスク終了しないことがあった(原因不明) ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

136.

ワークフロー ライトベイク自動化 また、自動ライトビルドに関しては、 コマンドレットが当時正常に動作しなかった為 Automationコマンドの方で実装されています。 他に、 ライトマップは連続ベイク時ゴミを残す事があった為 ・1回目「Force No Precomputed Lighting」を オンにしてビルドしてゴミを消す ・2回目通常通りライトビルドする の2回ビルドを行っていました。 https://udn.unrealengine.com/questions/283840/view.html ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

137.

ワークフロー ライトベイク自動化 クックに関しては、40万を超えるアセットをクックしなくてはならない為、 色々な高速化を対応しました。 ・ m.2 NVMe SSD の使用 ・大量のメモリ(物理メモリ 64GB + 仮想メモリ 150GB) ・ GC が入らないようにする ・ GC が入らないようにすると Cook 終了時に非常に時間がかかるので、 強制的に終了させるようなオプション追加 ・ Cook 終了時に走る VerifyEDL をスキップできるオプションを追加 ・ Disk IO の最適化 ( Cook 処理中はなるべく Cook 以外の Disk IO が入らないようにする) これらで、キャッシュがフルに効いている状態で6時間くらいでした。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

138.

お品書き 自己紹介/初めに レギュレーション ロード時間 LOD ディスク容量 インスタンス ワークフロー カリング Houdini ストリーミング ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

139.

Houdini 今プロジェクトでは、 背景においてもHoudiniを様々な形で運用しました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

140.

Houdini 破砕 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

141.

Houdini ピボットペインター ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

142.

Houdini 積雪 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

143.

Houdini モデル破壊 https://2018.cedec.cesa.or.jp/session/detail/s5abdfffa58d45 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

144.

Houdini 雲 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

145.

Houdini フローマップ ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

146.

Houdini ビルボード ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

147.

Houdini テレイン ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

148.

Houdini HoudiniEngineも使用しており verはUE4.17.0 Houdini16.5.349 主にインスタンシングなどに使用しました ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

149.

Houdini Houdiniは非常に強力なツールで 今プロジェクトにおいては局所的な運用に留まりましたが、 それでも有効だったと考えています。 UE4との相性も良いと思いました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

150.

Houdini そして、最後になりますが、 宣伝をさせて頂けましたらと思います。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

151.

Houdini プロジェクト終了後、 先程の背景におけるHoudini運用を さらに拡大した検証を行いました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

152.

Houdini ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

153.

Houdini アーティスト主導でHoudiniを運用し、 プロシージャルに「1000の和室」を作成しました。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

154.

Houdini これまではHoudiniは 主にTAが運用していましたが それをアーティストメインで 背景全体のワークフローに 拡大して検証。 詳細は2019/3/10発売の CGWORLDに掲載しております。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

155.

Houdini さらに ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

156.

Houdini 4/20のUnrealFestWestでも その詳細について登壇させて頂きます。 http://unrealengine.jp/unrealfest/ ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

157.

Houdini HoudiniとHoudiniEngineの連携、 UnrealPythonによる自動化、 NiagaraとHoudiniの連携、など プロシージャル背景制作に関して 諸々共有させて頂く予定です。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

158.

Houdini ご都合合えば、 是非是非お越しいただけましたら幸いです。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP

159.

ご清聴ありがとうございました! UNREALはエピック・ゲームズ・インコーポレーテッドの商標または登録商標です。 ElasticsearchおよびKibanaはElasticdearch BVの商標または登録商標です。 MAYAはオートデスク インコーポレイテッドの商標または登録商標です。 その他掲載されている会社名、商品名は、各社の商標または登録商標です。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP