この煙がどのようにライティングされているかイメージできてますでしょうか??
半透明オブジェクトは、StationaryなDirectional Lightの影響を影付きで受けることができます。(このシーンのDirectional LightはなのでStationaryです)その様なライティングができるように。。ShadowMapのデータがあるということなので、メモリ量であったりそのクオリティだったりに注意する必要があります。
実はあまり知られてないのですが、オフィシャルドキュメントにも実はちゃんと記載されています。
こことか -> Lit の透過処理
透過アイテムは、ライティング ビルド時に生成された特別な静的シャドウ深度マップによってStationary Light (固定ライト) から静的シャドウイングを取得できます。
ここにも-> Stationary lights(固定ライト)
透過も Stationary light (固定ライト) で負荷をかけずにシャドウイングを受け取ります。Lightmass は、ランタイム時に透過に適用される静的ジオメトリからシャドウ深度マップを事前計算します。このシャドウイングの形式は非常に粗く、シャドウイングのキャプチャはメートル単位でのみ行います。
半透明ライティングの詳細は割愛しますが、一つの手法にTranslucencyLightingVolumeを毎フレームアップデートし続ける手法があります。このボリュームデータの計算のさい、たしかにこのShadow Mapが参照されます。
これはオフィシャルにも記載されているのですが、初期設定ではこの半透明用ShadowMapはデフォルト1メールと1ピクセルという非常に粗いものです。もしもこの影のクオリティを上げたい場合、解像度を高くする必要がありますが、その手法は三種類ほど用意されています。
1. LightのComponentのShadow Resolution Scaleを上げる
しかしこの手法だと他のShadowMapの解像度も上げる可能性があります
2. World SettingsのStatic Lighting Scaleを小さくする
しかしこの手法だと、他の間接光用Volume Dataの密度も上げてしまう可能性があります。
3. Lightmass.iniのStaticShadowDepthMapTransitionSampleDistanceX/Yを小さくする
この設定で、半透明用のShadowMapの解像度だけを個別に制御することができます
ということで、3番目の手法によりStaticShadowDepthMapTransitionSampleDistanceX/Yともに10にしてみました。下の様に解像度があがっているのがわかるかと思います。
実際のライティングにより具体的に反映させるには、半透明ライティングボリュームの解像度も上げる必要があったりしますが、半透明ライティングのイメージがつかめると幸いです。