体积雾、区域光和管状光 ===========================================
此仓库包含了为 Unity Adam 演示 实现的一些光照效果:体积雾、区域光和管状光。
系统要求------------------- - 计算着色器。已在 dx11、dx12 和搭载 Metal 的 OSX 上进行测试。也可能在其他搭载计算着色器的平台上运行。 - 已在 Unity 5.6 到 Unity 2018.3.0b5 中进行测试。如遇到新版本的问题,请告知我。
使用说明 -----------
体积雾
- 雾中的光散射的最终结果取决于三个因素:雾密度、雾的不对称性和光源。
- 要影响雾效果,区域光、管状光或点光需要具有 FogLight 组件,场景需要 LightManagerFogLights 的实例。
- 通过 VolumetricFog 组件上的全局雾密度控制,可以定义恒定雾密度、基于高度的指数型雾密度和动态噪声。
- 还可以通过 FogEllipsoid 形状来本地控制雾密度。
- 不对称性是 VolumetricFog 组件的全局属性。它允许光在前方散射比在其他方向散射更多,这是大颗粒(如雾水滴)发生米散射的特征。
面光源
- 面光源可提供很好的直射光效果,但其阴影和雾中散射效果在本项目中是非常粗略的近似值。- 使用 PCSS 实现了直射光软阴影,该技术对于我们特定的相机来说已经足够好,但总的来说并不太好,且设置很难调整。面光源的实时阴影仍然是一个开放的研究主题。- 正常的面光源应在整个前半球中对场景产生影响。由于阴影贴图很难处理(抛物面投影和多个阴影贴图并不太实用),因此在启用阴影时,面光源的影响仅限于一个锥体。