SlideShare a Scribd company logo
1 of 104
UNREAL FEST WEST 2018
Unreal Fest West 2018
UNREAL FEST WEST 2018
Fortniteを支える技術
Epic Games Japan – Yutaro Sawada
資料は後日公開します
UNREAL FEST WEST 2018
• Fortniteについて
• Fotnite Battle Royaleを実現するために
• ライティングとシャドウについて
• LODとHLOD
• アニメーション
• Significance Manager
• まとめ
• 付録
目次
Fortniteについて
UNREAL FEST WEST 2018
3月に日本で配信開始。
TPSのアクションビルディングゲーム
UNREAL FEST WEST 2018
大きく分けて2つのモードがあります
• Save the world(世界を救え)
• オンラインで協力して敵と戦う
• Battle Royale(バトルロイヤル)
• 100人対戦
• プレイヤー同士で戦う
Fortniteについて
Battle Royaleの話がメイン
UNREAL FEST WEST 2018
• 100人が同時に
ネットワーク上で対戦
• 2.5 km x 2.5 kmの
広いマップ
• 建物を壊したり、
資材を集めて、
新しく建築することができる
Fortnite Battle Royaleの特徴
UNREAL FEST WEST 2018
マルチプラットフォーム
Windows, Mac, PS4, XBOXONE, iOS, Android...
(Android版は現在開発中で未リリース)
• ハードウェア毎にスペックがバラバラなので
最適化が必要に
• 描画のクオリティやエフェクトなど、
スケーリング可能なパラメーター設計が必要になった
Fortnite Battle Royaleの特徴
UNREAL FEST WEST 2018
• 話すこと
• 描画周りが中心
• ライティング
• アセットリダクション
• アニメーション
• 話さないこと
• ネットワーク
• AI
今日話すこと、話さないこと
Fotnite Battle Royaleを
実現するために
課題
100人対戦かつ、建物の破壊や建築といった
コンセプトを実現させる
見た目を保って如何に処理を端折るか
UNREAL FEST WEST 2018
• ライティング
• アセットリダクション
• アニメーション
• Significance Manager
Fotnite Battle Royaleを実現するために
ライティング
Battle Royaleの特徴①
建物などのフィールド上のモノを壊せる
昼や夜、ストームなどライティングが変わる
事前計算した静的なLightingが使えないことから
すべて動的なライティング
UNREAL FEST WEST 2018
• Project SettingsのRenderingから、
Allow Static Lightingのチェックをオフ
Static Light(静的なライト)をオフにする方法
UNREAL FEST WEST 2018
Cascade Shadow Map(CSM)
×
Ray-traced distance field shadows(RTDF)
シャドウについて
UNREAL FEST WEST 2018
△
UE4で通常使用しているシャドウ
利点
• 背景に配置されている静的オブジェクトから、
アニメーションしている動的なオブジェクトまで、
静的/動的関係なくオブジェクトのシャドウを
動的に生成することが可能
• 品質がそこそこ良い
注意点
• 描画にコストがかかる
Cascade Shadow Map(CSM)について
UNREAL FEST WEST 2018
事前計算した3Dテクスチャを使用するシャドウ
利点
• CSMよりもコストが安く描画できる
• CSMより30%~50%
Ray-traced distance field shadows(RTDF)について
UNREAL FEST WEST 2018
△注意点
• エディタ上で事前計算しメッシュがデータを保持する
(Ambient Occulusionでも利用する)
• 歪んだスケールやアニメーションは使用できない
• 細いオブジェクトだとレイが抜けて影がきれいにでない
• メッシュ毎にメモリのコストが必要
Ray-traced distance field shadows(RTDF)について
UNREAL FEST WEST 2018
両方の利点を活かし、
• 手前のモノはCSM
• 遠くのモノはRTDF
シャドウについて
CSM shadows
RTDF shadows
RTDFの使い方
UNREAL FEST WEST 2018
• まずProject SettingsのRenderingから、
Generate Mesh Distance Fieldsを有効にする
• Eight Bit Mesh Distance Fieldsを有効にすると
保存データが16bitから8bitになる
• シーンの規模などによっては
アーティファクトが発生する可能性があるが、
データサイズは単純に半分になる
RTDFのセットアップ
UNREAL FEST WEST 2018
RTDFのセットアップ
UNREAL FEST WEST 2018
• 設定後、Editorを再起動し、
レベルをビルドすると、
事前計算データが作られます
• ShowのVisualizeから確認できます
Mesh Distance FieldsのVisualize
UNREAL FEST WEST 2018
Directional LightのDetailsから、Distance Field Shadows欄の
RayTraced DistanceField Shadowsのチェックをいれると有効
RTDFの使用方法
UNREAL FEST WEST 2018
Directional LightのDetailsから、Cascaded Shadow Mapsの
Dynamic Shadow Distance MovableLightで影響範囲を指定
RTDFの使用方法
CSM shadows
RTDF shadows
ライティング終わり
アセットリダクション
Battle Royaleの特徴②
フィールドが広く建物や木といった
オブジェクト数が多い
上空から飛び降りるアクションがあり、
フィールドを見渡すことができる
GPU負荷や、DrawCallを減らす改善が必要
LODとHLOD+Impostorによって改善
UNREAL FEST WEST 2018
• 遠い場合ポリゴンの
少ないモデルに切り替えて
描画負荷を減らす手法
Level of Detail(LOD)
UNREAL FEST WEST 2018
△
利点
• 描画時のポリゴン数が減り、GPU負荷が軽減
• (Early Z-pass, Shadow pass, Base passに効果的)
注意点
• LODを保持すれば保持するほどメモリ量は増える
LODの注意点
UNREAL FEST WEST 2018
• UE4でLODを使用するには2つの方法があります。
1. 外部ツールで作成し、インポートし使用する方法
2. UE4内部でLOD用メッシュを作成し使用する方法
LODを使用するには
UNREAL FEST WEST 2018
• UE4では、2つのLODメッシュ作成方法があります。
• UE4内製ツールで行う方法(QuadricMeshReduction)
• ミドルウェアのSimplygonで行う方法(SimplygonMeshReduction)
UE4でLOD用メッシュの作成
Project Settings – Editor – Mesh Simplificationから変更できます。
LODの作成方法
UNREAL FEST WEST 2018
Meshを開いて、LOD Settingsから
Number of LODsの数を増やし、
Apply Changesで適応する。
LODの追加方法
UNREAL FEST WEST 2018
LODの追加方法
UNREAL FEST WEST 2018
LODの表示切り替えが
可能になっており、Detailsから
各種設定が行えるようになる。
LODの追加方法
UNREAL FEST WEST 2018
LODのReduction設定
Percent Trianglesを50%に設定、
Apply Changesで適応させる
ポリゴンが半分のLODモデルを
作成することができる
UNREAL FEST WEST 2018
LODの追加方法
LOD1890 triangles, 760 vertices.
Static Mesh-Polygon percentageのみ変更した場合の
LODの各種比較
UNREAL FEST WEST 2018
Polygon Reduction 50%(UE4内製)
LOD0 LOD1 LOD0 LOD1
50% 50%
890 triangles, 760 vertices. 890 triangles, 760 vertices.1782 triangles, 1467 vertices. 1782 triangles, 1467 vertices.
UNREAL FEST WEST 2018
Polygon Reduction 10%(UE4内製)
LOD0 LOD1 LOD0 LOD1
※10を入れると9.99999となってしまう
9.99999% 9.99999%
178 triangles, 199 vertices. 178 triangles, 199 vertices.1782 triangles, 1467 vertices. 1782 triangles, 1467 vertices.
UNREAL FEST WEST 2018
Polygon Reduction 10%(横)(UE4内製)
LOD0 LOD1 LOD0 LOD1
9.99999%
※10を入れると9.99999となってしまう
9.99999%
178 triangles, 199 vertices. 178 triangles, 199 vertices.1782 triangles, 1467 vertices. 1782 triangles, 1467 vertices.
UNREAL FEST WEST 2018
Polygon Reduction 50%(Simplygon)
LOD0 LOD1 LOD0 LOD1
50% 50%
890 triangles, 780 vertices. 890 triangles, 780 vertices.1782 triangles, 1467 vertices. 1782 triangles, 1467 vertices.
UNREAL FEST WEST 2018
Polygon Reduction 10%(Simplygon)
LOD0 LOD1 LOD0 LOD1
9.99999% 9.99999%
※10を入れると9.99999となってしまう
178 triangles, 248 vertices. 178 triangles, 248 vertices.1782 triangles, 1467 vertices. 1782 triangles, 1467 vertices.
UNREAL FEST WEST 2018
Polygon Reduction 10%(Simplygon)
LOD0 LOD1 LOD0 LOD1
9.99999%
※10を入れると9.99999となってしまう
9.99999%
178 triangles, 248 vertices. 178 triangles, 248 vertices.1782 triangles, 1467 vertices. 1782 triangles, 1467 vertices.
LOD比較まとめ
UNREAL FEST WEST 2018
△
利点
• 大幅に削減してもシルエットが保ててる。
• ポリゴンの数は同じだが、
頂点数がUE4内製のほうが少ない
• 比較的速い
注意点
• Skeletal Meshのリダクションはできない
• 変更できる設定項目は少ない
UE4内製 UE4内製
178 triangles, 199 vertices.
UNREAL FEST WEST 2018
△
利点
• UE4のものよりも設定項目が多い
• 細かい設定が可能
• 調整をすれば良くなる可能性
• Skeletal Meshもリダクション可能
注意点
• ミドルウェアとしてSymplygonを
導入する事が必要
Symplygon Simplygon
178 triangles, 248 vertices.
UNREAL FEST WEST 2018
比較した結果
• Static MeshのみであればUE4内製のツールで十分良さそう
• サクッとLODモデルを作成する時に有用
LOD比較まとめ
Simplygon
178 triangles, 248 vertices.
UE4内製
178 triangles, 199 vertices.
元メッシュ
1782 triangles, 1467 vertices.
Hierarchical Level of Detail(HLOD)
UNREAL FEST WEST 2018
• 複数の建物、木といった違うアセットのメッシュやマテリアルを
マージし、LOD処理を行うことで、描画負荷を減らす方法
Hierarchical Level of Detail(HLOD)
UNREAL FEST WEST 2018
△
利点
• ポリゴンが減ることでGPU負荷の削減
• Materialが減り、Draw Callを減らすことができる
注意点
• MaterialをマージしないとDraw callは減らない
• 保持すれば保持するほどメモリ量は増える
HLODについて
UNREAL FEST WEST 2018
• HLODの使い方に関しては、
ドキュメントをご参照ください
• http://api.unrealengine.com/JPN/Engine/HLOD/
HLODの使い方
HLOD + Inpostor
HLODでガッツリ削ると
遠景とはいえクオリティが下がってしまう
HLOD + Inpostor
UNREAL FEST WEST 2018
• アセットを各方向からレンダリングしたテクスチャを用意し、
• ビルボードに貼り付けることで見せかける手法
Inposter
UNREAL FEST WEST 2018
△
利点
• ポリゴン数の大幅削減
• 負荷が高いアセットも
一律コストで描画が可能
気をつけるべきこと
• 影がでない。
• 解像度、方向数など、
調整できるが、近いと崩れやすい。
• あくまで遠景用として
Inpostorについて
UNREAL FEST WEST 2018
• どちらもHLODなのでDraw call数は同等
半分のポリゴンになっていながら、見た目が綺麗
HLODとInposter組合せ
UNREAL FEST WEST 2018
• もとのオブジェクトと比較しても、見た目を保っている
HLODとInposter組合せ
1/2以下
UNREAL FEST WEST 2018
UNREAL FEST WEST 2018
• 以前からImpostorの機能はありましたが、
FortniteではPluginとして公開している、
ImpostorBakerを使用
• Impostorアセットの作成が容易になり、
半球分のみ生成するなどの工夫から、
テクスチャの使用効率があがっています
• 詳しい使い方は付録で紹介
ImpostorBaker
アセットリダクション終わり
アニメーション
Battle Royaleの特徴③
100人が同時に対戦
移動やアニメーションが同時に起こる
重要度に応じて、フレームをスキップするなどの最適化
Update Rate Optimization(URO)
UNREAL FEST WEST 2018
• 遠くにいるキャラクター等、重要度の低いものに対して
アニメーションの更新頻度を抑えることで処理を軽くする。
Update Rate Optimization(URO)
No URO URO 5 URO 10
UNREAL FEST WEST 2018
Skeletal Mesh Compornentの
Enable Update Rate Optimizationsを
有効にすることで動作可能
UROの設定方法
UNREAL FEST WEST 2018
UROのイメージ
• キャラクターA、Bがいたとした場合
• それぞれにインデックスが割り振られる
• すべてのキャラを2フレームごと更新と設定
• 交互にアップデートするように最適化される
Character A
Update
Character B
Update
0 1 2 3 4 5
[0]
[1]
Character A
Update
Character B
Update
Character A
Update
5フレームスキップしたUROの例
UNREAL FEST WEST 2018
URO 5
ゆっくりみてみると...
UNREAL FEST WEST 2018
URO 5 - Slow
UNREAL FEST WEST 2018
• 以下コマンドをOutputLogから入力することで検証可能
• 現状UIから細かい設定ができず、C++からの設定が必要
UROのパラメーター設定
コマンド 効果
a.URO.Enable 強制的にUROをON,OFF
a.URO.ForceAnimRate 何フレーム毎にするか強制的に設定する
アニメーション終わり
LOD、HLOD、URO、、、
紹介してきた機能のパラメーターを
どうやって切り替えているのか?
Significance Manager
UNREAL FEST WEST 2018
Significance Manager
4.15からプラグインとして
追加された機能(クラス)
UNREAL FEST WEST 2018
Significance Manager
ビューの表示状態をもとに、優先度(状態)を管理
• LOD
• HLOD
• アニメーションのURO rate
等々
Player
View
UNREAL FEST WEST 2018
Significance Manager
UI等はないので、C++からのみアクセス可能
ドキュメントは現状ないので、
コードから理解することが必要...
UNREAL FEST WEST 2018
Significance Manager
Viewport::Tick
SignificanceManager-
>Update(Viewpoints);
SignificanceTypeによって優先度の格納情報や条件が変わる
AnimationならURO、LODだったらLODのレベルなど
Tick
ViewportのTickを通じてパラメーターが更新されているので、自分自
身のパラメーターを参照すれば最適なものになっている。
BeginPlay
CustomPawn
USignificanceManager::Get(World)->
RegisterObject(this, SignificanceType);
SignificanceTypeどんなタイプのアセットなのか渡す
SignificanceUpdate
ViewportのTickからSignificanceManagerを
通じて呼び出されパラメーターを更新する。
Game
• 基本的な使い方としては、
WorldでSignificance Managerを持つように実装し、
Actor生成時等に、対象のActorを登録するような実装を行う
• ビューポートのTick(ViewportClient::Tick)で、
ビューのトランスフォーム情報を元にアップデートを行う
LOD Level
URO Rate
SIGNIFICANCE
MANAGER
UNREAL FEST WEST 2018
△
Significance Manager
現状
• Significance Managerを継承して実装が必要
• ビューポートからの距離などの判断基準を自前で実装する必要がある
利点
• 一括して変更が可能なため検証がしやすい
気をつけるべきこと
• グローバルだからと、なんでも実装してしまうと肥大化する可能性
Significance Manager終わり
UNREAL FEST WEST 2018
まとめ
今回はFortniteに関連して4.19で公開されている機能で、
実際に使えそうな機能を紹介しました
お役に立てる情報があれば幸いです
付録
ImpostorBakerの使い方
UNREAL FEST WEST 2018
• 準備
• https://github.com/ictusbrucks/ImpostorBaker からプラグインをダウンロード。
• Project以下のPluginsフォルダにダウンロードしたプラグインを追加。
• コンテンツブラウザーからPluginコンテンツを表示する。
• Generate_Impostor_Mapを開く
ImpostorBaker
UNREAL FEST WEST 2018
• はじめに
Generate_Impostor_Mapを開いた後に、
Levelに配置されているBP_Generate_ImposterSpritesを選択する。
Render Framesボタンをクリックすると、
初期配置されているアセットのImpostorのプレビューができる。
ImpostorBaker
UNREAL FEST WEST 2018
• マテリアルの出力
• BP_Generate_ImposterSpritesのDetailsから出力先情報を入力し3)Create Static Assetsをクリック
ImpostorBaker
UNREAL FEST WEST 2018
• メッシュの出力
• BP_Generate_ImposterSpritesのコンポーネントからProceduralMeshを選択する。
一覧からProceduralMeshのCreate StaticMeshをクリックすると出力先を聞かれるので選択する。
ImpostorBaker
UNREAL FEST WEST 2018
Inpostorのスポーン
• ProceduralMeshから生成したStatic Mesh Actorを
Levelにスポーンさせれば、生成したInpostorを確認できる。
ImpostorBaker
ImpostorBaker
初期アセット以外のセットアップ
UNREAL FEST WEST 2018
• Materialのセットアップ
• 使用しているMaterialの最後にImpostorCaptureSwitchを追加する。
1. 通常のMaterial Nodeの接続をMakeMaterialAttributesに置き換る
2. この時出力ノードをDetailsからUse Material AttributesをEnableにする
3. ImpostorCaptureSwitchを挟み出力させる。
ImpostorBaker
UNREAL FEST WEST 2018
• Static Mesh Actorの置き換え
Materialを設定したStaticMeshをデフォルトのCube-Scaledと
置き換えるような形で配置し、RenderFramesで確認する。
ImpostorBaker
UNREAL FEST WEST 2018
Fortnite最適化セッション
• Optimizing UE4 for Fortnite: Battle Royale - Part 1
https://www.youtube.com/watch?v=KHWquMYtji0&index=16&list=PLZlv_N0_O1gYcueZ-
mOraUuH0WufCLuto&t=0s
• Optimizing UE4 for Fortnite: Battle Royale - Part 2
https://www.youtube.com/watch?v=1xiwJukvb60&index=15&list=PLZlv_N0_O1gYcueZ-
mOraUuH0WufCLuto&t=0s
その他講演プレイリスト
• GDC 2018 | Unreal Engine
https://www.youtube.com/playlist?list=PLZlv_N0_O1gYcueZ-mOraUuH0WufCLuto
GDC講演Youtubeリンク

More Related Content

What's hot

UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動についてUE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動についてcom044
 
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~エピック・ゲームズ・ジャパン Epic Games Japan
 
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...エピック・ゲームズ・ジャパン Epic Games Japan
 
[UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい![UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい!com044
 

What's hot (20)

バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
 
UE4をレンダラとした趣味的スピード背景ルックデブ(UE4 Environment Art Dive)
UE4をレンダラとした趣味的スピード背景ルックデブ(UE4 Environment Art Dive)UE4をレンダラとした趣味的スピード背景ルックデブ(UE4 Environment Art Dive)
UE4をレンダラとした趣味的スピード背景ルックデブ(UE4 Environment Art Dive)
 
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
 
UE4におけるエフェクトの為のエンジン改造事例
UE4におけるエフェクトの為のエンジン改造事例UE4におけるエフェクトの為のエンジン改造事例
UE4におけるエフェクトの為のエンジン改造事例
 
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られたNintendo Switch『OCTOPATH TRAVELER』はこうして作られた
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
 
UE4アセットリダクション手法紹介
UE4アセットリダクション手法紹介UE4アセットリダクション手法紹介
UE4アセットリダクション手法紹介
 
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらいCEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
 
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
 
UE4でプロシージャル田植え(UE4 Environment Art Dive)
UE4でプロシージャル田植え(UE4 Environment Art Dive)UE4でプロシージャル田植え(UE4 Environment Art Dive)
UE4でプロシージャル田植え(UE4 Environment Art Dive)
 
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動についてUE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
 
UE4における大規模背景制作事例 描画特殊表現編
UE4における大規模背景制作事例 描画特殊表現編UE4における大規模背景制作事例 描画特殊表現編
UE4における大規模背景制作事例 描画特殊表現編
 
UE4におけるLoadingとGCのProfilingと最適化手法
UE4におけるLoadingとGCのProfilingと最適化手法UE4におけるLoadingとGCのProfilingと最適化手法
UE4におけるLoadingとGCのProfilingと最適化手法
 
UE4のモバイル向け機能や最新情報などを改めて紹介!2019
UE4のモバイル向け機能や最新情報などを改めて紹介!2019UE4のモバイル向け機能や最新情報などを改めて紹介!2019
UE4のモバイル向け機能や最新情報などを改めて紹介!2019
 
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
 
UE4で作成するUIと最適化手法
UE4で作成するUIと最適化手法UE4で作成するUIと最適化手法
UE4で作成するUIと最適化手法
 
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
 
Lightmassの仕組み ~Lightmap編~ (Epic Games Japan: 篠山範明)
Lightmassの仕組み ~Lightmap編~ (Epic Games Japan: 篠山範明)Lightmassの仕組み ~Lightmap編~ (Epic Games Japan: 篠山範明)
Lightmassの仕組み ~Lightmap編~ (Epic Games Japan: 篠山範明)
 
[UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい![UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい!
 
アーティストの為のプロファイル入門!~楽しいRenderDocの使い方~
アーティストの為のプロファイル入門!~楽しいRenderDocの使い方~アーティストの為のプロファイル入門!~楽しいRenderDocの使い方~
アーティストの為のプロファイル入門!~楽しいRenderDocの使い方~
 
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1
 

Similar to Fortniteを支える技術

GTMF 2015: UE4で開発環境は次なるステージへ~才能のコラボーレーションでクリエイティビティはさらなる高みへ~ | エピック・ゲームズ・ジャパ...
GTMF 2015: UE4で開発環境は次なるステージへ~才能のコラボーレーションでクリエイティビティはさらなる高みへ~ |  エピック・ゲームズ・ジャパ...GTMF 2015: UE4で開発環境は次なるステージへ~才能のコラボーレーションでクリエイティビティはさらなる高みへ~ |  エピック・ゲームズ・ジャパ...
GTMF 2015: UE4で開発環境は次なるステージへ~才能のコラボーレーションでクリエイティビティはさらなる高みへ~ | エピック・ゲームズ・ジャパ...Game Tools & Middleware Forum
 
GTMF 2017 ノンゲーム分野から学ぶUE4の活用テクニック Epic Games Japan
GTMF 2017 ノンゲーム分野から学ぶUE4の活用テクニック Epic Games JapanGTMF 2017 ノンゲーム分野から学ぶUE4の活用テクニック Epic Games Japan
GTMF 2017 ノンゲーム分野から学ぶUE4の活用テクニック Epic Games JapanGame Tools & Middleware Forum
 
ABC2012Spring 20120324
ABC2012Spring 20120324ABC2012Spring 20120324
ABC2012Spring 20120324Tak Inamori
 
Unreal Engine 4のビジュアルスクリプトシステム”Blueprint”を使ったMod制作Tipsのご紹介
Unreal Engine 4のビジュアルスクリプトシステム”Blueprint”を使ったMod制作Tipsのご紹介Unreal Engine 4のビジュアルスクリプトシステム”Blueprint”を使ったMod制作Tipsのご紹介
Unreal Engine 4のビジュアルスクリプトシステム”Blueprint”を使ったMod制作Tipsのご紹介エピック・ゲームズ・ジャパン Epic Games Japan
 
Unity2DとNewGUIについて
Unity2DとNewGUIについてUnity2DとNewGUIについて
Unity2DとNewGUIについてKeigo Ando
 
Unityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったことUnityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったことKouji Hosoda
 
Current status and future trends in Node-RED
Current status and future trends in Node-REDCurrent status and future trends in Node-RED
Current status and future trends in Node-REDnodered_ug_jp
 
ゲームの裏側を支える人たちの裏側
ゲームの裏側を支える人たちの裏側ゲームの裏側を支える人たちの裏側
ゲームの裏側を支える人たちの裏側Riou Tomita
 
mmoの作り方
mmoの作り方mmoの作り方
mmoの作り方kamimamita
 
コスト8割減!k8s本番サービス環境の運用ノウハウ【WESEEK Tech Conf #2】
コスト8割減!k8s本番サービス環境の運用ノウハウ【WESEEK Tech Conf #2】コスト8割減!k8s本番サービス環境の運用ノウハウ【WESEEK Tech Conf #2】
コスト8割減!k8s本番サービス環境の運用ノウハウ【WESEEK Tech Conf #2】WESEEKWESEEK
 
Live2Dの描画の裏側の話
Live2Dの描画の裏側の話Live2Dの描画の裏側の話
Live2Dの描画の裏側の話Naoki Aso
 
ロボットアプリ開発におけるNode-REDの活用
ロボットアプリ開発におけるNode-REDの活用ロボットアプリ開発におけるNode-REDの活用
ロボットアプリ開発におけるNode-REDの活用岡田 裕行
 

Similar to Fortniteを支える技術 (20)

Unity ゲーム開発
Unity ゲーム開発Unity ゲーム開発
Unity ゲーム開発
 
Unreal Engine 4の2018年上半期アップデート情報まとめ
Unreal Engine 4の2018年上半期アップデート情報まとめUnreal Engine 4の2018年上半期アップデート情報まとめ
Unreal Engine 4の2018年上半期アップデート情報まとめ
 
GTMF 2015: UE4で開発環境は次なるステージへ~才能のコラボーレーションでクリエイティビティはさらなる高みへ~ | エピック・ゲームズ・ジャパ...
GTMF 2015: UE4で開発環境は次なるステージへ~才能のコラボーレーションでクリエイティビティはさらなる高みへ~ |  エピック・ゲームズ・ジャパ...GTMF 2015: UE4で開発環境は次なるステージへ~才能のコラボーレーションでクリエイティビティはさらなる高みへ~ |  エピック・ゲームズ・ジャパ...
GTMF 2015: UE4で開発環境は次なるステージへ~才能のコラボーレーションでクリエイティビティはさらなる高みへ~ | エピック・ゲームズ・ジャパ...
 
Seeing is Believing
Seeing is BelievingSeeing is Believing
Seeing is Believing
 
20151204 3 dbasecamp_scketchupとunityによる最新vrプレゼンテーション
20151204 3 dbasecamp_scketchupとunityによる最新vrプレゼンテーション20151204 3 dbasecamp_scketchupとunityによる最新vrプレゼンテーション
20151204 3 dbasecamp_scketchupとunityによる最新vrプレゼンテーション
 
Embedded Master2
Embedded Master2Embedded Master2
Embedded Master2
 
GTMF 2017 ノンゲーム分野から学ぶUE4の活用テクニック Epic Games Japan
GTMF 2017 ノンゲーム分野から学ぶUE4の活用テクニック Epic Games JapanGTMF 2017 ノンゲーム分野から学ぶUE4の活用テクニック Epic Games Japan
GTMF 2017 ノンゲーム分野から学ぶUE4の活用テクニック Epic Games Japan
 
UE4.25新機能とTwinmotion 2020の紹介(オンライン【Unreal Engine Meetup Fukuoka】 2020/4/25)
UE4.25新機能とTwinmotion 2020の紹介(オンライン【Unreal Engine Meetup Fukuoka】 2020/4/25)UE4.25新機能とTwinmotion 2020の紹介(オンライン【Unreal Engine Meetup Fukuoka】 2020/4/25)
UE4.25新機能とTwinmotion 2020の紹介(オンライン【Unreal Engine Meetup Fukuoka】 2020/4/25)
 
ABC2012Spring 20120324
ABC2012Spring 20120324ABC2012Spring 20120324
ABC2012Spring 20120324
 
Unreal Studioのご紹介
Unreal Studioのご紹介Unreal Studioのご紹介
Unreal Studioのご紹介
 
Unreal Engine 4のビジュアルスクリプトシステム”Blueprint”を使ったMod制作Tipsのご紹介
Unreal Engine 4のビジュアルスクリプトシステム”Blueprint”を使ったMod制作Tipsのご紹介Unreal Engine 4のビジュアルスクリプトシステム”Blueprint”を使ったMod制作Tipsのご紹介
Unreal Engine 4のビジュアルスクリプトシステム”Blueprint”を使ったMod制作Tipsのご紹介
 
Unity2DとNewGUIについて
Unity2DとNewGUIについてUnity2DとNewGUIについて
Unity2DとNewGUIについて
 
Unityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったことUnityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったこと
 
Current status and future trends in Node-RED
Current status and future trends in Node-REDCurrent status and future trends in Node-RED
Current status and future trends in Node-RED
 
Unity2019 注目機能まとめ
Unity2019 注目機能まとめUnity2019 注目機能まとめ
Unity2019 注目機能まとめ
 
ゲームの裏側を支える人たちの裏側
ゲームの裏側を支える人たちの裏側ゲームの裏側を支える人たちの裏側
ゲームの裏側を支える人たちの裏側
 
mmoの作り方
mmoの作り方mmoの作り方
mmoの作り方
 
コスト8割減!k8s本番サービス環境の運用ノウハウ【WESEEK Tech Conf #2】
コスト8割減!k8s本番サービス環境の運用ノウハウ【WESEEK Tech Conf #2】コスト8割減!k8s本番サービス環境の運用ノウハウ【WESEEK Tech Conf #2】
コスト8割減!k8s本番サービス環境の運用ノウハウ【WESEEK Tech Conf #2】
 
Live2Dの描画の裏側の話
Live2Dの描画の裏側の話Live2Dの描画の裏側の話
Live2Dの描画の裏側の話
 
ロボットアプリ開発におけるNode-REDの活用
ロボットアプリ開発におけるNode-REDの活用ロボットアプリ開発におけるNode-REDの活用
ロボットアプリ開発におけるNode-REDの活用
 

More from エピック・ゲームズ・ジャパン Epic Games Japan

『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMER
『バランワンダーワールド』でのマルチプラットフォーム対応について  UNREAL FEST EXTREME 2021 SUMMER『バランワンダーワールド』でのマルチプラットフォーム対応について  UNREAL FEST EXTREME 2021 SUMMER
『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMERエピック・ゲームズ・ジャパン Epic Games Japan
 
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMER
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMERSAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMER
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMERエピック・ゲームズ・ジャパン Epic Games Japan
 
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編) UNREAL FEST EXTREME 2021 SUMMER
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編)  UNREAL FEST EXTREME 2021 SUMMER『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編)  UNREAL FEST EXTREME 2021 SUMMER
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編) UNREAL FEST EXTREME 2021 SUMMERエピック・ゲームズ・ジャパン Epic Games Japan
 

More from エピック・ゲームズ・ジャパン Epic Games Japan (20)

初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
 
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
 
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
 
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
Unreal Engine 4.27 ノンゲーム向け新機能まとめUnreal Engine 4.27 ノンゲーム向け新機能まとめ
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
 
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
 
UE4を使った映像制作 (UE4 Character Art Dive Online)
UE4を使った映像制作 (UE4 Character Art Dive Online)UE4を使った映像制作 (UE4 Character Art Dive Online)
UE4を使った映像制作 (UE4 Character Art Dive Online)
 
Hair Groom入門 (UE4 Character Art Dive Online)
Hair Groom入門 (UE4 Character Art Dive Online)Hair Groom入門 (UE4 Character Art Dive Online)
Hair Groom入門 (UE4 Character Art Dive Online)
 
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive OnlineUE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online
 
『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMER
『バランワンダーワールド』でのマルチプラットフォーム対応について  UNREAL FEST EXTREME 2021 SUMMER『バランワンダーワールド』でのマルチプラットフォーム対応について  UNREAL FEST EXTREME 2021 SUMMER
『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMER
 
Visual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMER
Visual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMERVisual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMER
Visual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMER
 
Unreal Engineでのコンフィギュレーター制作と映像制作 UNREAL FEST EXTREME 2021 SUMMER
Unreal Engineでのコンフィギュレーター制作と映像制作  UNREAL FEST EXTREME 2021 SUMMERUnreal Engineでのコンフィギュレーター制作と映像制作  UNREAL FEST EXTREME 2021 SUMMER
Unreal Engineでのコンフィギュレーター制作と映像制作 UNREAL FEST EXTREME 2021 SUMMER
 
バレンシアガ『Afterworld: The Age of Tomorrow』の舞台裏 UNREAL FEST EXTREME 2021 SUMMER
バレンシアガ『Afterworld: The Age of Tomorrow』の舞台裏  UNREAL FEST EXTREME 2021 SUMMERバレンシアガ『Afterworld: The Age of Tomorrow』の舞台裏  UNREAL FEST EXTREME 2021 SUMMER
バレンシアガ『Afterworld: The Age of Tomorrow』の舞台裏 UNREAL FEST EXTREME 2021 SUMMER
 
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMER
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMERSAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMER
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMER
 
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編) UNREAL FEST EXTREME 2021 SUMMER
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編)  UNREAL FEST EXTREME 2021 SUMMER『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編)  UNREAL FEST EXTREME 2021 SUMMER
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編) UNREAL FEST EXTREME 2021 SUMMER
 
UE4を使用したバーチャルヒューマンの映像制作 UNREAL FEST EXTREME 2021 SUMMER
UE4を使用したバーチャルヒューマンの映像制作  UNREAL FEST EXTREME 2021 SUMMERUE4を使用したバーチャルヒューマンの映像制作  UNREAL FEST EXTREME 2021 SUMMER
UE4を使用したバーチャルヒューマンの映像制作 UNREAL FEST EXTREME 2021 SUMMER
 
オンラインで同期した100体の巨大生物から地球を衛る方法 UNREAL FEST EXTREME 2021 SUMMER
オンラインで同期した100体の巨大生物から地球を衛る方法  UNREAL FEST EXTREME 2021 SUMMERオンラインで同期した100体の巨大生物から地球を衛る方法  UNREAL FEST EXTREME 2021 SUMMER
オンラインで同期した100体の巨大生物から地球を衛る方法 UNREAL FEST EXTREME 2021 SUMMER
 
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER
MetaHumanサンプル解体新書  UNREAL FEST EXTREME 2021 SUMMERMetaHumanサンプル解体新書  UNREAL FEST EXTREME 2021 SUMMER
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER
 
Twinmotion 2021とAEC分野向けソリューションのご紹介
Twinmotion 2021とAEC分野向けソリューションのご紹介Twinmotion 2021とAEC分野向けソリューションのご紹介
Twinmotion 2021とAEC分野向けソリューションのご紹介
 
UE4.26 レンダリング新機能(CEDEC+KYUSHU 2020)
UE4.26 レンダリング新機能(CEDEC+KYUSHU 2020)UE4.26 レンダリング新機能(CEDEC+KYUSHU 2020)
UE4.26 レンダリング新機能(CEDEC+KYUSHU 2020)
 
猫でもわかる Epic MegaGrants 応募への道
猫でもわかる Epic MegaGrants 応募への道猫でもわかる Epic MegaGrants 応募への道
猫でもわかる Epic MegaGrants 応募への道
 

Fortniteを支える技術

  • 1. UNREAL FEST WEST 2018 Unreal Fest West 2018
  • 2. UNREAL FEST WEST 2018 Fortniteを支える技術 Epic Games Japan – Yutaro Sawada
  • 4. UNREAL FEST WEST 2018 • Fortniteについて • Fotnite Battle Royaleを実現するために • ライティングとシャドウについて • LODとHLOD • アニメーション • Significance Manager • まとめ • 付録 目次
  • 6. UNREAL FEST WEST 2018 3月に日本で配信開始。 TPSのアクションビルディングゲーム
  • 7. UNREAL FEST WEST 2018 大きく分けて2つのモードがあります • Save the world(世界を救え) • オンラインで協力して敵と戦う • Battle Royale(バトルロイヤル) • 100人対戦 • プレイヤー同士で戦う Fortniteについて
  • 9. UNREAL FEST WEST 2018 • 100人が同時に ネットワーク上で対戦 • 2.5 km x 2.5 kmの 広いマップ • 建物を壊したり、 資材を集めて、 新しく建築することができる Fortnite Battle Royaleの特徴
  • 10. UNREAL FEST WEST 2018 マルチプラットフォーム Windows, Mac, PS4, XBOXONE, iOS, Android... (Android版は現在開発中で未リリース) • ハードウェア毎にスペックがバラバラなので 最適化が必要に • 描画のクオリティやエフェクトなど、 スケーリング可能なパラメーター設計が必要になった Fortnite Battle Royaleの特徴
  • 11. UNREAL FEST WEST 2018 • 話すこと • 描画周りが中心 • ライティング • アセットリダクション • アニメーション • 話さないこと • ネットワーク • AI 今日話すこと、話さないこと
  • 14. UNREAL FEST WEST 2018 • ライティング • アセットリダクション • アニメーション • Significance Manager Fotnite Battle Royaleを実現するために
  • 17.
  • 18.
  • 20. UNREAL FEST WEST 2018 • Project SettingsのRenderingから、 Allow Static Lightingのチェックをオフ Static Light(静的なライト)をオフにする方法
  • 21. UNREAL FEST WEST 2018 Cascade Shadow Map(CSM) × Ray-traced distance field shadows(RTDF) シャドウについて
  • 22. UNREAL FEST WEST 2018 △ UE4で通常使用しているシャドウ 利点 • 背景に配置されている静的オブジェクトから、 アニメーションしている動的なオブジェクトまで、 静的/動的関係なくオブジェクトのシャドウを 動的に生成することが可能 • 品質がそこそこ良い 注意点 • 描画にコストがかかる Cascade Shadow Map(CSM)について
  • 23. UNREAL FEST WEST 2018 事前計算した3Dテクスチャを使用するシャドウ 利点 • CSMよりもコストが安く描画できる • CSMより30%~50% Ray-traced distance field shadows(RTDF)について
  • 24. UNREAL FEST WEST 2018 △注意点 • エディタ上で事前計算しメッシュがデータを保持する (Ambient Occulusionでも利用する) • 歪んだスケールやアニメーションは使用できない • 細いオブジェクトだとレイが抜けて影がきれいにでない • メッシュ毎にメモリのコストが必要 Ray-traced distance field shadows(RTDF)について
  • 25. UNREAL FEST WEST 2018 両方の利点を活かし、 • 手前のモノはCSM • 遠くのモノはRTDF シャドウについて CSM shadows RTDF shadows
  • 27. UNREAL FEST WEST 2018 • まずProject SettingsのRenderingから、 Generate Mesh Distance Fieldsを有効にする • Eight Bit Mesh Distance Fieldsを有効にすると 保存データが16bitから8bitになる • シーンの規模などによっては アーティファクトが発生する可能性があるが、 データサイズは単純に半分になる RTDFのセットアップ
  • 28. UNREAL FEST WEST 2018 RTDFのセットアップ
  • 29. UNREAL FEST WEST 2018 • 設定後、Editorを再起動し、 レベルをビルドすると、 事前計算データが作られます • ShowのVisualizeから確認できます Mesh Distance FieldsのVisualize
  • 30. UNREAL FEST WEST 2018 Directional LightのDetailsから、Distance Field Shadows欄の RayTraced DistanceField Shadowsのチェックをいれると有効 RTDFの使用方法
  • 31. UNREAL FEST WEST 2018 Directional LightのDetailsから、Cascaded Shadow Mapsの Dynamic Shadow Distance MovableLightで影響範囲を指定 RTDFの使用方法 CSM shadows RTDF shadows
  • 35.
  • 37. UNREAL FEST WEST 2018 • 遠い場合ポリゴンの 少ないモデルに切り替えて 描画負荷を減らす手法 Level of Detail(LOD)
  • 38. UNREAL FEST WEST 2018 △ 利点 • 描画時のポリゴン数が減り、GPU負荷が軽減 • (Early Z-pass, Shadow pass, Base passに効果的) 注意点 • LODを保持すれば保持するほどメモリ量は増える LODの注意点
  • 39. UNREAL FEST WEST 2018 • UE4でLODを使用するには2つの方法があります。 1. 外部ツールで作成し、インポートし使用する方法 2. UE4内部でLOD用メッシュを作成し使用する方法 LODを使用するには
  • 40. UNREAL FEST WEST 2018 • UE4では、2つのLODメッシュ作成方法があります。 • UE4内製ツールで行う方法(QuadricMeshReduction) • ミドルウェアのSimplygonで行う方法(SimplygonMeshReduction) UE4でLOD用メッシュの作成 Project Settings – Editor – Mesh Simplificationから変更できます。
  • 42. UNREAL FEST WEST 2018 Meshを開いて、LOD Settingsから Number of LODsの数を増やし、 Apply Changesで適応する。 LODの追加方法
  • 43. UNREAL FEST WEST 2018 LODの追加方法
  • 44. UNREAL FEST WEST 2018 LODの表示切り替えが 可能になっており、Detailsから 各種設定が行えるようになる。 LODの追加方法
  • 45. UNREAL FEST WEST 2018 LODのReduction設定 Percent Trianglesを50%に設定、 Apply Changesで適応させる ポリゴンが半分のLODモデルを 作成することができる
  • 46. UNREAL FEST WEST 2018 LODの追加方法 LOD1890 triangles, 760 vertices.
  • 48. UNREAL FEST WEST 2018 Polygon Reduction 50%(UE4内製) LOD0 LOD1 LOD0 LOD1 50% 50% 890 triangles, 760 vertices. 890 triangles, 760 vertices.1782 triangles, 1467 vertices. 1782 triangles, 1467 vertices.
  • 49. UNREAL FEST WEST 2018 Polygon Reduction 10%(UE4内製) LOD0 LOD1 LOD0 LOD1 ※10を入れると9.99999となってしまう 9.99999% 9.99999% 178 triangles, 199 vertices. 178 triangles, 199 vertices.1782 triangles, 1467 vertices. 1782 triangles, 1467 vertices.
  • 50. UNREAL FEST WEST 2018 Polygon Reduction 10%(横)(UE4内製) LOD0 LOD1 LOD0 LOD1 9.99999% ※10を入れると9.99999となってしまう 9.99999% 178 triangles, 199 vertices. 178 triangles, 199 vertices.1782 triangles, 1467 vertices. 1782 triangles, 1467 vertices.
  • 51. UNREAL FEST WEST 2018 Polygon Reduction 50%(Simplygon) LOD0 LOD1 LOD0 LOD1 50% 50% 890 triangles, 780 vertices. 890 triangles, 780 vertices.1782 triangles, 1467 vertices. 1782 triangles, 1467 vertices.
  • 52. UNREAL FEST WEST 2018 Polygon Reduction 10%(Simplygon) LOD0 LOD1 LOD0 LOD1 9.99999% 9.99999% ※10を入れると9.99999となってしまう 178 triangles, 248 vertices. 178 triangles, 248 vertices.1782 triangles, 1467 vertices. 1782 triangles, 1467 vertices.
  • 53. UNREAL FEST WEST 2018 Polygon Reduction 10%(Simplygon) LOD0 LOD1 LOD0 LOD1 9.99999% ※10を入れると9.99999となってしまう 9.99999% 178 triangles, 248 vertices. 178 triangles, 248 vertices.1782 triangles, 1467 vertices. 1782 triangles, 1467 vertices.
  • 55. UNREAL FEST WEST 2018 △ 利点 • 大幅に削減してもシルエットが保ててる。 • ポリゴンの数は同じだが、 頂点数がUE4内製のほうが少ない • 比較的速い 注意点 • Skeletal Meshのリダクションはできない • 変更できる設定項目は少ない UE4内製 UE4内製 178 triangles, 199 vertices.
  • 56. UNREAL FEST WEST 2018 △ 利点 • UE4のものよりも設定項目が多い • 細かい設定が可能 • 調整をすれば良くなる可能性 • Skeletal Meshもリダクション可能 注意点 • ミドルウェアとしてSymplygonを 導入する事が必要 Symplygon Simplygon 178 triangles, 248 vertices.
  • 57. UNREAL FEST WEST 2018 比較した結果 • Static MeshのみであればUE4内製のツールで十分良さそう • サクッとLODモデルを作成する時に有用 LOD比較まとめ Simplygon 178 triangles, 248 vertices. UE4内製 178 triangles, 199 vertices. 元メッシュ 1782 triangles, 1467 vertices.
  • 58. Hierarchical Level of Detail(HLOD)
  • 59. UNREAL FEST WEST 2018 • 複数の建物、木といった違うアセットのメッシュやマテリアルを マージし、LOD処理を行うことで、描画負荷を減らす方法 Hierarchical Level of Detail(HLOD)
  • 60. UNREAL FEST WEST 2018 △ 利点 • ポリゴンが減ることでGPU負荷の削減 • Materialが減り、Draw Callを減らすことができる 注意点 • MaterialをマージしないとDraw callは減らない • 保持すれば保持するほどメモリ量は増える HLODについて
  • 61. UNREAL FEST WEST 2018 • HLODの使い方に関しては、 ドキュメントをご参照ください • http://api.unrealengine.com/JPN/Engine/HLOD/ HLODの使い方
  • 65. UNREAL FEST WEST 2018 • アセットを各方向からレンダリングしたテクスチャを用意し、 • ビルボードに貼り付けることで見せかける手法 Inposter
  • 66. UNREAL FEST WEST 2018 △ 利点 • ポリゴン数の大幅削減 • 負荷が高いアセットも 一律コストで描画が可能 気をつけるべきこと • 影がでない。 • 解像度、方向数など、 調整できるが、近いと崩れやすい。 • あくまで遠景用として Inpostorについて
  • 67. UNREAL FEST WEST 2018 • どちらもHLODなのでDraw call数は同等 半分のポリゴンになっていながら、見た目が綺麗 HLODとInposter組合せ
  • 68. UNREAL FEST WEST 2018 • もとのオブジェクトと比較しても、見た目を保っている HLODとInposter組合せ 1/2以下
  • 70. UNREAL FEST WEST 2018 • 以前からImpostorの機能はありましたが、 FortniteではPluginとして公開している、 ImpostorBakerを使用 • Impostorアセットの作成が容易になり、 半球分のみ生成するなどの工夫から、 テクスチャの使用効率があがっています • 詳しい使い方は付録で紹介 ImpostorBaker
  • 75. UNREAL FEST WEST 2018 • 遠くにいるキャラクター等、重要度の低いものに対して アニメーションの更新頻度を抑えることで処理を軽くする。 Update Rate Optimization(URO) No URO URO 5 URO 10
  • 76. UNREAL FEST WEST 2018 Skeletal Mesh Compornentの Enable Update Rate Optimizationsを 有効にすることで動作可能 UROの設定方法
  • 77. UNREAL FEST WEST 2018 UROのイメージ • キャラクターA、Bがいたとした場合 • それぞれにインデックスが割り振られる • すべてのキャラを2フレームごと更新と設定 • 交互にアップデートするように最適化される Character A Update Character B Update 0 1 2 3 4 5 [0] [1] Character A Update Character B Update Character A Update
  • 79. UNREAL FEST WEST 2018 URO 5
  • 81. UNREAL FEST WEST 2018 URO 5 - Slow
  • 82. UNREAL FEST WEST 2018 • 以下コマンドをOutputLogから入力することで検証可能 • 現状UIから細かい設定ができず、C++からの設定が必要 UROのパラメーター設定 コマンド 効果 a.URO.Enable 強制的にUROをON,OFF a.URO.ForceAnimRate 何フレーム毎にするか強制的に設定する
  • 86. UNREAL FEST WEST 2018 Significance Manager 4.15からプラグインとして 追加された機能(クラス)
  • 87. UNREAL FEST WEST 2018 Significance Manager ビューの表示状態をもとに、優先度(状態)を管理 • LOD • HLOD • アニメーションのURO rate 等々 Player View
  • 88. UNREAL FEST WEST 2018 Significance Manager UI等はないので、C++からのみアクセス可能 ドキュメントは現状ないので、 コードから理解することが必要...
  • 89. UNREAL FEST WEST 2018 Significance Manager Viewport::Tick SignificanceManager- >Update(Viewpoints); SignificanceTypeによって優先度の格納情報や条件が変わる AnimationならURO、LODだったらLODのレベルなど Tick ViewportのTickを通じてパラメーターが更新されているので、自分自 身のパラメーターを参照すれば最適なものになっている。 BeginPlay CustomPawn USignificanceManager::Get(World)-> RegisterObject(this, SignificanceType); SignificanceTypeどんなタイプのアセットなのか渡す SignificanceUpdate ViewportのTickからSignificanceManagerを 通じて呼び出されパラメーターを更新する。 Game • 基本的な使い方としては、 WorldでSignificance Managerを持つように実装し、 Actor生成時等に、対象のActorを登録するような実装を行う • ビューポートのTick(ViewportClient::Tick)で、 ビューのトランスフォーム情報を元にアップデートを行う LOD Level URO Rate SIGNIFICANCE MANAGER
  • 90. UNREAL FEST WEST 2018 △ Significance Manager 現状 • Significance Managerを継承して実装が必要 • ビューポートからの距離などの判断基準を自前で実装する必要がある 利点 • 一括して変更が可能なため検証がしやすい 気をつけるべきこと • グローバルだからと、なんでも実装してしまうと肥大化する可能性
  • 92. UNREAL FEST WEST 2018 まとめ 今回はFortniteに関連して4.19で公開されている機能で、 実際に使えそうな機能を紹介しました お役に立てる情報があれば幸いです
  • 93.
  • 96. UNREAL FEST WEST 2018 • 準備 • https://github.com/ictusbrucks/ImpostorBaker からプラグインをダウンロード。 • Project以下のPluginsフォルダにダウンロードしたプラグインを追加。 • コンテンツブラウザーからPluginコンテンツを表示する。 • Generate_Impostor_Mapを開く ImpostorBaker
  • 97. UNREAL FEST WEST 2018 • はじめに Generate_Impostor_Mapを開いた後に、 Levelに配置されているBP_Generate_ImposterSpritesを選択する。 Render Framesボタンをクリックすると、 初期配置されているアセットのImpostorのプレビューができる。 ImpostorBaker
  • 98. UNREAL FEST WEST 2018 • マテリアルの出力 • BP_Generate_ImposterSpritesのDetailsから出力先情報を入力し3)Create Static Assetsをクリック ImpostorBaker
  • 99. UNREAL FEST WEST 2018 • メッシュの出力 • BP_Generate_ImposterSpritesのコンポーネントからProceduralMeshを選択する。 一覧からProceduralMeshのCreate StaticMeshをクリックすると出力先を聞かれるので選択する。 ImpostorBaker
  • 100. UNREAL FEST WEST 2018 Inpostorのスポーン • ProceduralMeshから生成したStatic Mesh Actorを Levelにスポーンさせれば、生成したInpostorを確認できる。 ImpostorBaker
  • 102. UNREAL FEST WEST 2018 • Materialのセットアップ • 使用しているMaterialの最後にImpostorCaptureSwitchを追加する。 1. 通常のMaterial Nodeの接続をMakeMaterialAttributesに置き換る 2. この時出力ノードをDetailsからUse Material AttributesをEnableにする 3. ImpostorCaptureSwitchを挟み出力させる。 ImpostorBaker
  • 103. UNREAL FEST WEST 2018 • Static Mesh Actorの置き換え Materialを設定したStaticMeshをデフォルトのCube-Scaledと 置き換えるような形で配置し、RenderFramesで確認する。 ImpostorBaker
  • 104. UNREAL FEST WEST 2018 Fortnite最適化セッション • Optimizing UE4 for Fortnite: Battle Royale - Part 1 https://www.youtube.com/watch?v=KHWquMYtji0&index=16&list=PLZlv_N0_O1gYcueZ- mOraUuH0WufCLuto&t=0s • Optimizing UE4 for Fortnite: Battle Royale - Part 2 https://www.youtube.com/watch?v=1xiwJukvb60&index=15&list=PLZlv_N0_O1gYcueZ- mOraUuH0WufCLuto&t=0s その他講演プレイリスト • GDC 2018 | Unreal Engine https://www.youtube.com/playlist?list=PLZlv_N0_O1gYcueZ-mOraUuH0WufCLuto GDC講演Youtubeリンク