流程


(五)烘焙贴图 1天

发布时间:2023-10-03 访问次数:238



  一、八猴烘焙

  它的优点是可以直接预览法线效果。

  1、在Maya里把属于同一物体的低模零件都结合在一起并组成同一个UV(即同一个纹理集):

  (1)注意,烘焙的时候第一象限的低模UV不能有重叠,贴图相同的UV应在烘焙前先把重叠的UV都“UV工具包 > 移动(设置移动值为1)”到相邻相象的相同位置上,这样就可以显示和第一相象相同位置的UV一样的贴图了。

  (2)而贴图不同的则应把重叠的UV平展开,否则烘出的图案会错位。

  2、再把低模零件分离并结合成彼此间不相穿插接触或间隔不会太近的多个物体来分别进行烘焙,以免它们之间互相烘焙,容易闪退(只要不相互挨着的就可以结合起来,最后得到的个数越少越好)。

  3、再把高模也导进Maya并匹配结合后的低模来一对一结合起来,而在导出ZB前应分别赋予每个子工具一个统一的多边形组。

  4、在maya里将高低模匹配好并在大纲视图里将对应的高低模用相同的名称加不同的后缀名“_high”与“_low”来一对一命名好。

  5、然后把高模和低模各自放到一个组里,再同时选中它们并导出到同一个fbx格式文件里。

  6、再在八猴里“新建烘焙”并将导出的模型导入,那么高低模就自动分配到烘焙组的“high”与“low”列表下了(如果模型有变动将自动更新)。

  7、在烘焙面板设置好输出路径并设置格式为tga,大小为2048或4096,采样值“samples”为16x,溢出类型“padding”为“custom”,溢出值“padding size”为4。

  8、勾选要烘焙的贴图类型,通常选择SP常用的法线、AO、ID、空间法线、曲率(curvature)、型腔(cavity)、凸度(convexity)、位置、厚度,然后点击烘焙组的“bake”开始烘焙(透明贴图或毛边贴图可以通过勾选configure按钮里的“alpha mask”来烘焙,溢出值设为0即可)。

  9、其实只要烘焙法线和AO就可以了,其他的贴图可以在SP里自我烘焙出来。

  10、最后点击P按钮即可预览烘焙效果,而点击每个通道后的球形按钮则可预览单通道效果。

  11、如果出现没有烘焙到的部分而呈现异色,那么可在相应低模的父层级“low”上设置封套,使其尽可能高于高模表面多一些,直到烘焙正确为止,否则也可以使用PS的修补工具进行修补。

  12、如果烘焙出的法线朝向有问题,那么也可以点击low > paint skew在弹出的面板上绘制来修复朝向。

  13、如果烘焙出的贴图边缘烘焙到多余的部分,可以在Maya里将其赋予模型后再“保持UV”来移动点进行消除。

  14、使用八猴制作旋转动画

  (1)点击左侧上方的“New Turntable”按钮创建一个转盘节点,再把对象拖入其节点子层级里就创建出一个旋转动画了。

  (2)点开Capture > Settings设置好尺寸后导出即可。

  二、XNormal烘焙

  它不需要显示高低模,烘焙速度快,可以烘焙让Max、Maya爆机的高模,并且出错率要优于ZB,如果烘焙精度要求比较高的话一般都用XN来烘焙:

   可直接从ZB中导出已匹配好的高模与低模,低模应分好UV,高模在导出前应先塌陷动作层。

  ◆ 如果高低模是从Max导出的,那么应把将要组合成同一张贴图的低模物件都附加到一起来组成同一个UV,并添加UVW展开修改器来重新“排列元素”。

   再把低模零件分离并结合成彼此间不相穿插接触或间隔不会太近的多个物体(包括厚度薄,正反面相隔较近的物体)来分别进行烘焙,以免它们之间互相烘焙(只要不相互挨着的就可以结合起来,最后得到的个数越少越好),否则容易闪退。

  再把高模也导进Max并匹配结合后的低模来一对一结合起来。

  1、在导出ZB前应分别赋予每个子工具一个统一的多边形组。

  2、如果高模带相隔距离比较近的双面就应删掉背面,否则XNormal无法判断出要烘的是哪一面就会出现黑色。

  3、如果高模和低模的法线相反了也应在Max里翻转低模的法线,否则也会出现暗面。

  4、并且它要求高模低模都是三角面,所以应先在Max里给分好UV和光滑组(根据UV的分布来分,有时给个“自动平滑”即可)的低模添加一个编辑网格修改器(否则导出obj时应选择“面”为“三角形”),再将它与高模重合放置在一起并用石墨工具将低模顶点捕捉到高模表面上。

  5、低模UV不能有重叠,贴图相同的在烘焙前应把重叠的面删除一半,而贴图不同的则应把重叠的UV平展开,否则烘出的图案会错位。

  6、还应给低模添加一个投影修改器(不要塌陷它,这样才可以随时修改封套的推力值,并重新导入XNormal来更新低模,封套套到哪里就只能烘焙到哪里)使其封套完全包裹住高模,这样才不会烘焙出红色,并且导出时应选择sbm格式才能带封套导出,导出选项里还应点击“低模”。

  (1)如果Max无法导出sbm格式,那么右击XN图标“打开文件夹所在的位置”复制它所支持的max版本的两个文件到3Dmax的plugins文件夹下便可以了。

  (2)XN要求模型只能有三边面和四边面,可在Max自定义 > 显示 > 显示功能区 > 选择 > 按数值里查找多边面并去除。

 (3)2018版本以后的Max不能导出sbm格式,不过新版XNormal可直接导入已匹配好的obj高低模,然后先点3D Viewer > run windows再点launch viewer弹出新窗口来调整封套:

   1、快捷键:

   alt+enter:可让鼠标进出弹窗。

   ctrl+右击:最大化显示。

   F1:隐藏界面所有参数。

   w/s/a/d:放大/缩小/左移/右移视图。

   右键左右拖动:旋转视图,配合ctrl可以对象为中心来旋转视图,当视图不易旋转时可以先点左上角的放大镜跳转到顶视图后再旋转。

   右键上下拖动:上下移动视图。

   2、勾选“显示封套”便可显示封套,再勾选“编辑封套”即可编辑(cage global extrusion挤出整体框架,selection extrusion挤出所选顶点),中键可框选顶点,配合shift可加选,然后便可通过调整其XYZ轴值来调节点了。

   3、调整完“保存模型”,再“关闭”弹窗即可。

  再将高低模导入XN进行法线、AO、高光贴图的烘焙,烘焙好后一般保存成tga或png格式。

  1、打开“高模”面板右击“添加模型”载入obj高模,打开“低模”面板右击载入sbm低模并勾选“use cage”(高低模的“模型比例”都设为1,“平滑法线”都选择“ Average normals”)。

  2、所有不想烘焙到低模上的高模物件都应去选,即便是头发也应分成一缕一缕的相互错开的多个高模头发片来分别进行烘焙,否则会烘到旁边的头发束。

  3、通常只要视需要设置最外距离与最内距离即可,如果在狭小的地方因法线烘焙重叠而烘焙出了异色可以调小为0.1或0.2来烘焙,否则:

  (1)可以使用PS的涂抹工具来将异色涂抹覆盖掉。

  (2)如果是因UV重叠导致的异色出现,那么就应将该处的UV重新展平并重新烘焙了。

  (3)而如果烘焙到了不该烘焙对象那么就应该分开来烘焙了。

  4、打开烘焙选项面板

  (1)设置输出路径(格式通常选择tga或tiff格式)和输出大小Size(通常设为2048*2048或4096*4096)。

  (2)设置Edge padding(UV向外溢出像素个数,可避免接缝)为“4”,Bucket size为“32”,Renderer为“Default bucket renderer”,Antialising为“4x”(抗锯齿,即精细度,AO烘焙设为1x速度更快),如出现黑面可去选“Discard back-faces hits”,如出现绿面则应勾选(较薄物体会出现)。

 (3)再在Maps to render中勾选所要烘焙的贴图,一般勾选:

   1、Normal map:法线贴图(PS打开后背景才能显示为蓝色,并且带有alpha通道),如果低模不是从maya里导出来的,可设置选项里的Y轴为Y-来烘焙(法线相反了也可在PS里反相绿色通道来反向),而勾选tangent space可烘焙出蓝色的法线图,否则为彩色。

   2、Ambient occlusion:AO贴图,因为它烘焙起来比较慢所以通常只选择Antialising为“1x”。

   3、Bent normal map:高光贴图。

   4、Bake base taxture:ID贴图,它可以用来在PS里把原本属于同一个UV的各个UV块拼合回成同一张贴图,选项上的“write objectID if no texture”可以根据高模物体子工具的不同烘焙出不同的颜色。

   5、Height map:置换贴图(较少选择)。

   6、Cavity map:曲线贴图,不过它通常由法线贴图转换而成,速度会更快。

   5、点击Generate maps进行烘焙,效果取决于封套各顶点的推力值是否合适,如果烘焙的法线重叠了将出现红色或白色。

  只能一对一进行烘焙,先分别在高低模面板上勾选要烘焙的两个对象,再勾选要烘焙的贴图类型进行烘焙。等烘焙出了它们的所有贴图以后才可以再选择下一组的两个对象来烘焙。

  6、最后调节:

  1、使用投影修改器调节某些封套顶点的推力值或拖动其位置使各处的烘焙效果统一,可采用此方法以便于调节:

  (1)在Nitrous驱动程序下,视图显示方式采用“一致的色彩”并勾选视口配置 > 视觉样式和外观 > 选择下的所有选项,而在非Nitrous驱动程序下则视图显示方式采用“平面”并去选视口配置 > 照明和阴影 > 启用硬件明暗处理(shift+f3)。

  (2)给对象添加一个编辑多边形修改器来隐藏不想调节到的点并选中不想调节到的面,再勾选“投影修改器 > 框架 > 明暗处理”并去选“点到点”。

  (3)遇到封套顶点交叉的现象应手动选择这些顶点再调节推力值至不交叉的状态。

  2、将低模顶点尽可能地捕捉到高模上。

  3、出现局部高亮显示或边面颜色过渡不平滑的现象那么统一下光滑组即可避免,出现凹凸反向或者局部绿色显示的情况那么翻转一下法线即可避免。

  4、出现局部黑色显示的情况那么提高一下低模面板的“Maximum frontal/rear ray distance(烘焙最前/后方距离,默认为0.5)”值或许可以解决,如果出现的是红色或绿色的显示(一般出现在狭小的地方)则应降低它的值,如设为0.1或0.2。

  5、出现局部发暗的情况也可能是该处面的转折角度过大导致的,可以通过单独给一个光滑组和剪切面(如把一个四边面拆分成两个三角面)然后再重新进行烘焙来解决。

  6、如果还有PS能处理的问题那就PS了(XNormal烘焙的法线贴图自带选择通道,选择一个区域后配合shift可将其拖放至另一张图案的同轴心位置),使用涂抹工具可将高亮颜色或异色用周围的颜色涂抹覆盖掉。

  最后处理:

  1、如果低模某些大面的贴图出现了烘焙角度倾斜问题,那么可以通过把这些大面分割成小面(或增加细分)来烘焙,然后再把烘焙出的贴图赋予原低模来解决。

  2、而将法线贴图赋予原低模后,如果出现黑色的多边形那么可以通过连接它的对角线或切割它来消除(然后可以再删除所切割出的线)。

  而ID贴图的制作:

  1、如果UV已经按模型上的材质断开了的话,那么只要在Max里将模型的UV通过“渲染UV模板”渲染出来,再在PS里把UV区域(注意烘焙时溢出值为几个像素就应再扩展几个像素)填充成白色,非UV区域填充成黑色即可得到一张黑白ID贴图。

  2、也可以从ZB导出各个子工具的高模,然后再把它们与整体模型的低模一起导进XN进行ID贴图的烘焙,这样就可以在低模UV上烘焙出按高模子工具来随机分配ID颜色的ID贴图了。

  还有三张常用贴图的制作:

  1、使用XN的tools面板上的“法线贴图转曲率贴图”功能可将法线贴图转换成这两张贴图(因为CV贴图还需烘焙和拼合所以直接转换会更快):

   (1)点击“法线转曲率贴图”功能,把法线贴图拖入左侧窗口,再设置对比度“Contrast”为1,方法为“EMB”,然后在右侧窗口右击“生成”即可转化成一张可以强化细节的EMB贴图了,再右键保存为tga格式即可。

   (2)如果生成的曲率贴图方向相反了,即凹凸显示不正确,可以切换Y轴的正负值,然后重新“生成”。

   (3)然后再设置对比度为“2.000”,方法为“EDT”,即可右键生成另一张可以用来区分亮面与暗面的EDT贴图了。

  2、再使用置换贴图的红绿通道可制作出第三张贴图。

   (1)R通道显示从右向左的光照效果,控制的是小细节的显示。

   (2)G通道显示从下向上的光照效果,控制的是中等细节的显示。

   (3)B通道显示整体的光照效果,控制的是大细节的显示。

   (4)所以,UV展开时一般都要统一从上往下正着摆放,否则烘焙出的光照方向就会错乱。

   (5)那么,把G通道复制到图层上并ctrl+i修改成从上向下的光照后,再选择图层模式为“叠加”并与R通道图层进行合并就可以得到从右上角向左下角照射的效果了,这样就可以区分出每个细节的上下左右方向了,结构也就更加明显了。

   (6)并且因为SP对贴图会进行Gamma矫正,所以在导入SP前还应ctrl+u吸取图层颜色后再调节它的明度来保证HSB颜色的B值必须为72才可,而如果是在PS里制作贴图的话则只要为50就可以了。

   (7)这样,红绿通道就可以保存成TGA格式RG贴图了。

  三、ZB烘焙

  它虽然更不容易因为法线烘焙重叠而出现红色或绿色,而且烘焙速度快,但它烘焙出的清晰度要比XN低,所以它一般比较适合烘焙硬边的机械模型。

  1、展好低模UV后导入ZB,再存储变换目标以便在细分(可以打开“平滑”模型但不要打开“SUV”平滑UV)和投影变形之后可以恢复为原低模,否则低模会因增加细分以及投影后所导致的第一细分上的变形而无法准确匹配回到Maya里的原位置和原大小。

  2、增加细分至与高模相近的精度(可以激活“平滑”但不要激活“SUV”,否则UV边缘也将因平滑而收缩),再将高模细节逐细分投影过来。

  3、返回最低细分,再变换目标 > 切换回原模型,投射的细节也将匹配到原模型上。

  4、再在工具 > UV贴图上设置好尺寸并纹理贴图 > 新建纹理后再点置换/法线贴图 > 创建置换/法线贴图即可烘焙。

  5、最后克隆置换/法线贴图到alpha/纹理面板后翻转一下即可导出。

  6、通常,一个游戏角色如果在1级烘焙的话,那么包括衣服、装备、身体、头发面数大概在2到3万面左右,如果在2级烘焙的话则大概多一倍。

  7、而且在更高的细分上烘焙所得到的法线贴图配合模型自身更高的精度所得到的法线清晰度也更高,ZB与XN皆如此,生物模型使用XN烘焙出的精度还要比ZB更高一些。

  8、所以在制作3A级别高精度游戏模型时,最好将低模导入ZB细分至2到3级并投影后再导入XN烘焙,而不要直接在Maya里将低模细分平滑后就导入XN烘焙,否则高低模的匹配度会略微低一些。

  四、SP烘焙

  详见烘焙贴图

  1、所烘焙的低模不能相互穿插碰触,否则也要像XN一样分组低模来进行烘焙。

  2、高模在ZB里含有表面噪波纹理的都应先将纹理“应用于网格”。

  3、高模应逐个子工具进行抽取减面,否则烘焙时可能会卡顿或无法烘焙。

   (1)一般只要把百万面子工具减至20%即可,并且体型越大减成的面数就应越高。

   (2)减完面后再合并成同一个子工具来导出,如果局部出现硬边还应导入Maya进行软化边处理。

  4、从max导出来时还应勾选“翻转YZ-轴”(导入Maya、ZB、SP与八猴之前都得翻转,导回来亦然,而这四个软件互导则不用)。

  五、Maya烘焙

  1、进入渲染模块,打开照明/着色 > 传递贴图面板,选择低模并点击“目标网格 > 添加选定物体”,再选择高模并点击“源网格 > 添加选定物体”。

  2、在“输出贴图”上选择要烘焙的类型并设置好要输出的路径与格式,在“公用输出”上设置好输出大小,再点击“烘焙”即可。

  烘焙出法线贴图后再赋予maya原模型,可直接显示法线效果。

  1、新建blinn材质球,并把法线贴图赋予法线通道,然后再赋予模型。

  2、再选择视口菜单 > 渲染器 > 旧版高质量视口并激活视口上方“带纹理”按钮就可以显示法线贴图效果了。

  3、如果没有该选项,那么在文档\maya\maya版本号\Maya.env文件中添加:MAYA_ENABLE_LEGACY_VIEWPORT = 1,并重新启动Maya就出现了。

  烘焙出的贴图赋予max里的模型后可能会出现黑色的或不光滑的面并且无法消除。

  1、这是因为不共面的四个点无法判断要用哪个对角线来转折导致的,那么往往通过在这些面上任意切割线直到黑面消除为止的办法就可以解决了。

  2、也可以逐个面添加合适的对角线来消除,个别去除不掉的黑面也可以通过先删除掉再重建面的办法来消除。

  3、消除完以后还可以重新删除掉所切割出来的这些线,或先从边转换到顶点,再通过目标焊接顶点的方法来消除。

·发表评论