Light(ライト)
光と影のコンポーネント
項目
- Enabled:
- このコンポーネントを有効にするかどうか。
- LightType:
- ライトの種類。
0 Point 点光源(全方向) 蝋燭や電球など 1 Directional 平行光源 太陽 2 Spot 点光源(円錐状) 懐中電灯やヘッドライトなど (エリアライトなどは無いです。)
必要最小限の範囲を照らすのが効率的です。
- Intensity:
- 光の強さ。
- Color:
- 光の色。
- ShadowType:
- 影の種類。
0 None 影無し 1 Hard 影有り 2 Soft 影有り(境界をボカシて滑らかにする) 影有りライトを大量に使用すると、描画負荷が高くなります。
HardとSoftを単純に比較すると、Softの方がHardよりも処理負荷は高いです。
- ShadowStrength:
- 影の濃さ。
- ShadowNearPlane:
- 影の描画を開始する距離。
ポイントライト基準です。(スポットライトだと距離が変わる。)光源から指定した距離内は影を出さない。
- ShadowMapResolution:
- 影の解像度。
初期設定は0。(0だと、ユーザー側の『影の解像度』設定が使用されます。)特にこだわりがないのであれば、ユーザー側が品質設定できるようにしておいた方が無難です。
- ShadowBias:
- 影の設置感の距離設定。
ポイントライト基準です。(スポットライトだと距離が変わる。)例えば、地面に柱が建っている場合。この柱の根元の影に注目してみてください。
初期設定だと地面への落ち影に約13cmのスキマができます。この設定はセルフシャドウアーティファクトと呼ばれる、影のノイズ対策の為にあります。
値を小さくし過ぎると、縞模様の影ノイズが発生してしまうので、いい塩梅に調整してください。
- ShadowNormalBias:
- ディレクショナルライトのみ影響します。
値を大きくすると影が小さくなります。セルフシャドウアーティファクトの対策に使用します。
初期設定の0.6が最適なので、特にこだわりがないのであれば、そのままでもOKです。
- Range:
- 照射距離。
メートル×スケール。光が減衰して0になる距離です。無駄に長距離まで照射せず、必要最小限の距離にするのが効率的です。
- SpotAngle:
- スポットライトのみ影響します。
スポットライトの角度(円錐形)を設定します。最大180度です。無駄に広範囲を照らさず、必要最小限の範囲を照らすのが効率的です。
- Cookie:
- 光の模様。半透明画像を指定します。
スポットライト等の場合は普通の2D画像、ポイントライトの場合はキューブマップ(360度)画像が必要です。懐中電灯の模様とか、プロジェクターとか、ミラーボールとかが作れます。
クッキー画像は、外周が透明でClampされた画像を使用すると、綺麗に出来ます。
使用例
- ワールドの演出や懐中電灯などのアイテムに使用します。
勘違いしている人が多いですが、ワールドのライティングはAmbientLightSH2で行います。
AmbientLightSH2に追加する形で、演出用としてライトを使用しましょう。
- 照明器具、懐中電灯、車両のヘッドライト、プロジェクター、ミラーボールのキラキラ等、様々な演出に使用されます。
その他
- ライトは重たいから使わない方が良いと勘違いしている人が大勢います。(根拠の無い戯言は聞き流しましょう。)
Resoniteは某VRSNSとは根本的に異なります、無駄な先入観は捨て去り、情報のアップデートを怠らないようにしましょう。
(当Wikiの情報もいずれは古い情報になります。現地で学ぶことを忘れてはいけません。)
- ResoniteではPBSシェーダーが主に使用されています。
これらはDeferred Shadingなので、ライトを数百個使用してもFPSはほとんど低下しません。
ただし、影や半透明の処理負荷は高いので、少し工夫が必要です。 - ToonシェーダーはForward shadingなので、ライトの数だけ計算します。
その為、ライトに照らされるだけで高負荷になります。
アバター等にToonシェーダーを使用するのは良いとしても、意味もなくワールド全体をToonにするのはヤバイです。よくかんがえて工夫しましょう。
ちなみに、ダッシュメニューの設定>グラフィック>レンダリング品質>ピクセルあたりのライトで、計算回数の上限を設定できます。
- ワールドの見た目を綺麗にしたいのであれば、まずはAmbientLightSH2の設定を正しく行いましょう。