SlideShare una empresa de Scribd logo
1 de 37
Ray Tracing Night Week 2020
UE4.25のレイトレで出来ること/出来ないこと
内容
UE4.22→4.25のレイトレーシング周りのアップデート情報
・アップデートの全体的な傾向
・レンダリング可能オブジェクト
・全般的な更新情報
・リフレクション
・グローバルイルミネーション
・シャドウ、スカイライト
・半透明
まとめ
不具合情報
より理解するための資料
UE4のレイトレーシングで出来ること/出来ないこと
https://www.slideshare.net/SatoshiKodaira/ue4-141971670
昨年のUE4 Ray Tracing Nightの資料
本資料は上記資料のアップデートパッチ的なもの
アップデートの全体的傾向
アップデートの全体的傾向
UE4.25でProduction Readyに!
UE4.22ではまだExperimental(実験的)だった
製品に使えるというEpicさんのお墨付き
実際にはまだまだ波乱万丈
描画可能なオブジェクトが増加
不具合修正や挙動の見直しによる高速化
テクニックは特に増えていない
ハードウェア
現在は特にアップデートなし
NVIDIA Geforce RTXシリーズ/GTXシリーズ 1000番台
レイトレーシングを行うRTCoreはRTXシリーズのみ
GTXシリーズはCompute Shaderによるエミュレーション
AMD RDNA2
対応発表済み、発売は秋~年末予定?
新ゲームコンソール
PS5とXbox Series Xが対応発表済み
UE4も対応予定
レンダリング可能オブジェクト
レンダリング可能オブジェクト
新しく対応したもの
Landscape
r.RayTracing.Landscape でON/OFF可
Foliage
Instanced Static Mesh
r.RayTracing.InstancedStaticMeshes でON/OFF可
Procedural Mesh
Mesh Decal
対応してないもの
Cascade
Decal
レンダリング可能オブジェクト
Mesh Decal
一応対応したことになっている?
r.RayTracing.ExecludeDecal を1にすると無効にできる
画面の状態でExecludeDecalを1にするとクラッシュ
Visible In RayTracingをOFFにした方が良さそう?
Mesh Decalを使用したキューブ
グレー部分がMesh Decal有効
リフレクションの結果
レンダリング可能オブジェクト
World Position Offsetへの対応
Static Mesh、Skeletal Meshで使用できるようになった
Static Meshの場合は以下のチェックボックスをONにする
Evaluate World Position Offset
Instanced Static Meshでは有効にならない
チェックボックス自体はあるが効果なし
Vertex Animation Texture (VAT) が使えるようになった!
全般的な技術の更新
全般的な技術の更新
SceneCaptureでレイトレを使用できる
4.22でも使えたかもしれないが、4.23からは確実に入っている
4.25からは r.RayTracing.SceneCaptures でON/OFFできる
SceneCaptureCubeで活躍
SSRだとキューブ接続部分でリフレクションがおかしくなるため
Screen Space Reflection Ray Tracing Reflection
全般的な技術の更新
対応するライティングモデル
Opaqueに関してはほとんど対応している
ただしSubsurface系で不具合あり
対応予定あり
光が透過してくる方向の色がおかしい
全般的な技術の更新
Lighting Miss Shader
ライティング計算をMiss Shaderで行う手法
リフレクション、GIでの高速化を目的としている
常に高速になるという保証はないのでプロファイルしましょう
NVIDIAさんのブランチで実装されていた機能
以下のブログが詳しい
https://shikihuiku.wordpress.com/2019/12/12/ue4-rtx4-23ブランチのmissshaderlightingは何をしているのか/
なぜかライト数が64個に限定される(4.25.1現在)
使用しない場合は256個まで
NVIDIAブランチの実装では256個まで使える
リフレクション
リフレクション
Sort Materialsがデフォルト有効に
3パスでリフレクションを計算する実装
・レイトレを行い、ヒットするマテリアル番号を抽出
・CSでマテリアル番号をソート
・ソート順にレイを飛ばしてリフレクション計算
マテリアル数が多い場合に高速化しやすい
テクスチャキャッシュや命令キャッシュが効きやすくなる
マテリアル数が少ないと逆に遅くなるかも
SamplePerPixelのループがなくなった
サンプル数分だけレイトレパスを実行する形式に変更
Sort Materialsの影響かも
リフレクション
Hybridリフレクションによる高速化
r.RayTracing.Reflections.Hybrid でON/OFF
レイがヒットした位置が画面内にあるなら画面のカラーを取得する
ライティング計算が省けるので単純に高速化できる
ライティング計算とスクリーンカラーで差異が出る
境界が見える場合がある
半透明マテリアルのON/OFFができる
デフォルトOFF
必要ならONにできるが、クオリティは低いので注意
半透明ライティングは正常動作しない
くっきりとしたシャドウが出る
Niagaraは相変わらず板で表示される
リフレクション
半透明マテリアルが天球に負ける
天球メッシュがレイトレでInvisibleの場合
レイが不透明メッシュに衝突しないと半透明が処理されないため
天球メッシュのVisible In RayTracingをONにすればOK
BP_Sky_SphereはOFFになってるので注意
リフレクション
天球OFF 天球ON
リフレクション
Experimental Deferred
Experimentalな機能と思われる
Sort MaterialsがONになっている場合と基本的には同じ
Material Gatherのレイトレ前に飛ばすレイがソートされる
レイの方向が似たような方向になるようにソート
同一方向のレイならBVHのトラバーサルが速いかも?
まだExperimentalだからか、そこまで速くない
むしろ遅い場合が多い?
Max Bouncesが有効にならないなど、デフォルトに対して機能が劣る
現段階では使う意味はなさそうだが…
グローバルイルミネーション
グローバルイルミネーション
Final Gatherが追加されて高速化
PostProcessVolumeでBrute ForceとFinal Gatherを選択できる
ピクセルごとのサンプル数が増えてもひどい速度低下はない
4サンプル→0.5ms
64サンプル→2.5ms
サンプル数が増えると綺麗になりやすい
最大バウンス数は効果なし
マルチバウンスの効果が高い暗めのシーンで使いづらい
シャドウ、スカイライト
シャドウ、スカイライト
Hair Strandsの遮蔽に対応
UE4.24から追加されたHair Strands (Groom)の遮蔽を有効にできる
r.RayTracing.Shadows.EnableHairVoxel
r.RayTracing.SkyLight.HairVoxel
Hair Strands は遮蔽をVoxelで行ってるらしい
あんまり詳しくないが、ソースを読む限りそんな感じに見える
試せてないので速度など不明
半透明
半透明
屈折がこれまで以上に正しくなった?
正確かどうかはともかく説得力は段違い
相変わらずSpecular値で屈折を表現する
0.0の場合に屈折なし
半透明
複数重なった時の屈折が微妙?
背景の天球が下半分だけ消える
屈折しなければ消えない
Specular: 0.0 Specular: 0.1
半透明
レイトレ半透明は反射も入る
ガラスの表現としてはかなり重要
半透明
対応する半透明タイプはTranslucentとAdditiveのみ
それ以外はTranslucent扱い
Modulateは未対応
左:Translucent 右:Additive
Opacityはともに1.0
半透明
レイトレ半透明越しの反射
半透明越しに反射した半透明はOpacityが無視される
半透明越しに反射した半透明は直接ライトのみ有効
スカイライトや反射キャプチャは効果なし
半透明越しに反射した半透明をOFFにする手段はない
半透明越しにツルツルな金属があると見た目が明らかにおかしい
ここは鏡張り半透明板
鏡に映った半透明板
半透明
レイトレ半透明越しの反射
わかりにくいので図解!
カメラ
半透明板
鏡板
Primary Ray
(最初のレイ)
半透明を抜けた
レイ
ここのライティング結果に
半透明を合成した結果が
最終結果となる
鏡に反射したレイは半透明板に衝突
半透明板のライティングが直接光のみなの
で、Sky LightやReflection Captureの結果
が無視される
半透明として処理されないのでここでレイト
レーシングは終了
半透明
レイトレ半透明越しの反射
レイトレリフレクションとは無関係に反射される
レイトレリフレクションOFFだと映像がだいぶおかしい
半透明板を通した部分はレイトレ
直接見えてる部分はレイトレリフレクションOFF
SSRになっているのでカメラの後ろは映らない
半透明
半透明とリフレクションは相性が悪い
半透明越しのリフレクションでもその逆でも同じ
使いどころが難しい
半透明のガラスに映り込みをやりたいけど、半透明自体はラスタライズと同じ
処理がしたい!
方法その1:インテリアマッピングを使用する
外から見える部屋のガラスなどの特定要素でしか使えない
方法その2:Hybrid Translucencyを使う
NVIDIA社のRTXブランチに存在する機能
https://shikihuiku.wordpress.com/2019/12/03/ue4-rtx-4-23ブランチのhybrid-translucencyは何をしているのか/
まとめ
まとめ
描画に利用できるオブジェクトが増えた
特にWPOが使用できるようになったのは大きい
不具合修正、最適化が多い
4.22ではExperimentalだったので当然かも
Alembicでクラッシュする問題も解決している
VATが使えるようになったのでゲームでは不要かも
でもまだ不具合多い
GPUドライバハング、Device Removeなどは原因がわかりにくい
不具合情報
Landscapeをサブレベルに配置して読み込むとクラッシュする
4.25.2で修正済み
一部の機能をコンソールコマンドでON/OFFするとクラッシュすることがある
報告済み
r.RayTracing.AsyncBuild
レイトレーシングシーンの構築を非同期コンピュートで行うフラグ
ONにすると死ぬ
そもそも普通にクラッシュする
D3D12の実装に問題あるのかも
ポストモーテムと質疑応答
8/24(月) 21時~

Más contenido relacionado

La actualidad más candente

UE4 LODs for Optimization -Beginner-
UE4 LODs for Optimization -Beginner-UE4 LODs for Optimization -Beginner-
UE4 LODs for Optimization -Beginner-com044
 
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る!  | UNREAL FEST EXTREME 2020 WINTERUE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る!  | UNREAL FEST EXTREME 2020 WINTER
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTERエピック・ゲームズ・ジャパン Epic Games Japan
 
50分でわかるブループリントについて
50分でわかるブループリントについて50分でわかるブループリントについて
50分でわかるブループリントについてMasahiko Nakamura
 
UE4のレイトレで出来ること/出来ないこと
UE4のレイトレで出来ること/出来ないことUE4のレイトレで出来ること/出来ないこと
UE4のレイトレで出来ること/出来ないことSatoshi Kodaira
 
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DDマテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DDエピック・ゲームズ・ジャパン Epic Games Japan
 
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...エピック・ゲームズ・ジャパン Epic Games Japan
 
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -historia_Inc
 
UE4でTranslucencyやUnlitに影を落としたい!
UE4でTranslucencyやUnlitに影を落としたい!UE4でTranslucencyやUnlitに影を落としたい!
UE4でTranslucencyやUnlitに影を落としたい!com044
 

La actualidad más candente (20)

UE4 LODs for Optimization -Beginner-
UE4 LODs for Optimization -Beginner-UE4 LODs for Optimization -Beginner-
UE4 LODs for Optimization -Beginner-
 
UE4における大規模背景制作事例(コリジョン編)
UE4における大規模背景制作事例(コリジョン編) UE4における大規模背景制作事例(コリジョン編)
UE4における大規模背景制作事例(コリジョン編)
 
UE4のモバイル向け機能や最新情報などを改めて紹介!2019
UE4のモバイル向け機能や最新情報などを改めて紹介!2019UE4のモバイル向け機能や最新情報などを改めて紹介!2019
UE4のモバイル向け機能や最新情報などを改めて紹介!2019
 
UE4アセットリダクション手法紹介
UE4アセットリダクション手法紹介UE4アセットリダクション手法紹介
UE4アセットリダクション手法紹介
 
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
 
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る!  | UNREAL FEST EXTREME 2020 WINTERUE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る!  | UNREAL FEST EXTREME 2020 WINTER
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
 
大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD
大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD
大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD
 
60fpsアクションを実現する秘訣を伝授 基礎編
60fpsアクションを実現する秘訣を伝授 基礎編60fpsアクションを実現する秘訣を伝授 基礎編
60fpsアクションを実現する秘訣を伝授 基礎編
 
50分でわかるブループリントについて
50分でわかるブループリントについて50分でわかるブループリントについて
50分でわかるブループリントについて
 
豚×京都 ~UE4でなろう破壊神~ (UE4 VFX Art Dive)
豚×京都 ~UE4でなろう破壊神~ (UE4 VFX Art Dive)豚×京都 ~UE4でなろう破壊神~ (UE4 VFX Art Dive)
豚×京都 ~UE4でなろう破壊神~ (UE4 VFX Art Dive)
 
UE4のレイトレで出来ること/出来ないこと
UE4のレイトレで出来ること/出来ないことUE4のレイトレで出来ること/出来ないこと
UE4のレイトレで出来ること/出来ないこと
 
UE4における大規模背景制作事例 描画特殊表現編
UE4における大規模背景制作事例 描画特殊表現編UE4における大規模背景制作事例 描画特殊表現編
UE4における大規模背景制作事例 描画特殊表現編
 
エフェクトツール機能の実装例
エフェクトツール機能の実装例エフェクトツール機能の実装例
エフェクトツール機能の実装例
 
UE4の色について v1.1
 UE4の色について v1.1 UE4の色について v1.1
UE4の色について v1.1
 
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DDマテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
 
UE4におけるエフェクトの為のエンジン改造事例
UE4におけるエフェクトの為のエンジン改造事例UE4におけるエフェクトの為のエンジン改造事例
UE4におけるエフェクトの為のエンジン改造事例
 
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
 
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
 
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
 
UE4でTranslucencyやUnlitに影を落としたい!
UE4でTranslucencyやUnlitに影を落としたい!UE4でTranslucencyやUnlitに影を落としたい!
UE4でTranslucencyやUnlitに影を落としたい!
 

UE4.25のレイトレーシングで出来ること/出来ないこと