Unreal Engine4 の物理ベースなシェーダ・ライト, BluePrint
概要
- Unreal Engine 4 (アンリアルエンジン4)の物理ベースなシェーダ, ライト, Unreal Editor の BluePrint(ブループリント)について簡単に説明します.
追記
- 7/27 に SIGGRAPH 2013 の資料が公開されたので, より詳しい説明は下の URL に書きました.
- "Unreal Engine4 のリアルなシェーディング" (SIGGRAPH 2013)のシェーディング編 http://d.hatena.ne.jp/hanecci/20130727/p2
物理ベースなシェーダ( Physically based shader for Unreal Engine 4 )
- 標準シェーダが物理ベースなレンダリングに対応したシェーダに一新していました.
- 実装には "Physically-Based Shading at Disney" SIGGRAPH2012を参考にしたらしいです.
- シェーダの主要なパラメータは 4 種類で, ベースカラー・メタリック・ラフネス・スペキュラでした.
- ベースカラー
- メタリック
- これはディフューズライティングとスペキュラライティングのリニア補間する割合だと思います.
- 0.0 のときはディフューズライティングの結果になり, 1.0 のときはスペキュラライティングのみの結果になっていました.
- ラフネス
- これは従来通りのマイクロファセットによる表面の粗さを制御するものです.
- スペキュラ
- このパラメータについてはあるけど, 基本的には使っていないと言っていました.
- 下に貼り付けた図は "Physically-Based Shading at Disney" の pdf に載っていた図で, 各パラメータを変更させたときの見た目の変化を表しています.
- この図を見ると, メタリック(metallic)が 1.0 へと変化したときにはスペキュラにベースカラーが載っている状態(金や銀, 銅などの金属のスペキュラ)になっています.
- 一方で, スペキュラ(specular)が 1.0 へと変化したときにはスペキュラにベースカラーが載らない状態(プラスティックなど非金属のスペキュラ)になっています.
- 最後に, 下に "Physically-Based Shading at Disney" の pdf に載っている各パラメータの意味合いを貼り付けました.
metallic - the metallic-ness (0 = dielectric, 1 = metallic). This is a linear blend between two different models. The metallic model has no diffuse component and also has a tinted incident specular, equal to the base color. baseColor - the surface color, usually supplied by texture maps. roughness - surface roughness, controls both diffuse and specular response. specular - incident specular amount. This is in lieu of an explicit index-of-refraction.
複数のマテリアルレイヤー
- 複数のシェーダの結果を混ぜるために, 複数のマテリアルレイヤーに対応していました.
- これについても "Physically-Based Shading at Disney" に概念に関する説明がありました.
ライト
- ライトについては照明器具の照度データである IES light profile を利用していました. ( Killzone : Shadow Fall とかと一緒のアプローチ です. http://d.hatena.ne.jp/hanecci/20130520 )
Unreal Editor の BluePrint (ブループリント)
Unreal Engine4 は SVOGI (Sparse Voxel Octree Global Illumination)の機能は入らないらしい
- Unreal Engine4 はリアルタイム GI の方法として, シーンをボクセル化してから GPU でボクセル空間をレイトレースする SVOGI (Sparse Voxel Octree Global Illumination)という技術を採用すると一時期 発表していました.
- しかし Tim Sweeney によると, SVOGI は GPU 処理が重過ぎて実ゲームにはまだ使えなさそうなのでこの機能を Unreal Engine4 に入れるのはやめて, 他の手法を探しているそうです.
- http://playstationgang.com/epic-games-tim-sweeney-explains-lack-of-global-illumination-in-unreal-engine-4/
- http://www.dsogaming.com/news/epic-games-tim-sweeney-explains-lack-of-svogi-in-unreal-engine-4/
参考文献
- Physically-Based Shading at Disney (Brent Burley) SIGGRAPH 2012