unity2017 场景光照贴图烘焙记录

按照LightingMod 区分

Subtractive模式

在这里插入图片描述
可见:
静态游戏对象:无任何镜面高光或者光泽高光;可接受主方向光的投射的动态对象的阴影
动态游戏对象:接受主方向光投射的阴影;支持主方向光的光泽反射。

结合官方文档的描述:Subtractive 是唯一将直接光照烘焙到光照贴图中并丢弃 Unity 用于在其他混合光照模式下合成动态和静态阴影的信息的混合光照模式。由于光照已烘焙到光照贴图中,因此 Unity 无法在运行时执行任何直接光照计算。

在 Subtractive 模式下,主方向光(通常为太阳)是唯一将动态游戏对象的实时阴影投射到静态游戏对象上的光源。从静态游戏对象投射到其他静态游戏对象的阴影将烘焙到光照贴图中,即使对于主光源也是如此,因此 Unity 无法保证烘焙阴影和实时阴影的正确合成

个人觉得Subtractive最大的问题是静态游戏对象镜面高光的丢失。对于使用T4Mshader 的地表而言,没有高光效果现阶段是无法接受的。

Baked Indirect 模式

在这里插入图片描述
MixLight :Shadow Type: No Shadows

可见:
静态物体:无阴影;有高光、光泽度。
动态物体:同实时光。

结合官方文档的描述:对于设置为 Baked Indirect 模式的光源,Unity 仅预先计算间接光照,不执行阴影预计算。阴影在__阴影距离 (Shadow Distance)内是完全实时的。换句话说,__Baked Indirect 光照行为类似于带有额外间接光照但超出__阴影距离__后没有阴影的实时光源。您可以使用后期处理雾效之类的效果来遮挡超过该距离的缺失阴影。

个人理解 Baked Indirect 模式效果是可以接受的。缺点是:
静态物体需要有阴影,主方向光的MixLight Mode 需要产生阴影,移动平台一般Hard Shadows。由于都是从阴影贴图产生阴影的,对场景的资源有很高的要求了。改减面的减面,改剔除的剔除。同时在某些角落的物体产生阴影和接受阴影都勾掉,用来省电!
还有一个缺点是不会渲染超出阴影距离的阴影。这点看情况吧,有雾的情况下还好。

ShadowMask

理解这几种模式时需要明确2个名词:ShadowMask与ShadowMap。即阴影遮罩和阴影贴图。
阴影遮罩是一种用于控制哪些物体接受阴影的技术。它通常用于提高渲染效率,减少渲染阴影所需的计算量。阴影遮罩通过指定渲染物体的一种遮罩或标记来确定哪些区域需要接收阴影,哪些区域不需要。这个遮罩可以是一个简单的黑白图像,其中黑色表示不接收阴影,白色表示接收阴影。通过使用阴影遮罩,开发人员可以更精确地控制阴影效果的渲染,从而提高性能。一般由烘焙产生。
阴影贴图是一种用于计算阴影的技术,它通常用于确定光源投射的阴影在场景中的位置。阴影贴图是一种深度贴图,用来记录从光源角度看到的场景的深度信息。在渲染阴影时,系统会将阴影贴图与场景中的物体进行比较,以确定哪些像素应该被阴影覆盖。阴影贴图通常与灯光源(如太阳光、点光源或聚光灯)关联,以生成逼真的阴影效果。一般是实时的。

混合光源关闭阴影后:
在这里插入图片描述

可以看到混合光关闭阴影后,部分静态物体会非常黑。因此需要开启阴影已实现效果。

官方介绍说:
鉴于 Shadowmask 模式的性能要求,该模式非常适合以中低端 PC 和移动设备为目标的构建
可以接受。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值