烘焙不是按个钮,而是一场“数据翻译”的精密工程

法线贴图烘焙的本质,是将高模数百万面的表面细节,通过射线投射(Ray Casting)编码到低模的切线空间(Tangent Space)中。很多学员以为“Wrap一下就行”,结果边缘脏、接缝裂、硬边糊——不是软件不行,是你没掌握这10条致命技巧。以下每一条都能独立解决一类翻车现场,组合使用直接让资产达到3A级标准。

Maya法线贴图烘焙10条致命技巧:从“能看”到“能打”的进阶秘籍 - 配图1
Maya法线贴图烘焙10条致命技巧:从“能看”到“能打”的进阶秘籍

技巧一:高低模空间必须“同坐标系、同单位、同朝向”

一句话核心:烘焙前,高模与低模的世界坐标变换必须完全一致,否则射线永远打不准。

为什么有用:Maya的Transfer Maps和Substance Painter的烘焙器都依赖“包裹(Cage)”或“距离阈值”来投射射线。如果高模被移动过、缩放过或旋转过,低模的射线就会错位,导致细节偏移、边缘溢色。这是新手最常踩的坑——高模是从ZBrush导出的,单位是毫米,低模是Maya默认厘米,一烘焙就全糊。

怎么操作:导入高模后,执行Modify → Freeze Transformations,确保Translate/Rotate/Scale全部归零。用Distance Tool量一下高模与低模的尺寸比例,若不一致,在导出时统一单位(推荐厘米)。高模的Up Axis必须与Maya一致(Y-Up),ZBrush导出时勾选Y-Up。

提示:如果高模是多个部件拼合,先Combine并删除历史,避免烘焙时因历史节点导致位置偏移。

效果展示:射线精准命中高模表面,法线贴图边缘干净,低模轮廓与高模剪影完全重合。

技巧二:低模的UV必须“先切后展”,接缝要藏在视觉盲区

一句话核心:UV接缝是法线贴图撕裂的元凶,切在看不见的地方等于成功一半。

为什么有用:法线贴图是切线空间数据,UV接缝两侧的切线方向不同,烘焙时射线无法跨接缝投射,导致接缝处出现硬边或黑边。如果接缝落在角色正脸、武器刀刃等显眼位置,后期修图成本极高。

怎么操作:用UV Editor的Cut UV Edges沿模型结构线切割。角色接缝优先放在:头发内侧、腋下、大腿内侧、武器握把背面。切割后执行Unfold,再用Orient Shells摆正。对于硬表面,接缝尽量沿倒角边缘走,让法线过渡自然。

注意:UV壳之间至少留4-8像素间距,防止烘焙时射线溢出到相邻UV岛。

效果展示:接缝处法线连续,没有明显色块断裂,贴图利用率高。

技巧三:包裹笼(Cage)不是“放大低模”,而是“外扩射线起点”

一句话核心:Cage的膨胀量决定射线覆盖范围,过大则捕捉邻面,过小则漏细节。

为什么有用:Cage是一个包住低模的“壳”,射线从Cage表面向内投射到低模,再向外投射到高模。如果Cage完全复制低模并统一膨胀,遇到凹槽或薄片时,射线会从背面穿出,捕捉到错误的高模面。

怎么操作:在Maya的Transfer Maps中,勾选Use Cage,点击Cage → Create Cage。然后手动调整Cage顶点:在平坦区域膨胀2-3个单位,在凹槽区域缩小到0.5-1个单位,在薄片区域让Cage贴合低模。用Soft Selection(B键)平滑过渡。

进阶:Substance Painter的Max Frontal Distance和Max Rear Distance本质就是Cage的自动版,但手动Cage永远更精准。

效果展示:凹槽内部细节完整,薄片边缘没有黑边,法线贴图无“鬼影”。

Maya法线贴图烘焙10条致命技巧:从“能看”到“能打”的进阶秘籍 - 配图2
Maya法线贴图烘焙10条致命技巧:从“能看”到“能打”的进阶秘籍

技巧四:硬边模型必须“按硬边切UV”,否则法线全乱

一句话核心:硬边(Hard Edge)两侧的顶点法线不连续,切线空间随之断裂,必须切UV分离。

为什么有用:Maya中,Soften/Harden Edge只改变顶点法线方向,但切线空间依赖于UV和顶点法线。如果硬边两侧共用一个UV壳,烘焙出的法线贴图会在硬边处出现一条亮线或暗线,因为切线空间在硬边处发生了跳变。

怎么操作:选中所有硬边,执行UV Editor → Cut UV Edges,让硬边两侧的UV壳分离。然后在Transfer Maps中勾选Use Tangent Space并选择MikkTSpace(Maya 2022+默认)。MikkTSpace是业界标准切线空间算法,能保证跨软件一致性。

切线空间算法 特点 适用场景
Maya Default 兼容老版本,但跨软件易偏色 内部项目,不跨引擎
MikkTSpace UE/Unity/Substance通用 游戏资产,跨引擎
Unity 4.6 旧版Unity专用 维护老项目

效果展示:硬边处法线过渡锐利但不脏,引擎中与高模视觉一致。

技巧五:射线距离(Ray Distance)要“分区域动态调整”

一句话核心:全局统一的Ray Distance是偷懒,分区域设置才能兼顾凹槽与凸起。

为什么有用:Ray Distance决定了射线从Cage出发后走多远。如果设得太大,凹槽底部的射线会打到对面墙壁;设得太小,高模凸起的细节又捕捉不到。Maya的Transfer Maps允许用Max Distance和Min Distance控制,但更聪明的做法是用顶点颜色或遮罩分区域控制。

怎么操作:在低模上创建一个Dirt节点或手动绘制顶点颜色,凹槽区域涂黑,凸起区域涂白。然后在Transfer Maps的Advanced选项卡中,勾选Use Vertex Color as Mask,将Ray Distance与顶点颜色关联。凹槽区域距离设小(0.5),凸起区域设大(5)。

替代方案:Substance Painter的Match by Mesh Name配合Distance贴图,也能实现分区域控制。

效果展示:凹槽内部细节清晰,凸起边缘没有截断,法线贴图动态范围完整。

技巧六:抗锯齿(Anti-Aliasing)必须开“超级采样”,否则边缘全是锯齿

一句话核心:法线贴图是高频数据,不开超级采样等于白烘。

为什么有用:法线贴图存储的是方向向量(-1到1),相邻像素差异大时会产生锯齿。Maya默认的Anti-Aliasing为Low,只做2x采样,对于细节密集的高模远远不够。超级采样(Supersampling)会对每个像素进行多次射线投射并取平均,显著平滑边缘。

怎么操作:在Transfer Maps的Common选项卡中,将Anti-Aliasing设为High(4×4采样)或Custom并输入8。同时勾选Filter为Gaussian,Filter Size设为2.0。对于4K贴图,渲染时间会增加3-5倍,但值得。

注意:不要用Box滤镜,它会让法线贴图产生块状伪影。

效果展示:贴图边缘平滑,引擎中放大看没有锯齿闪烁。

技巧七:法线贴图的“Y轴方向”必须与引擎匹配

一句话核心:OpenGL和DirectX的绿色通道相反,烘错了整个光照全反。

为什么有用:法线贴图的RGB通道中,G通道代表Y轴(上下)方向。OpenGL(如Unity、Maya)使用+Y向上,DirectX(如UE、3ds Max)使用-Y向上。如果烘焙时选错,引擎中凹凸会变成“凹坑”,光照完全错误。

怎么操作:在Maya的Transfer Maps中,Normal Map选项卡下有Tangent Space和Flip Green选项。如果目标引擎是UE,勾选Flip Green;如果是Unity,不勾选。Substance Painter中在Config里选择OpenGL或DirectX。

引擎/软件 法线格式 Flip Green
Unity OpenGL 否
Unreal Engine DirectX 是
Blender OpenGL 否
3ds Max DirectX 是

效果展示:引擎中光照方向正确,凹凸感与高模一致。

技巧八:用“法线贴图+AO贴图”叠加,但AO必须“去光照”

一句话核心:AO能增强缝隙暗部,但直接叠加会污染法线方向,必须用Multiply模式并降低不透明度。

为什么有用:AO(环境光遮蔽)贴图记录的是缝隙的遮蔽信息,通常烘焙时带有光照方向。如果直接与法线贴图叠加,会把光照信息混入法线,导致引擎中双重阴影。正确做法是将AO作为独立贴图,在引擎中与法线贴图并行使用。

怎么操作:在Maya中烘焙AO时,使用Surface Shader或mental ray的Ambient Occlusion节点,关闭所有灯光。然后在Photoshop中将AO贴图以Multiply模式叠加到法线贴图上,不透明度设为30%-50%。更好的做法是在Substance Painter中把AO作为Mask,只影响粗糙度。

警告:不要用Overlay或Soft Light叠加AO到法线,会改变法线向量长度。

效果展示:缝隙暗部自然,但光照方向不受影响。

Maya法线贴图烘焙10条致命技巧:从“能看”到“能打”的进阶秘籍 - 配图3
Maya法线贴图烘焙10条致命技巧:从“能看”到“能打”的进阶秘籍

技巧九:批量烘焙时用“Python脚本”自动化,效率提升10倍

一句话核心:手动一个个烘是体力活,脚本能一键处理所有材质组。

为什么有用:一个角色可能有20个部件,每个部件需要单独烘焙。手动设置Transfer Maps参数、选择高低模、指定输出路径,重复20次不仅耗时,还容易出错。Python脚本可以遍历场景中的低模,自动匹配高模、设置参数、批量输出。

怎么操作:使用Maya的mayapy或Script Editor,调用cmds.transferMap命令。以下是一个核心片段:

import maya.cmds as cmds
low_models = cmds.ls('*_low', type='transform')
for low in low_models:
    high = low.replace('_low', '_high')
    cmds.transferMap(low, high, 
        file='C:/bake/' + low + '_normal.png',
        sm='Normal',
        ss=4,  # supersample
        ts='MikkTSpace',
        fg=True)  # flip green for UE

效果展示:20个部件5分钟烘完,参数统一,路径规范。

技巧十:烘焙后必须“引擎内校验”,别在Maya里自嗨

一句话核心:Maya视口和引擎的光照模型不同,烘焙结果必须在目标引擎中验证。

为什么有用:Maya的Viewport 2.0使用自己的切线空间和光照算法,与UE/Unity有差异。在Maya里看着完美的法线贴图,导入引擎后可能出现接缝、方向错误或过暗。必须用引擎的材质编辑器实时预览。

怎么操作:将法线贴图导入UE,创建一个Material,连接Normal Map节点到Normal输入。在Details面板中,将Normal Map的Flip Green Channel根据引擎设置。然后在场景中放置一个Sphere Reflection Capture和Directional Light,旋转光源观察凹凸方向。Unity中类似,使用Standard Shader并检查Normal Map的Import Settings。

终极校验:用Marmoset Toolbag加载法线贴图,它的光照模型接近离线渲染,能暴露所有问题。

效果展示:引擎中资产与高模视觉一致,无接缝、无翻转、无过暗。

结语:烘焙是技术,更是艺术判断

这10条技巧覆盖了从坐标对齐、UV切割、Cage调整到引擎校验的全流程。每一条都来自真实项目中的翻车教训。记住:法线贴图烘焙不是“按个钮”,而是对模型拓扑、UV布局、切线空间和引擎管线的综合理解。掌握这些,你的资产才能从“能看”进化到“能打”。

关于火星人教育:火星人教育创办24年来,始终专注数字艺术与AIGC实战职业技能培训。我们开设的MAYA三维动画、AIGC视觉设计、UE5游戏特效、NUKE影视后期等课程,均以项目化实训教学为核心,帮助学员夯实专业技能。北京、深圳双校区开设线下面授班,面向美术生、在校大学生及意向转行的职场人群,助力就业与职业提升。咨询电话:010-65918670。如果你想系统掌握法线贴图烘焙与次世代资产全流程,欢迎联系我们。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。