Unity3d 光照贴图 LightMapping

本文详细介绍了光线贴图的强大功能及其在商业烘焙引擎Beast中的应用,包括环境光、反射光源、漫反射、自发光体等贴图的计算与显示,并阐述了光源选项、Lightmapping配置、Shader定义等关键概念,同时提供实例说明如何通过定义特定Shader Pass来确保烘焙结果的正确呈现。

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

这里写图片描述
光照贴图的强大功能我们是有目共睹的,而且Beast作为一个商业烘焙引擎更不会让我们失望。
这里写图片描述
环境光,反射光源,漫反射,自发光体等贴图都计算并显示了。

这里有几个使用常识。
光源选项:Lightmapping 成为RealtimeOnly的实时光照,这时候ForwardPath定义过得材质皆可接受光照..
一般Lightmapping为Auto选项的光源,在烘焙贴图之后,对于烘焙后的物件,这个光源就失去效用了,但对未烘焙物件还是有用的。

对于ForwardBase Pass和ForwardAdd Pass路径下的shader而言,如果不在Pass里增加获取Beast生成的light map并且叠加到光照色彩渲染的话,就没有烘焙贴图的效果。
但是要注意,如果只自定义Vertex Pass路径的shader则烘焙之后,物件会消失。因为烘焙贴图一般只支持Forward以上的高级Pass.. 但是如果在shader中增加定义
Pass{
Tags {“LightMode” = “VertexLMRGBM”}
给unity解析,在这个Pass中,读取Beast的烘焙结果unity_Lightmap,这是个环境变量(#include “Lighting.cginc”),然后将其输出。这样就看到了烘焙结果的物体。所以烘焙后的Lightmap作为贴图需要Shader把其读出来并渲染到物件才行,如果是ForwardPass的话,不读Lightmap,可以读取灯光渲染,但是Vertex Pass不行,必须定义VertexLMRGBM才能显示出来。
当然我们也可以单独烘焙单个物件和静态光源。如果光源为动态就最好设置为RealtimeOnly,静态光源最好设为BakeOnly然后烘焙,增加效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值