Unity-BattleStar丨2. Unity光照系统、光照探头、反射探头、Lighting Mode

本文深入解析Unity中的光照系统,包括全局光照与局部光照的区别、实时光照与预先计算光照的应用方式,以及如何通过光照探头和反射探头增强场景表现力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. Unity光照系统

烘焙(是全局光):对场景进行灯光烘焙将光照信息储存在Lightmap中,当场景运行时,Unity直接读取Lightmap中数据,只进行一次计算。

要烘焙的物体应标记为Lightmap Static。

 

Unity光照分为全局光照和局部光照

1.全局光照:简单的说就是考虑到环境中所有表面和光源相互作用的照射效果

2.局部光照:简单的说就是只考虑光源到模型表面的照射效果

 

全局光照,简称GI,分为”实时”和”预先计算好的(离线)”两种光照。

    1.实时光照(光、物体改变随时计算),首先Light的Inspector-Light-Mode属性应是Realtime或者Mixed。

        1.1当选择Realtime时,在Windows-Lighting-Settings-Lighting选项卡有Ambient Mode选项,其中包含Realtime和 Baked,他跟下面的Realtime Lighting和Mixed Lighting(包含烘焙和实时光照两种)有关。当选择Realtime时,下方的Realtime Lighting和Mixed Lighting都勾选,也只运行实时光照Realtime Lighting脚本,并不会进行烘焙。若选择Baked,则 应取消勾选Realtime Lighting,只选择Mixed Lighting(否则效果是Realtime Lighting和Mixed Lighting的叠加)。此时既进行实时光照,也进行烘焙。

        1.2当选择是Mixed时,代表既进行全局光照,又进行局部光照。我们应用场景是:让静态物体烘焙,动态物体进行局部光照。Lighting选项卡直接取消勾选Realtime Lighting,选择Mixed Lighting,Ambient Mode会自动选择Baked。

    2.预先计算好的光照(光、物体位置改变,影子不会改变)。Light的Inspector-Light-Mode属性是Baked,且Lighting的Ambient Mode选择Baked或者取消勾选Realtime Lighting,选择Mixed Lighting(不可取消Mixed Lighting,否则就无法烘焙了)。此光照不会根据光照改变而实时改变。

勾选Auto Generate会在改变影响光照的相关参数后自动渲染光照。

 

 

二. 光照探头Light Probe Group

Area Light区域光只在Bake模式下工作,运动的小球没有被标记为Lightmap Static,所以不受Bake(无论Bake还是Mixed中的Bake[仍受局部光照影响])的影响,无法显示区域光的颜色。所以需要添加光照探头。

光照探头的作用:收集附近的光照信息,对探头范围内的对象进行实时渲染。

未添加光照探头(下)

添加光照探头(下)

 

 

三. 反射探头

反射探头的Type应为Realtime,且Refresh Mode应为Every frame(每一帧),这样运行时就能实时看到反射的画面了。

位置1(下)

位置2(下)

 

unity里Mixed Lighting下面几个Lighting Mode的解释:
 

三种模式,主要区别在于烘焙出的光照图、阴影图内容,也就影响到动、静态物件在运行时的受光、投影效果,效果越好越丰富的,开销自然也越大。

1、substrative:效果最单纯,所有颜色和阴影都烘死在光照图上,运行时静态物件不参与阴影图渲染,结果是不管光源怎么变,静态物件的受光和阴影都不变。

2、shadowmask:比substrative好一点,静态物件的阴影不变,但是受光情况可以随光源变化而变

3、baked indirect:仅烘焙间接光照(也就是物体之间漫反射导致的表面明暗效果),其它东西(如阴影)全部在运行时计算,跟实时差不多了。

 

 

Unity-BattleStar光照系统小结效果图:

注意:反射探头Reflection Probe更改大小的方法是点击“Edit bounding volume”按钮,修改Scene场景出现的5个小点的位置。

 

赛隆网讨论社区:http://www.vr910.com/forum.php?mod=viewthread&tid=5957&fromuid=30507

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值