首页 快讯 > 综合 > 正文

一个案例讲清楚烘焙

首先我们要了解烘焙最基础的原理以及功能。

工作中我们需要跨软件,而不同软件的shader系统(材质系统)又是不同的,所以是不可能直接把一个软件中的材质直接复制到另一个软件中。为此我们需要一个通用介质————贴图。烘焙就是把这个材质所表现的效果和场景中的光影都绘制在一张贴图上,那么怎么绘制呢,肯定是要把模型展好UV,然后模型对应的UV区域绘制上模型表面的色彩。


(资料图片仅供参考)

Blender中烘焙的基础操作

选中模型

选中贴图

烘焙

基础操作了解之后,我们来解释一下UV对烘焙的影响吧,下面是不同UV烘焙出来的效果

直接用一键展开的好处是UV拉伸不会太严重,而且UV覆盖率也挺高的,但是如果要限制贴图的大小的话(比如我这边就限制为2K大小),我们就会发现某些面的UV可能都没满足一个像素点的大小

而这就会导致一些面产生贴图模糊现象

根据上述情况,我们把UV的边打直,使UV的边和像素点贴合,另外就是把过小区域的UV放大一点,过大区域的UV缩小一点(因为我这边是纯色模型,所以UV的拉伸度不会影响材质的表现)具体操作表现为全选网格面,用光照UV并排(能够尽可能的打直UV),随后按四个层级大小来删选UV面再进一步用光照UV并排(调整UV大小)。

可以看到情况改善了一点。

另外就是这边网格线不会像之前那样表现的特别明显

上述操作都是利用blender内置的UV算法来操作的,说真的,如果要手动去展开些模型的面,确保每个UV的拉伸变化不会太大,而且还要边缘于像素对齐的话,那我觉得也太痛苦了。

当然我们可以用blender自带的UV栅格图来检测材质烘焙的一个拉伸效果

在新建图像的生成类型里选择UV栅格图就好。

然后有个问题就是这种空洞是怎么产生的————其实就是贴图带有Alpha,这些空洞我们没有绘制像素,如果要快速处理的话就是在贴图下方叠一层黑色的像素,你也可以在创建贴图的时候把Alpha取消勾选

此外要控制好UV和像素点的一个匹配距离。因为这次案例是自动展开的UV,而且过小UV的面积已经是像素级的了,我这里选择的边距是1px(像素点)

它能够尽可能的把像素点在UV上覆盖,在此基础上扩展一个像素点单位来确保UV上都有像素点。(请确保孤岛边距足够,不然扩展的像素点太大了会侵占到其他UV然后导致烘焙出来的效果一片糊)

此外展UV的时候也可以根据UV的量来控制孤岛边距

就是这两个UV边之间的间距,但是无法调到0,因为我是光照UV并排,所以每个面都是一个孤岛,如果是常规的UV展开,相连的面的UV是连续的

上述主要是把所有的效果都烘焙到一张贴图上,如果你想要常规的那种PBR贴图,就单独提取出烘焙类型做相似    

标签:

精彩推送