UE4 LIGHTMASS Deep Dive #UE4DD まとめ

2016/07/30に行われたUE4 LIGHTMASS Deep Diveで呟かれた内容をまとめました。 Deep Dive: Epic Games Japanが主催する、特定の技術分野に絞ったハイレベルな勉強会。 今回のテーマ:Lightmass 続きを読む
8
前へ 1 2 3 ・・ 14 次へ
のん @ UE4勉強中 @non_ue4

そして、シーンにフォトンを貯める #UE4DD

2016-07-30 13:14:20
くろさわ @kurosaurus

ここまでは普通のフォトンマッピングだ #UE4DD

2016-07-30 13:14:35
のん @ UE4勉強中 @non_ue4

フォトンが蓄積されたので、Lightmapのテクセルのライティングを、周りのフォトンから見積もる #UE4DD

2016-07-30 13:15:06
のん @ UE4勉強中 @non_ue4

ただ普通だとフォトンが足りない。何故足りないか #UE4DD

2016-07-30 13:16:05
もんしょ @monsho1977

ソースコードを変更してPhotonの放出量を増やしてもまだ足りない。#UE4DD

2016-07-30 13:16:45
のん @ UE4勉強中 @non_ue4

PointLightの場合、ランダムにフォトンを放出。なので、ある一点にフォトンが来る可能性は低い。なら、Indirectは…さらにランダムなので可能性が低い #UE4DD

2016-07-30 13:17:05
くろさわ @kurosaurus

フォトンはすごく大量にまかないと絵にならない #UE4DD

2016-07-30 13:17:29
のん @ UE4勉強中 @non_ue4

なので、フォトンマッピングだけでは足りない。なので、Final Gatheringを使う。テクセルからレイを飛ばして、フォトンを取りに行く #UE4DD

2016-07-30 13:17:49
くろさわ @kurosaurus

というか正確なライティングができない #UE4DD

2016-07-30 13:17:58
のん @ UE4勉強中 @non_ue4

周囲からテクセル取ってくるのではなく、テクセル自身がレイを飛ばしてフォトンを取る #UE4DD

2016-07-30 13:18:16
のん @ UE4勉強中 @non_ue4

エンジンのデバッグ機能で、その様子を可視化 #UE4DD

2016-07-30 13:19:08
もんしょ @monsho1977

近傍ピクセルだけじゃなく、自分自身に届くであろうPhotonをレイトレースして拾いに行くのがFinal Gathering。#UE4DD

2016-07-30 13:20:06
のん @ UE4勉強中 @non_ue4

Final GatheringだけでOK?…というわけではない。ノイズだらけになる (テクスチャの解像度が足りないような感じ) #UE4DD

2016-07-30 13:20:14
のん @ UE4勉強中 @non_ue4

綺麗にするなら、ビルド時間がとてもいる。なぜなら、それぞれのテクセルが相互に情報をやり取りしていない、独立しているから #UE4DD

2016-07-30 13:20:53
のん @ UE4勉強中 @non_ue4

なので、Irradiance Cachingを使う #UE4DD

2016-07-30 13:21:19
くろさわ @kurosaurus

ファイナルギャザリングは優秀だけど、フォトンマッピングの結果が荒いと、周囲のテクセルの結果が異なりすぎて、かなり精度をあげなくてはいけない #UE4DD

2016-07-30 13:21:56
のん @ UE4勉強中 @non_ue4

間接光はぼやけてるし、近くの間接光はだいたい同じでしょ?ということで、どこかでギャザリングしたらそれをキャッシュする。で、近くのテクセルはそのキャッシュを使う #UE4DD

2016-07-30 13:22:19
のん @ UE4勉強中 @non_ue4

キャッシュの半径は?どのような補間が適切? #UE4DD

2016-07-30 13:22:42
くろさわ @kurosaurus

イラディアンスキャッシュの説明うまいなあ #UE4DD

2016-07-30 13:22:52
のん @ UE4勉強中 @non_ue4

これもデバッグ機能で可視化。プレビューだと半径がとても広い。Productionだと半径が少ない。 #UE4DD

2016-07-30 13:23:37
Usui @Usui_KKYL

間接光の成分は、だいたい同じだとみなし、あるテクセルをファイナルギャザリングしたとき、キャッシュとして取り置いておく。近い位置のテクセルでファイナルギャザリングを取ろうとしたら、キャッシュから補完するようにするのが、Irradiance Caching #UE4DD

2016-07-30 13:23:48
もんしょ @monsho1977

Final Gatherの結果を近傍ピクセルで利用するためにキャッシュするのがIrradiance Caching。近場なら似たような結果になるでしょ?というコンセプト。#UE4DD

2016-07-30 13:23:59
のん @ UE4勉強中 @non_ue4

Previewだと半径が減るので、ノイズは少なくなるけどディティールがなくなる #UE4DD

2016-07-30 13:24:07
のん @ UE4勉強中 @non_ue4

photonを出すIndirectLighitng。まずはフォトンを放出。そして、各テクセルに対して近くにキャッシュがあるか確認。あれば、それを使う。なければ、そのテクセルからレイを飛ばしてフォトンを取ってくる。で、キャッシュ化する。これを繰り返す #UE4DD

2016-07-30 13:25:11
のん @ UE4勉強中 @non_ue4

Photonを出さない、SkyLightについて #UE4DD

2016-07-30 13:25:37
前へ 1 2 3 ・・ 14 次へ