unity-light2-阴影

1. 没有阴影的原因

1.检查 是否灯光开启了阴影

2.检查物体是否接受阴影

3. Project Settings -> Quality  中的 Shadows 是否关闭了

4.在手机上没有阴影的原因,检查是否选择 Low 和 Very Low 等级,默认是不显示阴影的。

 

5. 检查物体的 shader 是否接受阴影。

 

2.烘焙光照阴影

 

全局光照,简称GI,是一个用来模拟光的互动和反弹等复杂行为的算法, 要精确的仿真全局光照非常有挑战性,付出的代价也高,正因为如此,现 代游戏会先一定程度的预先处理这些计算,而非游戏执行时实时运算。

选择物体为 static 或者为 Contribute GI, 灯光选择为 Baked 类型,然后烘焙,烘焙完成后,将会光照贴图,物体不再受灯光影响。

 

烘焙完成后,Shadow casters 为 0,则代表成功。

烘焙完成后,如果发现颜色变暗,确保下面这两个都开启了

3.Mixed烘焙光照阴影

有时候需要,静态的物体用光照贴图,但是动态的物体需要实时的光照。

 

灯光类型改为 Mixed

新建一个 cube, 发现没有阴影

再次 Generate Lighting ,然后就有阴影了。

 

如果发现 静态物体拖动的时候,阴影会移动,修改 Shadowmask Mode 类型 为 Shadowmask,

Distance Shadowmask 只会在距离范围外用 光照贴图。

 

 

4.Mixed烘焙光照模式选择

 

Baked Indirect

只烘培间接光照,直接光以及阴影进行实时计算。运行时改变灯光,直接光照和阴影就会变,但间接光不变(如果间接光弱,视觉影响不大)。只减少间接光照的实时计算,适合对光照要求较高的场景,内存消耗小,当然性能的消耗也大。

 

Shadowmask

在上一部的基础上,对静态物体直接光照产生的阴影也会被烘培到ShadowMask中,动态物体不受影响。运行时改变灯光只有间接光照和静态物体的阴影不受影响。内存中多了一份Shadowmask,比上一部少了静态物体阴影的计算,占用性能小了一点。注意开启Shadowmask需要在QualitySettings设置Shadowmask Mode为Shadowmask。
 

Subtractive

静态物体:直接光和间接光都烘焙到光照贴图中;动态物体:接收直接光,可以在静态物体上投射主方向光的阴影。运行时改变光照,静态物体直接光、间接光、阴影不受影响,动态物体的直接光、主灯光(平行光)投射的阴影受影响、其他灯光无阴影。性能消耗最小,应用广。

 

5. 烘焙参数

 

Direct Samples 直接光照采样 影响质量、速度
Indirect Samples 间接光照采样 影响质量、速度
Indirect Resolution 间接光照分辨率 影响质量、速度
Lightmap Resolution Lightmap分辨率 影响质量、速度、大小
Lightmap Size Lightmap尺寸 影响质量、速度、大小
Filtering 影响烘培阴影边缘
 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值