Unity-VolumeLighting组件(体积雾/光效果)使用小记

Unity的实例《Neno》就使用了VolumeLighting 组件 

突然发现了Unity提供的一个开源组件VolumeLighting ,简单记一下用法。

下载地址:https://github.com/Unity-Technologies/VolumetricLighting

 

Volumetric fog

首先需要在目标相机上挂载一个Volumetric fog

Global Densit Mult和Constant Fog 都是调雾的总体浓度的

HeightFog 应该是设置高度雾相关的参数

Noise Fog Amount/Scale 噪声雾的强度和细节缩放 NoiseFog设为0就是单纯的按距离设置雾的强度

Lights部分分别是对场景所有的光源(对于Unity自带的Ponit也有效哦,只要加上FogLight脚本)强度的统一调整 以及环境光的强度和颜色

Noise Fog Amount=0

Noise Fog Amount=0.5;Noise Fog Scale=1

Noise Fog Amount=0.5;Noise Fog Scale=2

Wind

风可以让雾移动,当然如果Noise Fog Amount=0相当于没效果,官方以及提供了prefab,拖出来用就好了

这个Gizmo表达的很明确了

Anisotropy

Anisotropy是各向异性,值越大,雾的散射越大,比较适合模拟液滴构成的气团(比如水汽)

光源

光源总共有两个 面光和管状光 但是要想让光源对体积雾产生影响,需要在场景中添加一个LightManagerFogLights ,它的prefab已经放在文件夹中了,拖进场景即可(其实还有有LightManagerFogEllipsoids版本的,略过)


面光和管状光都有做好的prefab,拖进场景就可以用了,这里讲的是两个光源组件

Area Light

RenderSource 是否渲染网格 

Size调大小,angle调扩散范围

然后是阴影,这里的阴影指的是光源对物体与物体之间产生的阴影,(后面还会有光源对于雾的阴影,两者不要搞混)

Tube Light

tubelight不支持阴影,但是可以用ShadowPlane来做一定的模拟,它长这样,Feather值应该是对光线的遮挡强度

Feather=2和Feather=4

Point Light

Unity自带的点光源也是可以用的,只要附上FogLight脚本

FogLight

LightManagerFogLights脚本会收集每个Area/TubeLight的FogLight,Volumetric fog再通过LightManagerFogLights获取这些信息处理雾效,FogLight有两部分,对体积雾的阴影部分只有AreaLight实现了。

这部分是对光源的强度和范围作出额外的调整最终得到光源相对于体积雾的强度和范围

如下,左边光源的Intensity值为1,intensity Mult值也为1 右边Intensity=5,intensity Mult=0.2,可以看到光源对雾的影响相同,但是右边光源产生的阴影更加重,同时反射也更加强烈


第二部分是阴影

注意这里的阴影指得是物体对体积光的遮挡,前面光源中的阴影是物体对物体的阴影,两者是不一样的

右图物体挡住了光源对体积雾的折射  同一时间只能计算单独一个面光对于体积雾的阴影

 

 

 

  • 21
    点赞
  • 90
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值