我们再开发中,经常会遇到需要烘焙场景光照的情况。但是尴尬的是,一个场景中你好几个物体用的都是一个贴图,但是不同mesh。或者是相同mesh。你都会如下图,多出一张光照贴图。正常unity开发的解决办法是合并mesh。来降低光照贴图数量。但是有的时候因为需求。我们需要每一个物体都是独立的物体,比如做双阵营,重复阵营,就不得不把合并好的建筑A与建筑B单独拆出来。那这个时候你又想省掉那张光照图,该怎么办呢?
如图,这两个模型如果不合并mesh就会出现两张光照图。
如上图我们还没法手动更换这个位置的图片。
然后你还不想写代码,判断UV范围来解决,那么怎么办呢?
很简单,光照的烘焙计算是根据UV位置,主光源光照位置,然后基于XYZ生成的图片。mesh越多,生成越多。
那么基于这个原理,是不是两个同UV同mesh的模型。重叠在一起,然后再找复制一个模型来生成地面光照。生成后删除多余的光照图2,然后重叠的两个模型公用光照图1.就解决了呢?具体操作如下。
A清除之前所有的光照
B复制出三个模型 从左到右编号123. 将23位置重叠,1的作用是为了生成地面阴影。3的作用是跟2共用光照。如下图
C这个时候开始渲染,渲染完成后如下图,删除一号位模型,以及1号位生成的图片。
D这个时候发现重叠2号跟3号模型都公用了一张光照图,然后把23重叠中的一个,任选放在之前的一号位置就好了。如下图
如上如,之前多的光照图没了,同理,如果拆分多个mesh也是这样删除替换。
unity技美34——解决unity中烘焙光照,同mesh同uv的模型烘焙光照时多出一张光照贴图的问题
![](https://img-home.csdnimg.cn/images/20240711042549.png)