- Unreal Engine 5 - City Sampleからみる描画の最適化【CEDEC 2022】

Unreal Engine 5 - City Sampleからみる描画の最適化【CEDEC 2022】

講演スライド:https://www.docswell.com/s/EpicGamesJapan/51NY7K-UE_CEDEC2021_CitySampleRenderingOptimize

Unreal Engine 5と同時に公開されたサンプルプロジェクト「City Sample」では、様々な機能の最適化が行われています。今回は描画関連の機能を中心に機能紹介や最適化のための設定を紹介させて頂きます。
htt...
講演スライド:https://www.docswell.com/s/EpicGamesJapan/51NY7K-UE_CEDEC2021_CitySampleRenderingOptimize

Unreal Engine 5と同時に公開されたサンプルプロジェクト「City Sample」では、様々な機能の最適化が行われています。今回は描画関連の機能を中心に機能紹介や最適化のための設定を紹介させて頂きます。
https://cedec.cesa.or.jp/2022/session/detail/228

#Unreal Engine #Epic Games #UE5 #UE4
00:00:01 - 00:00:03: ランディ r エンジン5 00:00:03 - 00:00:06: シティサンプルから見る量がの最適化と 00:00:06 - 00:00:09: 題しましてピックゲームズジャパンの澤だ 00:00:09 - 00:00:11: が講演させていただきます 00:00:11 - 00:00:15: よろしくお願い致します 00:00:15 - 00:00:17: 本日の内容としましては 00:00:17 - 00:00:19: スライドに記載していますように 00:00:19 - 00:00:22: まずシティサンプルとはというところから 00:00:22 - 00:00:25: 始めてこのスティサンプルを実現している 00:00:25 - 00:00:30: 技術機能についての基礎をまず紹介しそれ 00:00:30 - 00:00:33: はどのように活用されているのか 00:00:33 - 00:00:36: そして最後にその他開発tips を紹介 00:00:36 - 00:00:41: させていただければと思います 00:00:41 - 00:00:43: それではまず市 t さんぷりについて 00:00:43 - 00:00:47: 紹介させていただきます 00:00:47 - 00:00:51: シティーサンプルはあんりあ米人5.0 00:00:51 - 00:00:54: 優位5のリリースと同時に公開された 00:00:54 - 00:00:57: サンプルプロジェクトです 00:00:57 - 00:01:01: こちらは言い5の新しい機能をフル活用し 00:01:01 - 00:01:04: たサンプルとなっており様々な最適化が 00:35:24 - 00:35:27: 行われています 00:01:07 - 00:01:10: 今回は主に描画関連の機能を中心に機能 00:01:10 - 00:01:14: 紹介や裁定機関のための設定を紹介させて 00:37:49 - 00:37:54: いただきます 00:01:18 - 00:01:21: いいサンプルはエピックゲームズラウン 00:01:21 - 00:01:23: チャーから無料でダウンロードすることが 00:27:31 - 00:27:35: 可能です 00:01:25 - 00:01:28: まだ実際に触ったことがない方はこれを 00:01:28 - 00:01:31: 機会に是非ダウンロードしてみて頂ければ 00:43:36 - 00:43:38: と思います 00:01:35 - 00:01:37: t サンプルをダウンロードしていただい 00:01:37 - 00:01:40: て入院5でこのプロジェクトを開いて 00:01:40 - 00:01:43: いただくといくつかのマップを見ることが 00:12:36 - 00:12:40: できます 00:01:45 - 00:01:48: 最初は比較的軽量なスモール city 00:01:48 - 00:01:52: map を開くことをお勧めします 00:01:52 - 00:01:55: またこの時ドライバーが最新版でないと 00:01:55 - 00:01:58: 世代的に対応しているグラフィックボード 00:01:58 - 00:01:59: であっても 00:01:59 - 00:02:02: メッシュが正常に表示されないことがある 00:02:02 - 00:02:05: ので表示がおかしいといった場合には 00:02:05 - 00:02:08: gpu ドライバーが古いものになってい 00:02:08 - 00:02:11: ないか更新されているか合格にいただけれ 00:02:11 - 00:02:15: ばと思います 00:02:15 - 00:02:18: のサンプルプロジェクトは約15平方 00:02:18 - 00:02:21: キロメートルのオープンワールドの街で 00:02:21 - 00:02:25: 圧倒的に多い約700万個のインスタンス 00:02:25 - 00:02:28: さあセットで構築されています 00:02:28 - 00:02:32: 各アセットは数百万ポリゴンにもなり街の 00:02:32 - 00:02:37: 建物だけでも数十起こるようになります 00:02:37 - 00:02:40: それだけの物量をどう扱っていくのかが 00:02:40 - 00:02:45: 大きな焦点となっていました 00:02:45 - 00:02:48: d サンプルではリアルタイム試合 00:02:48 - 00:02:51: ルーメンによるライティングや仮想化 00:02:51 - 00:02:54: ジオメトリライトによる非常に高精細な 00:02:54 - 00:02:57: 名刺の秒かが行われています 00:02:57 - 00:03:00: またその氷ティに耐えられる車道を実現 00:03:00 - 00:03:03: するバーチャルシャドウマップや 00:03:03 - 00:03:05: 全体のマップのロードストリーミングを 00:03:05 - 00:03:07: 管理するワールドパーティションなど 00:03:07 - 00:03:12: さまざまな技術で構成されています 00:03:12 - 00:03:15: 公演が伝えたい内容としましては 00:03:15 - 00:03:19: 10位5の夜回りの新機能は7位とがキー 00:03:19 - 00:03:22: となっておりできるだけなナイターセット 00:03:22 - 00:03:28: がすることをお勧めするということです 00:03:28 - 00:03:31: さて実際にこのスティーサンプルを見て 00:03:31 - 00:03:32: 行く前 00:03:32 - 00:03:35: このような大規模かつ高密度な描画を実現 00:03:35 - 00:03:38: している機能について基礎的なところを 00:03:38 - 00:03:42: 少し紹介していきます 00:03:42 - 00:03:48: まずはなナイトについて紹介します 00:03:48 - 00:03:51: ナイトは仮想化ジオメトリとも呼ばれてい 00:03:53 - 00:03:56: 機能としては三角形のメッシュを 00:03:56 - 00:03:59: クラスターという単位に分割し 00:03:59 - 00:04:02: 階層構造を構築します 00:04:02 - 00:04:05: このクラスタ単位で lod のような 00:04:05 - 00:04:08: 切り替えを行い最適なポリゴン住んで描画 00:04:08 - 00:04:10: を行います 00:04:10 - 00:04:13: このスライドの左側の画像がクラスターを 00:04:13 - 00:04:17: 表示していて右側の画像がポリフォンを 00:04:17 - 00:04:20: 表示している画像です 00:04:20 - 00:04:24: 基本的には1月には1ポリゴンあれば十分 00:04:24 - 00:04:27: という考え方のもとを必要なデータのみを 00:04:27 - 00:04:30: メモリに送るようにストリーミングする 00:04:30 - 00:04:33: ことで高精細なメッシュの描画を行ってい 00:04:37 - 00:04:40: ライトはこのように高精細ないわゆるハイ 00:04:40 - 00:04:42: ポリのメッシュを描画することができます 00:04:42 - 00:04:45: が押さえておきたいポイントがここで2つ 00:35:02 - 00:35:04: あります 00:04:47 - 00:04:51: まず1つは高精細のメッシュから星詳細 00:04:51 - 00:04:53: どの行がレンダリングが行えるということ 00:04:55 - 00:04:57: もう一つは独自のソフトウェアラスタ 00:04:57 - 00:05:00: ライザとレンダリングパイプラインにより 00:05:00 - 00:05:02: 番地ビューで描画を行うことができると 00:05:02 - 00:05:04: いうことです 00:05:04 - 00:05:08: これに関しては次に紹介する動的 gi の 00:05:08 - 00:05:11: ルーメンで活用するのでその際にまた紹介 00:39:34 - 00:39:35: します 00:05:15 - 00:05:17: 姉とメッシュは従来のスタティック 00:05:17 - 00:05:20: メッシュを変換したりインポート時に指定 00:05:20 - 00:05:24: することで作成することができます 00:05:24 - 00:05:26: コンテンツブラウザの右クリックメニュー 00:05:26 - 00:05:32: から変換することができます 00:05:32 - 00:05:35: じゃないとツールから一括設定を行うこと 00:05:35 - 00:05:39: もできます 00:05:39 - 00:05:42: のツールは指定ポリゴン数を超える飯を 00:05:42 - 00:05:45: リスト化したり長いとか可能なメッシュを 00:05:45 - 00:05:49: フィルタリングすることが可能です 00:05:49 - 00:05:52: 現状ではマテリアルにピクセルデプス 00:05:52 - 00:05:55: オフセットなどが使用されているとないと 00:05:55 - 00:05:57: かすることができないためそういった 00:05:57 - 00:06:06: フィルタリングをすることも可能です 00:06:06 - 00:06:09: また逆になないとが有効化されていながら 00:06:09 - 00:06:12: ピクセルでぷそふセットが使われていて 00:06:12 - 00:06:15: エラーが発生しているものを一覧化したり 00:06:15 - 00:06:17: まとめて無効化することも可能となってい 00:06:19 - 00:06:21: プロジェクトの移行時などはこちらを活用 00:06:21 - 00:06:27: して一括設定を行うと良いかと思います 00:06:27 - 00:06:31: ナイトのクラスタ作成部分などの具体的な 00:06:31 - 00:06:33: アルゴリズムに関してはスライドに記載し 00:06:33 - 00:06:37: ている講演動画で開発者自身か紹介を行っ 00:06:37 - 00:06:40: ていますので気になる方は是非コチラを 00:06:40 - 00:06:45: ご覧頂ければと思います 00:06:45 - 00:06:53: 次は動的 gi のルーメンについてです 00:06:53 - 00:06:56: ルーメンが実現できることは動的な 00:06:56 - 00:06:59: グローバルイルミネーションとして間接光 00:06:59 - 00:07:01: の表現であったりディフレクションの描画 00:07:05 - 00:07:08: 従来はライトますなどを使ってライトを 00:07:08 - 00:07:11: 焼き付けるライトビュー度を行う必要が 00:07:11 - 00:07:13: ありました 00:07:13 - 00:07:16: 実際のランタイムの処理速度は比較的軽量 00:07:16 - 00:07:19: で行うことができますが 00:07:19 - 00:07:22: ライトビルド自体は時間的コストがかかり 00:07:22 - 00:07:25: またライトを動かしたりすると再度ビルド 00:07:25 - 00:07:28: が必要となるためできれば減らしたいもの 00:07:30 - 00:07:33: 入院5から搭載されたルーメンではこの 00:07:33 - 00:07:37: ベークがなしで非常に綺麗なライティング 00:07:37 - 00:07:43: の結果を得ることが可能です 00:07:43 - 00:07:45: ルーメンを有効化するためにはいくつかの 00:07:45 - 00:07:48: 設定がありますが 00:07:48 - 00:07:50: ダイナミックグローバルイルミネーション 00:07:50 - 00:07:53: メソッドをルーメンに設定すると関連する 00:07:53 - 00:08:00: 設定が自動で有効になります 00:08:00 - 00:08:04: さてーるー名を理解するためにルーメンの 00:08:04 - 00:08:08: 2つのステップについて紹介します 00:08:08 - 00:08:12: まず一つ目にルーメンは神全体の照明情報 00:08:12 - 00:08:14: を作るルー名刺というものを生成してい 00:08:18 - 00:08:20: ルー名シーンからこのライティング情報を 00:08:20 - 00:08:23: 取得し実際の死因としてライティングを 00:08:23 - 00:08:26: 行います 00:08:26 - 00:08:29: スライドの画像の左がるー名シーンを可視 00:08:29 - 00:08:32: 化したもので右がライティングしたシーン 00:30:14 - 00:30:18: となります 00:08:34 - 00:08:36: まずはこのようなるー名シーンの生成に 00:10:33 - 00:10:36: ついて見ていきます 00:08:41 - 00:08:44: ルー名シーンはまずメッシュを囲むカード 00:08:44 - 00:08:48: のようなものを生成しそのカードにはて 00:08:48 - 00:08:52: リアル情報をランタイムで書き出します 00:08:52 - 00:08:55: このカードで構成されるシーンで照明計算 00:08:55 - 00:08:57: を行いこれを surface キャッシュ 00:08:57 - 00:09:02: としています 00:09:02 - 00:09:04: このサーフェイスキャッシュをもとに 00:09:04 - 00:09:06: メッシューまたは distance 00:09:06 - 00:09:08: フィールドを表示しているものがるー名 00:09:08 - 00:09:12: シーンで可視化されているものとなります 00:09:12 - 00:09:14: 少し駆け足ですがルーメンシーンはこの 00:09:14 - 00:09:19: ようなものとなっています 00:09:19 - 00:09:22: 次は先ほど作成したルー名シーンを 00:09:22 - 00:09:25: トレースする方法についてですが 00:09:25 - 00:09:28: これには二つの選択できるオプションが 00:09:30 - 00:09:32: まず一つ目は環境に依存性がない 00:09:32 - 00:09:35: ソフトウェアレイトレーシング 00:09:35 - 00:09:37: 二つ目に対応 gpu が必要な 00:09:37 - 00:09:41: ハードウェアリートリーシングがあります 00:09:41 - 00:09:44: 先ほどルーメンシーン凛として表示に使っ 00:09:44 - 00:09:46: ていたのはソフトウェア d トレーシング 00:09:46 - 00:09:49: のディスタンスフィールドとなります 00:09:49 - 00:09:51: ハードウェア d とレースでは直接名手 00:09:51 - 00:09:54: がトレースできるので非常にメッシュの 00:09:54 - 00:09:55: 形状が 00:09:55 - 00:09:58: リスターすフィールドと比べてはっきりと 00:09:58 - 00:10:00: 出ていることが分かるかと思います 00:10:00 - 00:10:03: 今回のシティサンプルでは主にハード 00:10:03 - 00:10:05: ウェイリートレース機能が活用されており 00:10:05 - 00:10:08: その利点については後ほどご紹介していき 00:10:12 - 00:10:15: ここではルーメンの一連のフローについて 00:10:15 - 00:10:17: 簡易的に紹介しましたが 00:10:17 - 00:10:20: 省略してしまっている部分も多いので 00:10:20 - 00:10:23: さらに詳しく知りたい方は弊社篠山が公開 00:10:23 - 00:10:29: しているこちらのスライドがすすめです 00:10:29 - 00:10:31: さてここで少し 00:10:31 - 00:10:33: ルーメンとがないとメッシュの関連性に 00:10:36 - 00:10:40: ルーメンは7位と民主との相性が良く通常 00:10:40 - 00:10:43: の飯よりも効率的にルーメン身を構築する 00:21:03 - 00:21:05: ことができます 00:10:45 - 00:10:48: 理由としては少し前になないとの項目で 00:10:48 - 00:10:52: 紹介した高精細なメッシュからほしい必要 00:10:52 - 00:10:57: な詳細度で描画が可能ということです 00:10:57 - 00:11:00: そして独自のソフトやラスタライザにより 00:11:00 - 00:11:03: マルチビューで票が可能なこともルーメン 00:11:03 - 00:11:09: にとって非常に都合が良いとなっています 00:11:09 - 00:11:13: ここで実際にルーエンシーンが構築される 00:11:13 - 00:11:15: カーグキャプチャーの流れを見ていこうか 00:11:17 - 00:11:20: シチーサンプルだと全てがないとかされて 00:11:20 - 00:11:22: いるためシンプルなレベルで確認して 00:11:22 - 00:11:25: いければと思います 00:11:25 - 00:11:28: またルー名シーンは通常一度にすべてを 00:11:28 - 00:11:31: 更新しておらずタイミングをずらして更新 00:11:31 - 00:11:33: を行っているため 00:11:33 - 00:11:36: 今回は r .るー名シーン. 00:11:36 - 00:11:38: surface cash .母の 00:11:38 - 00:11:40: キャプチャーリフレッシュフラクションの 00:11:40 - 00:11:42: コンソールコマンドを実行することによっ 00:11:42 - 00:11:45: て更新頻度をあげてレンダードッグで 00:11:45 - 00:11:51: キャプチャーした要素を見ていきます 00:11:51 - 00:11:54: カードキャプチャの秒パスとしてはペース 00:11:54 - 00:11:58: パスの枚あたりで行われておりルーメン神 00:11:58 - 00:12:00: アップデート内のメッシュカード 00:12:00 - 00:12:05: キャプチャーがそれにあたります 00:12:05 - 00:12:08: まずは4位がないとメッシュの場合おいて 00:12:08 - 00:12:10: いきます 00:12:10 - 00:12:12: 確認しておくとカードのキャプチャーは 00:12:12 - 00:12:16: 基本的にメッシュを囲む方向からの 00:12:16 - 00:12:20: アルベド normal エミシ分デプス 00:12:20 - 00:12:22: ステンシルといった待て言える要素を 00:12:22 - 00:12:25: 書き出していきます 00:12:25 - 00:12:27: このカードがどのような形になっているか 00:12:27 - 00:12:29: の可視化は 00:12:29 - 00:12:32: r .るー名ビジュアライズカーブプレス 00:12:33 - 00:12:36: 面と一の高層るコマンドで表示することが 00:12:40 - 00:12:44: それではキャプチャパスを見ていきます 00:12:44 - 00:12:48: 今回のレベルだと床にあたる部分もしら 00:12:48 - 00:12:51: ないとメッシとなっておりそれが非常に 00:12:51 - 00:12:53: 多くドローが走っている様子が確認でき 00:13:00 - 00:13:02: 床があると比較が分かりづらかったので 00:13:02 - 00:13:05: 画像のように床を消して再度キャプチャを 00:13:05 - 00:13:11: 行っています 00:13:11 - 00:13:14: そうするとカードキャプチャパスが姫 00:13:14 - 00:13:18: ライト名手ノイズモデルのみになりました 00:13:18 - 00:13:21: かなり小さいですが運命神様の曲カード 00:13:21 - 00:13:24: キャプチャねん6方向に対してそれぞれ 00:13:24 - 00:13:25: ドローが走り 00:13:25 - 00:13:27: アルヴェずやノーマルといったものが 00:13:27 - 00:13:36: 書き出されていることが確認できます 00:13:36 - 00:13:39: 次に椅子のモデルをがないとメッシュ化し 00:13:39 - 00:13:42: たものを見ていきます 00:13:42 - 00:13:44: ラメイとメッシの場合は死なないとパスの 00:13:44 - 00:13:47: 後に実行される write draw 00:13:47 - 00:13:49: るー名メッシュキャプチャパスで 00:13:50 - 00:13:53: キャプチャーが行われており今回の場合 00:13:53 - 00:13:56: イスラドロー1回で各カード分量ができて 00:13:56 - 00:14:01: いることが確認できます 00:14:01 - 00:14:04: このようにないとメッシュはマルチビュー 00:14:04 - 00:14:07: つまりた方向のラスタライズが1回で 00:14:07 - 00:14:08: 行えるため 00:14:08 - 00:14:10: ドロー1回でカードをキャプチャすること 00:21:41 - 00:21:44: が可能です 00:14:12 - 00:14:14: 押さえておきたいポイントとしてこの 00:14:14 - 00:14:16: ドローコールが減るという利点もあるの 00:14:16 - 00:14:20: ですが今回見ていった中でカードとして秒 00:14:20 - 00:14:23: この場合非常に小さい領域の描画を行う 00:14:23 - 00:14:30: ことが多いというのも忘れてはいけません 00:14:30 - 00:14:33: 今回のか土曜のアトラスは512かける 00:14:33 - 00:14:36: 510人となっておりさらに実際の描画 00:14:36 - 00:14:39: 領域は小さくなっています 00:14:39 - 00:14:41: ナイトであればクラスターの lod に 00:14:41 - 00:14:44: より非常に軽量メッシュで描画することが 00:14:44 - 00:14:46: できますが nightwish では 00:14:46 - 00:14:49: ない場合通常の lod ミッシュが利用 00:14:49 - 00:14:52: されるためもし lod がなかったり 00:14:52 - 00:14:55: 軽量な色 d がない場合そのままの 00:14:55 - 00:14:58: モデルが利用されることになります 00:14:58 - 00:15:01: そのために逆に考えると現状をすべて 00:15:01 - 00:15:03: ガーナないと焦っとかできる状態ではない 00:15:03 - 00:15:07: ので c のないとメッシュの場合はエロ 00:15:07 - 00:15:12: d モデルの設定が重要となってきます 00:15:12 - 00:15:13: まとめると 00:15:13 - 00:15:17: ル件シーンを構築する上で重要なメッシュ 00:15:17 - 00:15:20: の間キャプチャパスにおいて長いと 00:15:20 - 00:15:24: メッシュは非常に有効なことがわかります 00:15:24 - 00:15:27: 今回紹介した教養から見るとをルーメンを 00:15:27 - 00:15:29: 利用する場合はいわゆるハイポリの 00:15:29 - 00:15:32: ミッシュではなくても長いとかを利用した 00:15:32 - 00:15:34: 方がより効率的にレンダリングできること 00:15:34 - 00:15:37: が期待できます 00:15:37 - 00:15:39: 実際にスティサンプルでもほとんどの 00:15:39 - 00:15:42: メッシュがないとかされたもので配置され 00:15:42 - 00:15:47: ています 00:15:47 - 00:15:50: ここまでルーメンの仕組みを紹介してき 00:15:50 - 00:15:52: ましたがそれを踏まえてルーメン向けの 00:15:52 - 00:15:56: メッシュ構築方法を少し紹介します 00:15:56 - 00:15:58: ルーメンでは surface キャッシュ 00:15:58 - 00:16:01: を作成するためにメッシを囲むカードが 00:16:01 - 00:16:05: 作られるためこれらの考慮が必要です 00:16:05 - 00:16:08: スライドで表示している左の画像は屋内の 00:16:08 - 00:16:12: モデルですが周りの壁や天井を一つにして 00:16:12 - 00:16:16: しまっているため壁のカードがうまく作ら 00:16:16 - 00:16:17: れておらず 00:16:17 - 00:16:20: 暗くなってしまっています 00:16:20 - 00:16:24: たして右の画像では壁床天井が分かれて 00:16:24 - 00:16:26: おりカードがうまく生成されているため 00:16:26 - 00:16:29: 意図通りのライティングが行われており 00:16:30 - 00:16:33: このように建物を1メッシュで作って 00:16:33 - 00:16:36: しまうとカードがうまく作れなくなる場合 00:16:36 - 00:16:39: がありますので奮起です 00:16:39 - 00:16:42: 日米天井などは的それぞれ発を分割する 00:43:17 - 00:43:20: ことをお勧めします 00:16:44 - 00:16:47: そしてルーン ac などのデバッグ b 00:16:47 - 00:16:50: を利用し適切にデータが構築されているか 00:16:50 - 00:16:53: 確認するとより一例な結果が得られるかと 00:16:53 - 00:16:56: 思います 00:16:56 - 00:16:59: 次はバーチャルシャドウもぷについて紹介 00:16:59 - 00:17:04: していきます 00:17:04 - 00:17:06: バーチャルシャドウマップは基本的な考え 00:17:06 - 00:17:07: 方として 00:17:07 - 00:17:10: タイル状に並べた高解像度のシャドウ 00:17:10 - 00:17:13: マップを使用することで寝室を向上させて 00:41:54 - 00:41:57: います 00:17:15 - 00:17:18: バーチャルテクスチャのように必要な時に 00:17:18 - 00:17:22: 必要な箇所を更新利用することによって車 00:17:22 - 00:17:24: 道のぷに高解像度を割り当てれるようにし 00:17:24 - 00:17:29: た手法です 00:17:29 - 00:17:31: あーちゃむシャドウマップに関しても必要 00:17:31 - 00:17:35: な詳細度での描画高速鳴らすたライダーと 00:17:35 - 00:17:38: いったなないとの愛特性との相性がよく 00:17:38 - 00:17:41: 組み合わせると通常のスタティック飯より 00:17:41 - 00:17:48: も高速に実行することができます 00:17:48 - 00:17:51: 実際に同じ環境でないとメッシュと日ない 00:17:51 - 00:17:55: と名手で車道デプス多数の処理速度を比較 00:17:55 - 00:17:57: してみました 00:17:57 - 00:18:00: さとパーソンのキャラクターと床の9分が 00:18:00 - 00:18:03: ある状態のレベルです 00:18:03 - 00:18:06: まずは椅子を1個配置したケースでの比較 00:18:06 - 00:18:09: 結果を紹介していますがじつはこの場合新 00:18:09 - 00:18:12: あないとメッシュのシャドウでプスが最も 00:18:12 - 00:18:17: 早い結果となりました 00:18:17 - 00:18:20: 内訳を確認したところなないとメッシュの 00:18:20 - 00:18:22: 場合固定コストがかかってしまう部分が 00:18:22 - 00:18:25: ありこのような結果となってしまっている 00:18:29 - 00:18:32: 次に椅子のモデルを1万個配置したシーン 00:18:32 - 00:18:35: で比較を行いました 00:18:35 - 00:18:37: 配置した椅子モデルが死なないと wish 00:18:37 - 00:18:43: の場合は4.42右秒かかっており対して 00:18:43 - 00:18:46: ないとメッシの場合は半分以下の約1.3 00:18:46 - 00:18:49: 3ミリ秒となりました 00:18:49 - 00:18:51: この時同じ条件 00:18:51 - 00:18:53: ドイツの処理を走るようにするために 00:18:53 - 00:18:57: キャッシュ機能はもう国家しています 00:18:57 - 00:18:59: またな nightwish の場合 00:18:59 - 00:19:01: キャッシュ機能を有効化した場合の結果も 00:19:01 - 00:19:04: 載せていますがその場合は0.69ミリ秒 00:19:04 - 00:19:10: とさらに半分になりました 00:19:10 - 00:19:11: いいな nightwish の場合の 00:19:11 - 00:19:13: プロファイル結果を見てみると 00:19:13 - 00:19:15: ラスタライズパスに負荷がかかってしまっ 00:19:15 - 00:19:17: ている状況のようでした 00:19:17 - 00:19:20: 長いとメッシュの場合は3分の1程度の 00:19:20 - 00:19:23: 秒数でラスタライズが行われており 00:19:23 - 00:19:25: なないと民主化が有効9なことがわかり 00:19:29 - 00:19:32: 今回は極端な例となってしまいましたが2 00:19:32 - 00:19:35: つの結果を並べました 00:19:35 - 00:19:38: 比較すると描画領域が増えた場合に長いと 00:19:38 - 00:19:42: の方が不可の増加が少なくしいないと 00:19:42 - 00:19:44: ミッシュの場合10倍の負荷アップする 00:19:44 - 00:19:47: ケースで長いと wish の場合は2倍 00:19:47 - 00:19:50: 程度に収まる結果となりました 00:19:50 - 00:19:53: なんか今回は比較のためちゃ市大府西まし 00:19:53 - 00:19:56: たが通常がキャッシュシステムを活用する 00:19:56 - 00:19:59: ことができるため実用上使用する物量では 00:19:59 - 00:20:02: ないと3種の方が好ましいケースが多く 00:20:02 - 00:20:06: なりそうです 00:20:06 - 00:20:08: 長くなってしまいましたらワールド 00:20:08 - 00:20:10: ファッションについても簡単に紹介して 00:20:10 - 00:20:14: おきます 00:20:14 - 00:20:16: root パーティションは大きな幕を 00:20:16 - 00:20:19: 構築するためのレベルストリーミング 00:20:19 - 00:20:21: システムです 00:20:21 - 00:20:24: これまでは手作業でマップをサブレベル2 00:20:24 - 00:20:27: 分割しプレイヤーが横断するときにマップ 00:20:27 - 00:20:30: をロードおよびアンロードする必要があり 00:39:26 - 00:39:27: ました 00:20:31 - 00:20:33: ワールドパーティションではレベルを 00:20:33 - 00:20:37: グリッド状に分割し距離に応じてそれらの 00:20:37 - 00:20:39: セルをロードおよびアンロードする自動 00:20:39 - 00:20:45: ストリーミングシステムを提供します 00:20:45 - 00:20:47: t サンプルを開くとワールド 00:20:47 - 00:20:49: パーティションのみにモップ的なものが 00:20:49 - 00:20:53: 確認できさらにセルを選択して選択した 00:20:53 - 00:20:55: 領域のみをロードしたりすることができ 00:20:56 - 00:20:59: ウィンドウがない場合は上部メニューから 00:20:59 - 00:21:00: world fashion editor 00:21:00 - 00:21:03: を選択するとこのウィンドウを表示する 00:21:05 - 00:21:08: セルに関しては一定のルールにより分割 00:21:08 - 00:21:11: する事ができ非常に機能が多いので詳しい 00:21:11 - 00:21:15: 解説はスペ割愛させていただきますが今回 00:21:15 - 00:21:18: 紹介する内容で重要な機能として 00:21:18 - 00:21:20: world party 省は10 d を 00:21:20 - 00:21:22: 生成することができるということがあり 00:21:25 - 00:21:28: 米中両 d は最低ローディのモデルで 00:21:28 - 00:21:31: インスタン寝具描画にしたり配置している 00:21:31 - 00:21:34: 梅酒をマジして開花したもので置き換える 00:21:34 - 00:21:36: ことで軽量化を行いますが 00:21:36 - 00:21:39: ワールドパーティションではせる上の 00:21:39 - 00:21:41: モデルを設定により自動でビルとすること 00:21:44 - 00:21:47: スライドで表示しているシーンでも遠方の 00:21:47 - 00:21:50: ビルなどこの h ロディーが表示されて 00:21:50 - 00:21:53: おり hld の表示を切るとをバッサリ 00:21:53 - 00:21:56: 消えてしまうのが確認できます 00:21:56 - 00:21:59: シティサンプルではこの he ローディー 00:21:59 - 00:22:01: ミッシュをるー名などにも活用しており 00:22:01 - 00:22:04: その内容についてはのチョコをご紹介し 00:22:07 - 00:22:10: 前置きが長くなってしまいましたが 00:22:10 - 00:22:12: シティーサンプルの最適化について見て 00:22:12 - 00:22:18: いこうかと思います 00:22:18 - 00:22:21: をのサンプルの基となったプロジェクトで 00:22:21 - 00:22:24: は当初 pc のみで検証を行っていた 00:22:24 - 00:22:27: こともあり消費メモリが莫大に多く 00:22:27 - 00:22:30: コンソールなどを考えたときにこれを削減 00:22:30 - 00:22:34: することが硬いとなっていました 00:22:34 - 00:22:37: 原因としては新機能自体が開発段階であっ 00:22:37 - 00:22:40: たことや映画品質のアセットを活用し 00:22:40 - 00:22:43: さらに非常に多くの良いスタンスを配置し 00:22:43 - 00:22:46: ていたことがあります 00:22:46 - 00:22:49: このような問題を解決し塩メモリを削減 00:22:49 - 00:22:55: するために様々な対策が行われました 00:22:55 - 00:22:57: このサンプルプロジェクトでは非常に多く 00:22:57 - 00:23:00: のインスタンスが利用されています 00:23:00 - 00:23:03: 多くのしたビッグ名刺はないとが利用され 00:23:03 - 00:23:06: ており町のすべての建物はインスタンス化 00:23:06 - 00:23:09: された小さなビルのブロックでできてい 00:23:10 - 00:23:13: 都市全体では約700万個のインスタンス 00:23:13 - 00:23:17: が使用されておりそのうち約150万個が 00:23:17 - 00:23:20: 常にロードされています 00:23:20 - 00:23:22: これらはワールドパーティションの 00:23:22 - 00:23:24: ストリーミングシステムを使用して 00:23:24 - 00:23:27: 実現しています 00:23:27 - 00:23:29: またデートレーシングのアクセレーション 00:23:29 - 00:23:31: ストラクチャー内にも10万個以上の 00:23:31 - 00:23:34: インスタンスが存在しています 00:23:34 - 00:23:36: このインスタンスではメモリと 00:23:36 - 00:23:39: パフォーマンスの問題を引き継ぐに 00:23:39 - 00:23:41: 引き起こします 00:23:41 - 00:23:44: 簡単な例を挙げるとインスタンスごとに1 00:23:44 - 00:23:48: バイト増加するだけで合計1点を mb の 00:23:48 - 00:23:49: 商品になり 00:23:49 - 00:23:52: インスタンスごとにフロート4かける4の 00:23:52 - 00:23:55: マトリックスを保存すると100 mb の 00:23:55 - 00:24:00: メモリ消費になります 00:24:00 - 00:24:03: とも大きな部分はロードされた各 00:24:03 - 00:24:05: インスタンスごとに使用される f 00:24:05 - 00:24:08: プリミティブインスタンスデータでした 00:24:08 - 00:24:11: 言い5のアーリーアクセスバージョンで 00:24:11 - 00:24:14: 385バイト消費していたところ 00:24:14 - 00:24:18: 48倍とまで圧縮しました 00:24:18 - 00:24:20: 多くのデータは削除されるかオプションの 00:24:20 - 00:24:23: データオブジェクトに格納され本当に必要 00:24:23 - 00:24:27: な時だけメモリを消費するようにしました 00:24:27 - 00:24:30: さらに最適化が行われ gpu シーン 00:24:30 - 00:24:33: から直接トランスフォームデータを再利用 00:24:33 - 00:24:35: するといったことも行われました 00:24:35 - 00:24:37: このようにデータをうまくパックすること 00:24:37 - 00:24:41: で約500 mb を節約することができ 00:24:46 - 00:24:49: 次はルーフ面の設定についてです 00:24:49 - 00:24:51: シティーサンプルのルーメンではハード 00:24:51 - 00:24:53: ウェイリートレーシングが使用されており 00:24:53 - 00:24:56: このモードへの再点火が多く行われてい 00:24:58 - 00:25:00: ハードウェイリートレイル有効の設定の 00:25:00 - 00:25:03: 背景にはいくつか理由があるので順を追っ 00:25:03 - 00:25:07: て紹介していきます 00:25:07 - 00:25:09: ハードウェイリートレーシングを選択した 00:25:09 - 00:25:12: 大きな理由としては distance 00:25:12 - 00:25:14: フィールドの消費メモリが非常きゃ多かっ 00:25:14 - 00:25:17: たということがあります 00:25:17 - 00:25:20: ルーメンの紹介の時に説明させていただき 00:25:20 - 00:25:21: ましたが 00:25:21 - 00:25:23: ソフトウェアレイトレーシングを行う場合 00:25:23 - 00:25:25: メッシュデータとは別に distance 00:25:25 - 00:25:28: フィールドが必要となります 00:25:28 - 00:25:30: これが非常にメモリを圧迫する原因となっ 00:25:31 - 00:25:34: ていました 00:25:34 - 00:25:37: のため負荷や環境依存となってしまう問題 00:25:37 - 00:25:39: はありますが 00:25:39 - 00:25:41: ハード a day トレーシングを活用 00:25:42 - 00:25:44: じっサンスフィールドは使用せずメッシュ 00:25:44 - 00:25:47: 描画行う方法が言うようなことがありまし 00:25:49 - 00:25:51: スンジョ記載のコンソールコマンドを設定 00:25:51 - 00:25:53: することでランタイムで時スタンス 00:25:53 - 00:25:56: フィールドを使用せずメモリを減らすこと 00:25:56 - 00:25:58: が可能となり 00:25:58 - 00:26:01: こちらの設定で900 mb 以上の 00:26:01 - 00:26:07: メモリ消費量を減らすことができました 00:26:07 - 00:26:10: 次はルーメンのカードについてです 00:26:10 - 00:26:13: 先ほど紹介したようにルーメン神は 00:26:13 - 00:26:15: オブジェクトから作られるカードをもとに 00:26:15 - 00:26:18: 構築されています 00:26:18 - 00:26:21: この枚数が多いと消費メモリや方針頻度に 00:26:21 - 00:26:25: 影響するため注意する必要があります 00:26:25 - 00:26:27: シティサンプルではこのカードを減らす 00:26:27 - 00:26:30: ための最適化がいくつか行われているので 00:26:30 - 00:26:33: ここで紹介していきます 00:26:33 - 00:26:36: シチーサンプルの建物はインスタンスの米 00:26:36 - 00:26:38: 種の組み合わせで配置されているものが 00:26:38 - 00:26:40: 多くなっています 00:26:40 - 00:26:42: しかしこの in スターズメッシュ全て 00:26:42 - 00:26:45: に個別でカードを生成するとカードの枚数 00:26:45 - 00:26:51: が非常に多くなってしまう問題があります 00:26:51 - 00:26:54: どこでレイトレーシンググループ id を 00:26:54 - 00:26:58: 基準に味を行い大賞メッシュが一緒に囲ま 00:26:58 - 00:27:00: れるようなカードの生成がシティサンプル 00:27:00 - 00:27:06: では行われています 00:27:06 - 00:27:08: メッシュカードマージコンポーネントと 00:27:08 - 00:27:10: いう設定で切り替えることが可能で 00:27:10 - 00:27:14: スライドの画像左が建物全体を囲んだ 00:27:14 - 00:27:16: カードが生成されているのに対して 00:27:16 - 00:27:19: 右の画像はメッシュそれぞれでカードが 00:27:19 - 00:27:22: 生成されているのが見えるかと思います 00:27:23 - 00:27:25: インスタンスを組み合わせた非常に大きい 00:27:25 - 00:27:28: ビルなどはこちらの機能を活用してマジ 00:27:28 - 00:27:31: することでカードの数を削減することが 00:27:35 - 00:27:37: 北京のスライドはカードのも味の効果を 00:27:37 - 00:27:40: ルーメンシーンのスタートから比較した 00:27:40 - 00:27:42: 様子です 00:27:42 - 00:27:44: こういったスタート情報は r ドルー年 00:27:44 - 00:27:47: 震度とダンプスタート一応 00:27:47 - 00:27:49: コンソールコマンドとして実行することで 00:27:49 - 00:27:51: 確認することができます 00:27:51 - 00:27:54: 出力した情報を比較してみるとグループ 00:27:54 - 00:27:57: id によって味コンポーネントを設定し 00:27:57 - 00:28:00: た場合多くのインスタンスがマジされて約 00:28:00 - 00:28:03: 1万ほどだったカードが約2000枚程度 00:28:03 - 00:28:05: に削減されています 00:28:05 - 00:28:07: バックで示しているメッシュカードは 00:28:07 - 00:28:10: オブジェクトに対応するものでメッシュ 00:28:10 - 00:28:13: カードが複数のカードを保持している形 00:28:14 - 00:28:17: オブジェクトごとのマジが行われたことに 00:28:17 - 00:28:19: よって wish カードは姫さらに全体 00:28:19 - 00:28:22: のカード数も幅に削減されたことが分かり 00:28:24 - 00:28:26: このカードに関してですがルーム名シーン 00:28:26 - 00:28:29: におけるカーズの更新はフレーム分散が 00:28:29 - 00:28:33: 行われているため直接の負荷の咲く影響と 00:28:33 - 00:28:37: いうよりは更新頻度に影響があります 00:28:37 - 00:28:39: ライティングのコーヒーが満たされている 00:28:39 - 00:28:42: のであればできるだけ少ないほうが 00:28:43 - 00:28:48: こういった対応が重要となってきます 00:28:48 - 00:28:51: 次のデータはメモリの比較となりますが 00:28:51 - 00:28:54: マジによってカードが減ったことにより 00:28:54 - 00:28:57: 各種消費メモリも大幅に削減できている 00:28:57 - 00:28:58: ことがあります 00:28:58 - 00:29:01: このようにシティーサンプルのような配置 00:29:01 - 00:29:04: してあるインスタンスが多い場合は一定の 00:29:04 - 00:29:07: 塊でも味する事は非常に効果があることが 00:29:07 - 00:29:10: わかります 00:29:10 - 00:29:12: またこのグループ id によって8 00:29:12 - 00:29:15: レーシングのかリングも行われています 00:29:15 - 00:29:18: 適切に設定することで建物単位でのか 00:29:18 - 00:29:21: リングを行うことが可能となりますので 00:29:21 - 00:29:23: インスタンス数が多い場合こちらの設定が 00:29:23 - 00:29:27: 非常に有効です 00:29:27 - 00:29:30: 次はルーメンシーンのカード lod に 00:29:30 - 00:29:32: ついて紹介します 00:29:32 - 00:29:34: ルーメンシーンのカードはそれ自体に 00:29:34 - 00:29:35: lod 思っており 00:29:35 - 00:29:38: シティーサンプルではゼロのみを利用して 00:29:39 - 00:29:43: スライド左の画像が lo d 1の場合 00:29:44 - 00:29:47: こちらはカードの上限値に合わせて片面に 00:29:47 - 00:29:51: 複数枚が生成されているのに対し 00:29:51 - 00:29:53: スライド右の画像の lo d 0では 00:29:53 - 00:29:56: ほぼバウンディングボックスのように6面 00:29:56 - 00:29:58: で囲まれています 00:29:58 - 00:30:01: 繰り返しになりますがカードの更新は分散 00:30:01 - 00:30:04: されているため直接の負荷の影響という 00:30:04 - 00:30:08: よりは更新頻度に影響があります 00:30:08 - 00:30:11: 体の色 d を0-3と設定することで 00:30:11 - 00:30:14: カードの数を少しでも減らすといった対応 00:30:18 - 00:30:21: 実際に lod を制限した場合のルーム 00:30:21 - 00:30:24: 名シーンのスタッドを見ています 00:30:24 - 00:30:27: lod 地を使用する場合とウィロー d 00:30:27 - 00:30:31: 0のみに制限した場合では全体のカーズの 00:30:31 - 00:30:37: 数が約2800枚から約2200枚とい 00:30:37 - 00:30:40: 10%ほど削減できていることが分かり 00:30:42 - 00:30:45: ちなみにこれは少し前に紹介した 00:30:45 - 00:30:48: インスタンスのマージは行われている状態 00:30:48 - 00:30:51: のデータで今回の場合 wish カード 00:30:51 - 00:30:55: の中で削減が行われているのでメッシュ 00:30:55 - 00:30:58: カードの数は減っていませんが全体の 00:30:58 - 00:31:00: カードの数としては減っているといった 00:31:00 - 00:31:04: 状況となりますん 00:31:04 - 00:31:06: メモリも見てみます 00:31:06 - 00:31:09: カートが削減できているのでインスタンス 00:31:09 - 00:31:11: の麻雀ほどではないですが 00:31:11 - 00:31:14: 消費メモリを全体的に削減できていること 00:31:14 - 00:31:18: が分かります 00:31:18 - 00:31:21: 次はパーフィールド機能について見てみ 00:31:22 - 00:31:24: こちらはルーメンシーンを構築する際に 00:31:24 - 00:31:28: 連携に h lod を活用するといった 00:31:28 - 00:31:30: ものです 00:31:30 - 00:31:32: ルメンシーンに関しては前日させて頂いた 00:31:32 - 00:31:35: ようにすべてのものを対象にしてしまうと 00:31:35 - 00:31:38: カードが増えてしまいそして更新スピード 00:31:38 - 00:31:42: が遅くなってしまうので円形に関しては 00:31:42 - 00:31:44: hr 王 d データを活用することで 00:31:44 - 00:31:48: 根治するというアイディアです 00:31:48 - 00:31:50: r .ルーメンシーンファーフィールドと 00:31:50 - 00:31:52: いうコンソールも&で知能の大附を 00:31:52 - 00:31:55: 切り替えることができます 00:31:55 - 00:31:58: 手前が7位とメッシュ後ろのビルなどが 00:31:58 - 00:32:01: ファーフィールドによるるー名シーンと 00:32:01 - 00:32:03: なっておりこの機能に関してはワールド 00:32:03 - 00:32:06: パーティションの h 021そして 00:32:06 - 00:32:08: ハード ad トレイの質設定が必要と 00:32:08 - 00:32:11: なってしまいますが負荷を抑えつつ遠方 00:32:11 - 00:32:14: までルーメンの gi が実現することが 00:32:14 - 00:32:16: 可能ですん 00:32:16 - 00:32:19: 特にこのシーンだと地面道路に写っている 00:32:19 - 00:32:22: 水たまりに遠方のビルが写っている 00:32:22 - 00:32:24: twitter 効果がわかるかと思い 00:32:28 - 00:32:30: 次はファーフィールド関連の設定について 00:32:32 - 00:32:34: 通常のメッシュのルーン名シーンの距離と 00:32:34 - 00:32:37: パーフィールドの対応距離に関しては 00:32:37 - 00:32:40: ポストプロセスに含まれる max と 00:32:40 - 00:32:41: リース destin すっデフォルト 00:32:41 - 00:32:43: 200m から 00:32:43 - 00:32:45: コンソールコマンドで実行できるワールド 00:32:45 - 00:32:47: っとるー名シーンファーフィールド 00:32:47 - 00:32:50: マックスとレースディスタンスこちらは 00:32:50 - 00:32:52: デフォルト1キロの間で 00:32:52 - 00:32:55: 設定されています 00:32:55 - 00:32:58: 対象物をる迷信に含める設定はルーメン 00:32:58 - 00:33:01: 心理ティールを基準に行われておりこちら 00:33:01 - 00:33:04: の数字を上げると小さいメッシュなども 00:33:04 - 00:33:06: 含まれるようになります 00:33:06 - 00:33:09: また1フレームにどれだけ更新をするかと 00:33:09 - 00:33:11: いったパラメーターは 00:33:11 - 00:33:13: ワールド true 名シーンちょっと 00:33:13 - 00:33:14: surface cash .カード 00:33:15 - 00:33:16: キャプチャーリフレッシュファッションで 00:33:16 - 00:33:19: 調整が可能です 00:33:19 - 00:33:21: 求められるライティングの更新速度や 00:33:21 - 00:33:23: ビジュアル郡ティといったものは 00:33:23 - 00:33:26: プロジェクトによって異なってきますので 00:33:26 - 00:33:29: 物量による負荷などを見つつバランスを 00:33:29 - 00:33:31: 取った設定を探っていくといったことが 00:33:31 - 00:33:35: 必要になるかと思います 00:33:35 - 00:33:37: その他艇トレーシング向けコンソール 00:33:37 - 00:33:39: コマンドの一覧です 00:33:39 - 00:33:42: ヒッチ対策やかリングのための設定が多く 00:33:42 - 00:33:45: 用意されており投入する対象が多くなって 00:33:45 - 00:33:47: しまうのを防ぐためにビジュアルとの 00:33:47 - 00:33:52: 兼ね合いで設定すると良いかと思います 00:33:52 - 00:33:55: 次はバーチャルテクスチャーの活用につい 00:33:55 - 00:33:57: てです 00:33:57 - 00:33:59: バーチャルテクスチャーは考え方として 00:33:59 - 00:34:03: ライトの基となっているような技術で非常 00:34:03 - 00:34:06: に大きいテクスチャーなど必要なサイズで 00:34:06 - 00:34:09: ストリーミングする仕組みです 00:34:09 - 00:34:12: スウェードの画像はシチーサンプル上で 00:34:12 - 00:34:14: 読み込んでいるバーチャルセックスチャー 00:34:14 - 00:34:17: のグリッドを可視化したものですがほぼ 00:34:17 - 00:34:23: 全域で使われていることが分かります 00:34:23 - 00:34:25: バーチャルテクスチャに関する設定は 00:34:25 - 00:34:27: こちらになります 00:34:27 - 00:34:29: プレイ6もとに更新する数などの設定を 00:34:29 - 00:34:32: 行っており今回プロジェクト全体 a 00:34:32 - 00:34:34: virtual ディクシャを利用して 00:34:34 - 00:34:37: いるためデフォルトの値から大幅に数値を 00:34:37 - 00:34:40: 大きくして設定している状態となってい 00:34:42 - 00:34:44: プロジェクトでバーチャルテクスチャを 00:34:44 - 00:34:47: 全体的にご使用される場合はこちらの設定 00:34:47 - 00:34:53: を参考にしていただければと思います 00:34:53 - 00:34:55: バーチャルテクスチャーはストリーミング 00:34:55 - 00:34:57: を行うといった性質上 00:34:57 - 00:35:00: ぱっと切り替えられた時にボケたものが 00:35:00 - 00:35:02: 表示されたりといった足を付けるべき点が 00:35:04 - 00:35:07: この仕組みなどを確認したい方はこちらの 00:35:07 - 00:35:10: 記事が参考になりますのでぜひご確認 00:35:10 - 00:35:14: いただければと思います 00:35:14 - 00:35:18: 次は動的なオブジェクトについてです 00:35:18 - 00:35:22: レベル上にある動的なオブジェクトは適宜 00:35:22 - 00:35:24: 描画負荷が軽量になるように切り替えが 00:35:27 - 00:35:30: 車などは必要となる直前まではないと 00:35:30 - 00:35:33: メッシュで吃音になった時に助けるた 00:35:33 - 00:35:36: メッシュに置き換えられます 00:35:36 - 00:35:39: 左の動画で表示しているように走っている 00:35:39 - 00:35:43: 車も7位とメッシュで描画しており車同士 00:35:43 - 00:35:47: がぶつかったとき変形の表示が必要な時に 00:35:47 - 00:35:48: 助けるため 00:35:48 - 00:35:51: 日当たり木の画像では車体が黒くなってい 00:35:51 - 00:35:53: ますがこれが助けるためメッシュに 00:35:53 - 00:35:58: 置き換えられている状態です 00:35:58 - 00:36:01: 文集などの人に関してはプレイヤーに近い 00:36:01 - 00:36:03: ものに関しては助けるダルビッシュとなっ 00:36:03 - 00:36:05: ていますが 00:36:05 - 00:36:07: 少し離れるとアニメーションの 00:36:07 - 00:36:09: テクスチャーにベークした static 00:36:09 - 00:36:12: メッシュで表示しています 00:36:12 - 00:36:13: この助けるたるメッシュのアニメーション 00:36:13 - 00:36:16: をテクスチャにベークするツールとして何 00:36:16 - 00:36:19: 無痛テクスチャープラグインが用意されて 00:36:21 - 00:36:23: そしてこれらはますフレームワークによっ 00:36:23 - 00:36:29: て全体の挙動が管理されています 00:36:29 - 00:36:32: 数フレームワークに関しては一つ前の 00:36:32 - 00:36:34: セッションとなりますが弊社桑野による 00:36:34 - 00:36:37: 解説が行われていますのでどちらの資料 00:36:37 - 00:36:43: なども是非ご覧いただけますと幸いです 00:36:43 - 00:36:45: その他リソースサイズの最適化として処理 00:36:45 - 00:36:47: 速度の面で通常を保持している 00:36:47 - 00:36:49: インディックスバッファーなどを開放する 00:36:49 - 00:36:52: 設定が行われています 00:36:52 - 00:36:55: これらの設定を行うことでプロジェクトで 00:36:55 - 00:36:58: は400 mb のほどの削減を確認して 00:36:58 - 00:37:00: おり今後のエンジンバージョンアップで 00:37:00 - 00:37:04: デフォルト設定も検討している状態です 00:37:04 - 00:37:06: プロジェクトでメモリがカツカツといった 00:37:06 - 00:37:12: 場合一度ご確認いただければと思います 00:37:12 - 00:37:15: それではシティサンプルの最適化について 00:37:15 - 00:37:17: 振り返ってみます 00:37:17 - 00:37:19: まずシティーサンプルはインスタンス数が 00:37:19 - 00:37:23: 非常に多く gi を実現しているる名 00:37:23 - 00:37:26: シーンのカードにはナイターセットが最適 00:37:26 - 00:37:30: っていうことそしてこのカードが多いほど 00:37:30 - 00:37:32: 更新頻度が低くなってしまうため 00:37:33 - 00:37:36: マジア lod の削減対象範囲の調整に 00:37:36 - 00:37:40: よってカードを削減する方法を紹介させて 00:37:40 - 00:37:44: いただきました 00:37:44 - 00:37:47: 次は最後の項目として言いパイプにおける 00:37:47 - 00:37:49: 開発 tips をいくつか紹介させて 00:37:54 - 00:37:56: まずはなナイトフォールバックメッシュ 00:37:56 - 00:37:59: 生成の改善についてです 00:37:59 - 00:38:02: 従来プロキシー別種と呼ばれていたものが 00:38:02 - 00:38:04: ホールバックメッシュという名前に詠唱 00:38:04 - 00:38:07: 変更が行えました 00:38:07 - 00:38:10: これはないとが利用できない環境やレート 00:38:10 - 00:38:12: 0時に使われるメッシュです 00:38:12 - 00:38:15: 言い5のアーリーアクセス版ではこの 00:38:15 - 00:38:17: フォールバックメッシュを作成する際に 00:38:17 - 00:38:20: プロクシートライアングルパーセントと 00:38:20 - 00:38:22: いう元メッシュから何パーセントの三角形 00:38:23 - 00:38:26: を残すかといった値を設定することがあり 00:38:26 - 00:38:27: できました 00:38:27 - 00:38:31: 少し挙動が特殊でデフォルトの値が0で 00:38:31 - 00:38:35: この時の動作が三角形の数が2戦以下に 00:38:35 - 00:38:40: なるように調整されていました 00:38:40 - 00:38:42: 押し例を挙げてみると元のメッシュが 00:38:42 - 00:38:45: 100万ポリフォンだとして10%を指定 00:38:45 - 00:38:47: すると10万ポリゴン 00:38:49 - 00:38:51: 0を指定すると2000ポリゴンになると 00:38:51 - 00:38:55: いったものでした 00:38:55 - 00:38:58: ue 5.0からはコールバックディ 00:38:58 - 00:39:00: ネイティブエラーという設定が追加され 00:39:02 - 00:39:05: これは表現席を扱うからメンターで重要度 00:39:05 - 00:39:08: が低いところから削除 00:39:08 - 00:39:11: 虚像としてはポリゴンの密度と持ちつず 00:39:11 - 00:39:15: 削減といったことができます 00:39:15 - 00:39:17: 従来あったオプションの三角形をす 00:39:17 - 00:39:20: パーセントしてで減らす場合もとがハイ 00:39:20 - 00:39:23: ポリの場合やローポリモデルが混ざって 00:39:23 - 00:39:26: いる場合それぞれ調整が必要となってい 00:39:27 - 00:39:31: ここで a として堂々程度のスケール 00:39:31 - 00:39:34: 大きさのモデルでポリゴン数に下がったと 00:39:35 - 00:39:38: そうした場合だいたい1万ポリゴンあれば 00:39:38 - 00:39:41: 結衣って言った時に100万ポリフォンの 00:39:41 - 00:39:44: モデルは1%を指定する必要がありますし 00:39:44 - 00:39:47: 10万ポリゴンのモデルは10%を指定 00:39:47 - 00:39:51: する必要が出てきます 00:39:51 - 00:39:53: 今回追加されたフォールバックおり a 00:39:53 - 00:39:56: ティグエラーを指定すると同じサイズ同一 00:39:56 - 00:39:59: パラメーターで同程度のポリゴン数の飯 00:39:59 - 00:40:01: oo 生成可能です 00:40:01 - 00:40:04: どちらのモデルにも一般戦と位置を指定 00:40:04 - 00:40:06: するだけでおおよそ同じディティールの 00:40:06 - 00:40:11: モデルを生成することができます 00:40:11 - 00:40:14: 実際に目指すキャンのモデルデータで試し 00:40:14 - 00:40:18: 比較したデータが次のスライドとなります 00:40:18 - 00:40:21: 150万ぽみごんと100万ポリはを持つ 00:40:21 - 00:40:26: モデルだどちらも17,000弱程度の 00:40:26 - 00:40:32: モデルに楽勝することができました 00:40:32 - 00:40:34: 以前のパーセント指定の設定も残ってい 00:40:34 - 00:40:38: ますが挙動に統一性を持たせるために 00:40:38 - 00:40:40: デフォルト100%から直接指定する 00:40:40 - 00:40:44: かたちとなりました 00:40:44 - 00:40:46: またホールバッグメッシュだけではなく 00:40:46 - 00:40:49: ディスク上のないとメッシュもこちらの 00:40:49 - 00:40:51: 機能で縮小かリアクションすることが可能 00:40:53 - 00:40:55: 非常に多くのポリゴンを持つメッシを表示 00:40:55 - 00:40:58: することが可能になりましたが現実問題と 00:40:58 - 00:41:00: してディスクに収まるサイズに 00:41:00 - 00:41:03: リダクションする必要があります 00:41:03 - 00:41:05: nightwish を削減したい場合は 00:41:05 - 00:41:07: こちらの設定をご確認いただければと思い 00:41:10 - 00:41:13: 次はアンディあるインサイトによるメモリ 00:41:13 - 00:41:16: プロファイリングについてです 00:41:16 - 00:41:17: パフォーマンスプロファイルアートしての 00:41:17 - 00:41:20: あんにゃりんサイトは4.26で初めて 00:41:20 - 00:41:23: リリースされました 00:41:23 - 00:41:26: 結衣香店でのでは pc とコンソールで 00:41:26 - 00:41:28: のメモリプロファイリングのサポートが 00:41:28 - 00:41:30: 追加されました 00:41:30 - 00:41:32: このツールはゲーム内行われたすべての 00:41:32 - 00:41:35: 割り当てに関する多くの情報を提供して 00:41:35 - 00:41:38: くれるツールです 00:41:38 - 00:41:40: 各アロケーションのコールスタックを追跡 00:41:40 - 00:41:42: するのでタイムライン上の特定のポイント 00:41:42 - 00:41:45: における非常に詳細なスナップショット 00:41:45 - 00:41:49: データを得ることができメモリの増加減少 00:41:49 - 00:41:52: 短期間が終わり attic 寿命など 00:41:52 - 00:41:54: 調査をする便利なプリセットも用意されて 00:41:57 - 00:42:00: 確認したところ現在言い号店0.3の 00:42:00 - 00:42:03: windows 上では計測できない問題 00:42:03 - 00:42:06: を確認しておりこちらは修正大宇宙となっ 00:42:06 - 00:42:08: ております 00:42:08 - 00:42:11: コンソール上では機体の引数にて確認する 00:42:11 - 00:42:12: ことができますので 00:42:12 - 00:42:15: メモリをプロファイルする際はこちらお 00:42:15 - 00:42:20: 試しいただければと思います 00:42:20 - 00:42:22: andy re サイトでフェンダー 00:42:22 - 00:42:24: グラフ rdg の挙動を追うことも可能 00:42:24 - 00:42:26: になっています 00:42:26 - 00:42:29: 今回のプロジェクトでも非常に活用されて 00:42:29 - 00:42:32: おりプレイ6全体でのリソース使用状況を 00:42:32 - 00:42:34: 把握できます 00:42:34 - 00:42:37: rdg の引数で有効化することができ 00:42:37 - 00:42:40: レンダースレッドと同時に表示すると見 00:42:41 - 00:42:44: 各種スコープパスそしてリソースを表示 00:42:44 - 00:42:46: することが聞けます 00:42:46 - 00:42:48: こちらもぜひご活用いただければと思い 00:42:50 - 00:42:52: フィギュアメモリーのトラッキングは 00:42:52 - 00:42:54: アンディオールインサイトで計画されてい 00:42:54 - 00:42:55: ますが 00:42:55 - 00:42:57: 人時点ではまだ利用できずスタッドや 00:42:57 - 00:43:01: ダンプツールズで見る必要があります 00:43:01 - 00:43:03: 言い5の各種機能によってレンダリングの 00:43:03 - 00:43:07: リソースは非常に多くなっておりこれらの 00:43:07 - 00:43:09: コマンドを通じてメモリ budget や 00:43:09 - 00:43:12: 問題部分を知る手がかりとなります 00:43:12 - 00:43:14: プロジェクトの v アム gpu の 00:43:14 - 00:43:17: メモリが気になる場合はこちらで確認する 00:43:20 - 00:43:21: 第5話ちゃったーーーーの内容になって 00:43:21 - 00:43:25: しまいましたがまとめに入ります 00:43:25 - 00:43:28: t サンプルは言い5の機能がふんだんに 00:43:28 - 00:43:30: 使われて作られています 00:43:30 - 00:43:34: 最適化などを検討する際にはぜひ実際に 00:43:34 - 00:43:36: サンプルを見ていただけると参考になるか 00:43:38 - 00:43:40: またオートにも述べさせていただきました 00:43:41 - 00:43:44: 本公演では言い5の描画周りの新機能は 00:43:44 - 00:43:47: ない人が非常に活用されていることを紹介 00:43:47 - 00:43:49: しました 00:43:49 - 00:43:52: 連盟など新機能を使用する場合はお使い 00:43:52 - 00:43:54: いただいているメッシュアセットのなない 00:43:54 - 00:43:58: とかを検討していただければ幸いです 00:43:58 - 00:44:01: 高校へは以上となります最後までご清聴 00:44:01 - 00:44:04: いただきありがとうございました

Unreal Engine JP

※本サイトに掲載されているチャンネル情報や動画情報はYouTube公式のAPIを使って取得・表示しています。

Timetable

動画タイムテーブル

動画数:403件