9_2_Directional_Light - gaj-cg/ray-mmd-docs-ja GitHub Wiki
Directional Lightは、遥か遠方からの照明で太陽光として利用されます。
このライトで作られる影は全て平行になるため、シーンの中でのライトの位置(座標)は照明効果に影響を与えません。つまり、何処に置いても結果は同じで、回転による向きだけが影響します。(距離による光源の減衰もありません。)
割り当てるfxファイルによって下記の効果が利用可能です。
ライト | 影 あり |
影 なし |
スペキュラ あり |
スペキュラ なし |
GIF | LED | IBL | フォグ |
---|---|---|---|---|---|---|---|---|
DirectionalLight | ✔ | ✔ | ✔ | ✔ | ― | ― | ― | ― |
Directional Lightはシーン全体の影を計算する必要があるため、計算コストは全てのライトの中で最大です。(MMDが持つ照明も同様にDirectionalLightとして扱われます。)
MMD標準のライトと比較すると、ボーンの回転やIKで向きを決定出来るのが利点です。
-
Lighting フォルダ
ファイル名 説明 DirectionalLight.pmx Directional Light のモデル兼コントローラー -
Lighting\DirectionalLight フォルダ
これらのファイルは特にユーザーが操作することはありません。
ファイル名 設定先 タブ 説明 directional_lighting.fxsub ―― Defaultフォルダ内のfxの共通処理 PSSM.fxsub ―― 同フォルダのPSSM1~4.fx用の共通処理 PSSM1~4.fx PSSM1~4 Directional Lightの影設定
(_with_shadow
のfxを割り当てると自動的に割り当てられる) -
Lighting\DirectionalLight\Default フォルダ
ライトの使用目的(影の有りなし、スペキュラの有りなし)で
LightMap
タブに設定するfxを選択します。ファイル名 設定先 タブ 説明 directional_lighting.fx LightMap 影なし:DirectionalLight.pmxを追加した時にデフォルトで「LightMap」タブに設定される。 directional_lighting_with_shadow.fx LightMap 影あり: directional_lighting_ambient.fx LightMap 影なし: _ambient
はスペキュラ(ハイライト)が乗らない。directional_lighting_ambient_with_shadow.fx LightMap 影あり: -
lighting用fxファイルの中身
LIGHT_PARAMS_TYPE 1 で ambient light、SHADOW_MAP_FROM 1 で影あり。
directional_lighting.fx directional_lighting_with_shadow.fx directional_lighting_ambient.fx directional_lighting_ambient_with_shadow.fx #define LIGHT_PARAMS_TYPE 0 0 1 1 static const float3 lightBlink 0.0 ← ← ← static const float3 lightColor 1.0 ← ← ← static const float2 lightIntensityLimits float2(1.0, 10.0) ← ← ← #define SHADOW_MAP_FROM 0 1 0 1 static const float2 shadowHardness float2(0.15, 0.5) ← ← ← static const float sampleRadius 2 ← ← ← static const float sampleKernel[5] {0.1784, 0.210431, 0.222338, 0.210431, 0.1784} ← ← ←
-
ライトモデルの追加
DirectionalLight.pmx
をMMDに追加します。「光源位置」ボーンでライトの位置、回転で向きを調整。光源の向きは「光源方向」IKボーンでも調整できます。
どちらの場合も「光源位置」は向きを決めるための原点に過ぎないので、好きな場所に移動させても光源の向きには影響はありません。※ 「Direction」ボーンは操作出来ないボーンです。
-
fxファイルの割当
Lighting\DirectionalLight\Default
フォルダ内のfx
をLightMap
タブでDirectionalLight.pmx
に割り当てます。
DirectionalLight.pmx
を追加した時に、デフォルトでdirectional_lighting.fx
が割り当てられています。 -
モーフの設定
必要に応じてDirectionalLight.pmx
のモーフを設定します。
最低限R+,G+,B+を調整しないと効果を確認出来ないでしょう。※
DirectionalLight.pmx
そのものを表示させたくない場合は、LightMap
以外のタブでDirectionalLight.pmx
のチェックをオフにします。
-
表情操作パネル 左上
表示名 機能 R+ ライトの明るさ(Red)を調整します。 -
表情操作パネル 右上
表示名 機能 G+ ライトの明るさ(Green)を調整します。 -
表情操作パネル 左下
表示名 機能 B+ ライトの明るさ(Blue)を調整します。 -
表情操作パネル 右下
表示名 機能 Range+ / Range- (本来なら光の届く範囲の増減だが、効果が確認出来ないので要調査) Intensity+ / Intensity- ライトの強度を調整します。 Blink ライトの点滅を調整します。0で点滅無し、大きくなるほど早く点滅します。 Hardness 本来なら下記のような機能だと思うが、最初からぼかしが無いので効果がみられない。
(光があたっている所とあたっていない所の境界部分のぼかし具合の調整。値を大きくすると境界がくっきりします。
影ありのfxをLightMap
タブに設定した場合に有効。)
Model : Hatsune Miku V4X Model by Digitrevx / pose : 初音ミクホームポジション by Rick