Unity Asia Bootcamp Tour Tokyo レポート その3:Lighting worlds in Unity / Unity のライティングを極める
http://unity3d.co.jp/asiabootcamp/
講演内容3つ目です。これがきつかった…。内容難しいわ。スピーチ速いわで。
「ライティング」と銘打っていますので、より専門的な内容になっています。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#B122:
Lighting worlds in Unity / Unity のライティングを極める
Kuba Cupisz 様(Unity Technologies)
■概要
- Unityのライティングは柔軟性を重視。様々なゲームの種類に対応。構築できる。
- ハイエンド、モバイル双方で幅広く実行できるライティング
- リアルタイムライト、ベイクライト双方を使用可能。
TIPS:スポットライト、ディレクショナルライトなどに、テクスチャの投影が出来るらしい。
- -
■ポイントシャドウ
- シャドウマップの場合、ピンホールカメラのような投影。
- 6回描画するので推奨しない。
- ポイントライトは、フィル(シャドウなし)として使用して欲しい。
- -
■スポットシャドウ
ポイントより少し負荷が低い
- -
■ディレクショナルシャドウ
- -
■シャドウマップ
- メモリ制約で大きなテクスチャが使えない。
- カスケードシャドウマップを使う。カメラ近いと高解像度に。
- マップ間の移行を見えないようにするのが重要。
- 多くのエリアに影がかかるものに注意。処理負荷が大きくなる。
- -
■シャドウプロジェクション
- クローズフィット
- 動的なものに使える。
- 影の境界部分で画像が変わる?←よく分からなかったね。
- アーティファクトが発生。
- 解像度が高ければいいが・・・
- ステイブルフィット
- 静的なものに。
- ライトの方向、カメラの画角が変わらなければ使える。
- カメラや画角が動かなければ、ステーブルフィットをおすすめする
- -
- -
- -
■デファードライティング
- シーンジオメトリとライティングを切り離す
- ジオメトリをレンダリングして格納。
- 法線、スペキュラ、Z深度はG-Bufferに格納。
- 2回目のレンダリングで、前のレンダリング情報を利用してライティング
- メリット
- 小型のライトに向いている
- 負荷がピクセル数に依存するため。
- ライトが隠れてる場合も低負荷。
- G-Bufferの情報を再利用できる。
- デメリット
- 2回レンダリングの負荷。ジオメトリに依存。ライトに依存しない。←これはメリットでもあるんじゃない?
- 帯域が必要。テクスチャがシーンにたくさんあると問題。
- シャドウキャスティングは高負荷。
- 制約:ライティングモデルは、全て同じ設定にしなければならない。
- 透明なオブジェクトは、フォワードレンダリングで処理することになる。
- Unity側で自動的に処理。
- ライトの数に応じてレンダリングが発生する。
※アルベドってちょいちょい話には出てくるんだけど、仕事では具体的に使ったことないなあ。
たぶんカラーとかテクスチャだけのレンダリングだと思うのだけど。イマイチ詳細な情報が無い。
こんなん
↓
参考→VRay MentalRay Lighting Demoreel 2011 - アルベドマップも確認出来て、ライティングの重要性が伝わるリール!
- -
■異なるアプローチ…ライトマップ
- Beastでライトマップ出力←先の講演内容とかぶるね。
- ライトマップはディフューズの情報しかない。
- スペキュラ、ノーマルは?→別のDirectionalライトで。
- -
■デュアルライトマップ
- -
■シングルライトマップ
- -
■ディレクショナルライトマップ
- バンプ、スペキュラの情報を格納
- メリット
- 法線マップが使える。
- ライトマップのサンプリングが1回で済む。←どういうことだろうか?
- デメリット
- 平面であれば問題ないけど、球とかだと問題がでる?
- -
■ライトプローブ
- あくまでも近似の方法
- プローブ同士の補間は?
- 4頂点のテトラで補間。Unity上で可視化出来る。
- 長めの四面体はうまくいかない。大きさ揃える。
- プローブ配置はマニュアルでやったほうがいい。
- 重要なところに配置する。
- -
■レンダリングコスト
- -
■シャドウパフォーマンス
- -
■シャドウのクオリティ
- 距離(ディスタンス)がクオリティに関わる。
- あまり遠い距離にしない。近めに保っておく。
- デフォルトシャドウはハード。くっきり
- できるだけソフトにする。自然に見えるように。
- ブラーをかける
- シャドウの境界線に自然なフェード付けられる
- Radiusを大きくし過ぎないように。
- -
■ライトマップのこつ
- ライトマップのスイッチ
- ムードによって変える
- 3、4つのセットを用意して切り替える。
- ポップしてしまう時の対応は?スムーズなトランジションは可能?
- ライトマップのセットをフェードさせる
- -
■ライトプルーブ(SH)の再利用
- マズルフラッシュとか
- 方向性、精度が気にならない場合は使える。
- -
■質疑応答
- ライトマップ計算のスピードアップのコツは?
- スピードは設定に依存するため、クオリティ、サンプルの数値を減らす。
- シーンを抽出。小さな部分に注目してやっていく。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
…以上で本日僕が参加した講演は終了。あと2コマづつくらいありましたが、仕事があったので帰りました。
あとは金曜に参加したセミナー2つ。残りはまた後で更新します。