高模烘焙低模 方法总结及常见问题解释

前言

最近在制作模型资产,其中在制烘焙过程中,遇到多个不尽人意的质量问题,拙笔记录,用做个人备忘录或初学者参考。

本人非艺术专业,因此某些环节模型制作可能并不规范,如存在问题还请指出。
模型使用Blender制作,Blender烘焙功能略不方便,使用Marmoset Toolbag烘焙贴图并展示效果。

高模部件展示

我选取模型中最具代表性的一个部件,此部件包含了多种复杂情况:
高模

挖洞对称结构圆环网格穿插
挖洞组合圆环穿插

开始前明确:低模制作规范

在制作低模时,实际上并无无硬性要求,但是高低模之间总存在三种情况:

①高模包裹低模②低模包裹高模③低模重叠高模
在这里插入图片描述在这里插入图片描述在这里插入图片描述

大多数情况下,低模略微包裹高模最为通用,即②③情况,这样可减少烘焙时的渲染伪影、缓解接缝、烘焙效果最佳
如果没有理由,应该尽量避免①高模包裹低模的情形

前置注意事项

在导出低模模型前,若模型不含锐利棱角,可以对模型进行一次基于面的面积的平均顶点法向.
Blender,使用Alt N快捷键,可选择此功能:
平滑法向
重新计算法向后,可减轻Normal贴图纠正固有顶点法向的负担。
此举动有助于稳定烘焙后法线的质量,尤其是对于低分辨率、复杂布线下的表现(为突出效果,当前为256*256的极低分辨率):

平均后-烘焙效果平均前-烘焙效果
开启后开启前

不含锐利棱角指的是:所有相邻面夹角>90°(即对所有边角做过倒角处理)


⚠️本文中所有解释仅为个人理解以供参考,可能并不准确,切勿当作教条。

1.烘焙挖洞类网格

🔒高模情况

高模
使用表面细分流程制作高模,同时刻意保留了较明显的圆滑拐角(或称为高光边)

🔑最佳低模实践

  1. 尽量让低模包裹高模,在拐角处额外的添加一次倒角(内测外侧分别一次)。
  2. 沿着洞的边缘切割UV(设定裁剪线),并拉直UV
  3. 将位于洞边缘的UV裁切线标记锐边
外侧内侧
在这里插入图片描述内侧

高低模关系(黄色为高模,白色为低模):

外侧内侧
在这里插入图片描述在这里插入图片描述

让洞的边缘落在倒角所形成的范围之内
尽量让边缘线完全包裹高模

⭐️效果:

效果

❓解释

1️⃣.为什么要在洞边缘添加一阶倒角:

倒角添加新的面,洞边缘处的凹凸细节被烘焙到倒角产生的面上。
若不添加倒角,则表面的一部分凹凸细节将被烘焙在洞壁上,洞壁的凹凸细节将被烘焙到表面上。

1.如果不添加外侧的倒角,则烘焙效果如下图所示:
效果
原因:
侧面观察时,对于能看到洞壁的一侧,可以保持极佳的效果。
由于有一部分的凹凸细节被烘焙洞壁上,因此在看不到洞壁的一侧,无法呈现部分边缘的Normal细节,显示出生硬的网格边缘。

2.如果不添加内侧的倒角,则烘焙效果如下图所示:
问题2
原因:
由于有一部分洞边缘的凹凸细节被烘焙洞壁上,因此无论在什么角度观察,只要能看到洞壁,都能看到洞边缘的凹凸细节。

如果模型没有特写要求,则可以忽略此细节,无需添加倒角

2️⃣.为什么要低模包裹高模而不是高模包裹低模

如果你使用高模包裹低模,则会收获如下效果:
1.低分辨率下严重失真:
失真
原因:
高模表面积大于低模表面积,高模凹凸细节被迫压缩到更小的面积上,在低分辨率下这种影响尤为严重。

2.烘焙细节意外截断:
截断
原因:
烘焙过程中,低模的射线检测从cage表面(位于低模表面外侧)向内发射,探测并捕捉高模的细节。低模表面上的某些区域探测不到高模,导致烘焙结果中出现“截断”或“漏烘焙”的现象。

3️⃣.为什么要在洞的边缘处切割UV?为什么要拉直UV?

如果不切割UV,让洞壁的UV与洞边缘相连接。
UV
在低分辨率贴图中,则会出现明显的锯齿:

不切割UV切割UV
锯齿正常UV

原因
UV存在拉伸,分辨率与相邻的UV面不同,边界处的一个normal像素被共享,因此出现异常的凹凸。

只要存在UV裁切线,则接缝通常只能通过提高UV面积、增加分辨率缓解,因为分离的UV孤岛可能存在不同的拉伸、缩放,从而导致边界像素无法完美匹对。

如果在边缘UV和洞壁UV之间设定裁切线(点击查看大图):
左:裁切线位于边界与洞壁之间 - - - - - - - - - - - - 右:裁切线位于表面与边界之间
效果
虽然没有UV裁切线,但是由于边缘处UV存在拉伸,导致出现不太明显的边界,这同样是由于UV边界处采样问题导致的。
此边界无法通过提高分辨率来解决,越高的图像分辨率,代表更多的边界处像素被采样,产生更加明显的痕迹:

此边界无法通过拉高分辨率消除:强光照射下更为明显
UV裁切线产生的边界可以通过拉高分辨率缓解:裁切线解决


为什么要拉直UV?

如果不拉直UV,则会在边缘处粗糙拉直UV,粗糙有所减少
粗糙顺滑

4️⃣.为什么UV裁切线要设定锐边?

在洞边缘处:

不标记锐边,UV接缝处光照突变明显标记锐边,效果有所好转
在这里插入图片描述在这里插入图片描述

标记锐边在中高分辨率下的表现:
在这里插入图片描述
标记锐边在低分辨率的表现:
在这里插入图片描述
原因
原因可能是因为:

Normal效果
在不标记锐边时,斜面需要额外考虑与平面的法向过渡:图中这导致了边缘处额外的凸起:在这里插入图片描述
当标记锐边后,斜面与平面视为独立的网格,互不相干,只需考虑高模法向:在这里插入图片描述这只会产生极其细微的裁切线导致的边界:在这里插入图片描述

此处仅考虑了UV面积充足的情况。低分辨率中效果会有所不同。


⚠️并非所有UV裁切线都需要锐边标记,如果UV裁切线两侧都为圆滑的表面(可粗略的通过角度>90°判别,下文有额外的评判原则),并且UV比例均匀,则无需标记锐边。

例如在洞璧上的UV裁切线,由于左右两侧都为光滑的表面,所以不标记锐边:
在这里插入图片描述


2.烘焙环状网格

🔒高模情况

环

🔑最佳低模实践

环状等包含圆形的形状,为维持网格形状,只能增加网格面数。
网格

  1. 通常只需四段线即可维持各方向上的体积相似。
  2. UV接缝位于内侧减少视觉影响,将UV进行拉直。
  3. 根据需求增加或减少环体段数

纯粹的环形、球形是最为简单的结构,甚至无需烘焙,只需平滑法线就能得到最佳的结果。

⭐️效果

在这里插入图片描述


3.烘焙镜像类网格

🔒高模情况

在这里插入图片描述

🔑最佳低模实践

  1. 遵循②②规范,尽量包裹高模即可。
  2. 将左右两侧共用的线段标记为锐边
    低模

⭐️效果

效果

❓解释

1️⃣.为什么要在对称轴上标记锐边

标记锐边,表面左右两侧的顶点将被视为独立的网格,左右两侧的顶点法向将不会试图平滑过渡。
不标记锐边,若两侧法向位置不同,顶点的法向会自动的平滑过渡。生成的Normal会试图补齐差异来符合高模的表面。
由于两侧共用的相同的UV数据,导致另一侧Normal是错误的。
错误


4.烘焙穿插类网格

高模中不应出现网格穿插,因为Normal无法描述突变的值
应确保网格交界处受遮挡而不可见,因为交界处的Normal是不准确的

🔒高模情况

在这里插入图片描述

🔑最佳低模实践

  1. 遵循②②规范,尽量包裹高模即可。
  2. 对UV裁切线处理:
    • 对于高锐度的结构,必须标记锐边
    • 对于大平面与小圆角的交界处,可标记锐边提高细节质量

注意:对于复杂结构的空心盒体,可能会有模型面沿法向缩放不均匀的问题,这将导致cage的计算错误,从而引发烘焙问题。在低模构建时应避免①类情况。

锐边标记UV裁切线标记
锐边在这里插入图片描述

内部尽量完整包裹高模,避免cage计算出错
在这里插入图片描述

⭐️效果

在这里插入图片描述
你可能注意到,虽然高模网格是交叉的,但是烘焙出的Normal却呈现出”连续“的视觉效果:
在这里插入图片描述
这是一种巧合,其生成的Normal是不准确的,不能保证与上半部分的Normal连续。
当更改分辨率,或更改UV重新烘焙时,则可能会出现不连续的接缝。
在这里插入图片描述

在实际工程中,你应该使用掩盖交界处,确保不可见。

❓解释

1️⃣.为什么锐度高的UV裁切线需要锐边

对于高锐度的角落,若不标记锐边,则会出现异常的结果:
错误
原因
若不标记锐边,顶点的法向会自动的平滑过渡。烘焙时生成的Normal会试图补齐差异来符合高模的表面:
在这里插入图片描述
由于高锐度网格中法向差距大,Normal贴图所能表示的范围有限,因此不能烘焙出高模的表面细节。

2️⃣.为什么要给位于大平面小圆角的交界处的UV裁切线标记锐边

在这里插入图片描述
若不标记此处锐边,则会在边界处出现光照瑕疵。

不标记锐边标记锐边
在这里插入图片描述在这里插入图片描述

原因
与第一节提到的原因一致,不标记锐边时,两侧的法向将自动的进行平滑过渡,这导致大平面一侧会有细微的法向偏移量:

未开启锐边开启锐边
偏移在这里插入图片描述

此细微的偏移可能是导致诡异高光出现的原因。


结语

⚠️本文中所有解释仅为个人理解以供参考,可能并不准确,切勿当作教条。

文章如有不当之处,还望指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值