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 5 - City Sampleからみる描画の最適化【CEDEC 2022】
Unreal Engine JP
※本サイトに掲載されているチャンネル情報や動画情報はYouTube公式のAPIを使って取得・表示しています。
Timetable
動画タイムテーブル