法线烘焙问题汇总以及技巧

作者:直尚教育
分类: 观点/经验
2020-04-09
577

网络上很多关于法线烘焙的资料,今天就跟大家集中分享下法线烘焙问题汇总以及技巧。


1.软硬边(光滑组)设置不正确


软硬边设置跟UV切割线其实是同时考虑的,看了很多教程中有先区分软硬边再根据软硬边拆UV的,也有先展UV再根据UV 边界线来设置软硬边的,总之怎么顺手怎么来。


关于软硬边设置,“转折面角度小于等于90°就做UV拆分,然后转折边设置硬边,反之不做拆分并设置软边。”至于软硬边设置搞不清楚,记住一个圆柱的例子就好了。即,区分软硬边UV需要断开,但是不是所有UV断开的地方都是硬边,比如圆柱侧面不切没法展开,但是切割处应该给软边。也就是说软硬边最终结合3D结构以及UV切割线同时来看。又比如一个较大的转折即便是角度上不满足小于等于90°,但是如果统一软边(给一个光滑组)法线依然也是会有渐变色出现,所以也建议区分光滑组并断开UV。那么如果说到这,其实一些小的不重要的90°转折厚度的地方也可以选择给软边不断开UV,这样的好处是不用拆的过于细碎。


绕了这么多,一句话,软边断不断开都行,硬边必须断开!



这一块,MAYA操作起来十分的顺手,自动选择硬边的有插件可以做到,例如 AMtools、crease plus、nitropoly2.0等等太多了,选择UV边界线刚才提到的Nitropoly2.0里面硬边选择旁边就有选择UV边界线,但是其实这个功能maya自带UV编辑器select选项下就有一个texture borders。





至于max的光滑组设置,可能没有MAYA方便,但是也有可以省时省力的方法,不用去一个个手动点击可编辑多边形面板的光滑组序号,这样还得记临近面的光滑组。有个小技巧是,自定义个MAX自带的smooth selection 快捷键命令,如图:



这样设置光滑组会便捷很多,选择面执行快捷键就行了,自动会区分临近面光滑组。max可以先设置光滑组然后根据光滑组断开UV,也算是比较便捷了。



2.UVlayout问题导致UV接缝


UVlayout也就是UV排布摆放问题,能打直的尽量打直,可能现在贴图大小不像几年前那么严了,但是打直UV依然是一个重要的规范:




一来可以在摆放的时候UV shell之间可以很好地摆放(把UVlayout想象成俄罗斯方块游戏),二来边缘像素也是能够对齐的。当然,不是所有UV shell都能做到横平竖直,例如这样的:



尽量做到对称摆放


3.UVshell 之间像素大小密度不匹配


贴图大小进度不一样产生了接缝,区别于之前做手绘的经验,如果贴图是渐变过渡色,无明显细节表现,略微的UV优化导致像素大小不一样是很常规的操作,但是次世代的纹理细节决定了他的UV不能做类似的UV,所以尽量保证像素密度的一致性。


做到这一点,现在已经不是什么麻烦事了,不论是MAX 跟maya都有自带的统一像素密度的功能了,当然还有展UV神器——rizom UV。


4.封套&包裹框是否调节


包裹框无论是MAX还是maya跟rizomUV都需要调节一下,最好包裹住高模,如果高模上的细节太突出 包裹框要放很大才能盖住,那这么突出的结构,何不考虑低模也做出结构来呢。


5.模型规范整理


模型坐标清零,删除历史,尽量保持模型干净,检查高低模法线方向,模型规范,可以避免很多奇怪的问题,也能减少系统资源消耗。检查高低模的坐标信息、旋转位移信息以及模型法线信息(MAX党注意下自己法线是不是绿了)。


6.镜像共用UV的模型


对称模型对称一半的UV是否挪至其他UV象限,对称模型是否合并焊接,检查软硬边(光滑组)


7.关于低模倒角


重要的模型,低模可以考虑给一段倒角,这样在极端角度也不会有太过明显的黑边效果。


8.贴图色彩空间


除了颜色图或者是反射都属于 sRGB (diffuse reflection/colour , specular reflection/colour) ,用于计算强弱的其他黑白图以及法线贴图都属于linear (normal map, roughness, metallic, ambient occlusion 等等.)


以上八点是常见的出问题的环节,下面是对average normal的一些解释翻译。


关于烘焙法线中的  average normal



substance 烘焙设置


法线烘焙依靠的是一种投射技术,通过cage包裹框或者是Frontal Distance设置。如果勾选了Averaged Normal ,模型法线计算方式则是平均的。


Frontal Distance 设置可以创建一个虚拟的封套(envelope),封套就是射线投射方向,距离是从低模到封套来计算的,方向则是由Averaged Normal来决定的。只要开启了 Averaged Normal,封套就是连续的。


Use Cage 则允许你通过一个网格模型决定射线从哪里开始投射,取代上面的Frontal Distance设置方式。高低模之间匹配度越是不够,Frontal Distance的值就需要给的更大一些。而射线是由两个值来定义的,Frontal 代表射线开始,Rear Distance代表射线在哪里结束。


如果射线长度太长了,就有可能照射到其他的临近模型,所以通过一种给高低模匹配命名后缀格式的方式,来解决这个问题,只需要在高模名称后缀加上“_high”低模后缀加上“_low”,就能很好的避免这一问题(高低模匹配不用再炸开烘焙了)


BBox relative 代表距离的缩放值。勾选时,距离值会被限制在0-1区间,此时距离被定义成是Bounding box大小的一个百分比,若不勾选,则距离值就跟物体本身实际大小有关系了。


若Ignor Backface勾选,则射线在照射到模型背面时会停止。



当Averaged Normals 取消勾选时,网格物体法线就会被启用,如果网格物体有硬边,就会直接导致在计算法线的时候丢失信息或者出现黑色接缝。


当关闭 Averaged Normals时,射线此时与物体表面法线成平行状态。


如果Averaged Normals关闭时,网格又是设置成软边(同一个光滑组),计算的时候就不会出现接缝。


Average Normal勾选与否其实主要是看你是要模型高模圆边效果,还是说要保证一些面片上细节法线位置不会偏移,一般两种效果各有取舍。



上面这其实就是解决的这个问题,通过烘焙一张勾选average normal设置的,圆边细节但是表面细节会有偏移,与另一张没有勾选average normal设置的法线融合(表面细节是正的),但是我们不需要它的圆边效果,因为我们一般都会设置软硬边,没勾选average normal的法线是边缘接缝的。


这里SD中有一个节点刚好解决了这个问题,当然SP通过curverture应该也是能做到,方法思路最后都是一样的——得到边缘蒙版。



以上是两种法线



然后将 两种法线结合,得到带有无偏移正确细节法线但是有边缘接缝的模型。所以我们需要一张mask来遮掉这张未勾选average normal法线贴图的边缘法线细节。



在SD中渲染一张黑白图



通过SD中 edge detect节点提取边缘遮罩,最后融合两种法线效果:



经过别的方法测试,SP中应该也是可以通过滤镜得到类似的效果:



在SD中测试 用曲率图curverture+histogram scan+invert 反转(这几个操作都是考虑sp具有的功能)得到边缘遮罩,可以去试试。


说到最后,八猴还是很不错的烘焙软件,自带的功能完全能搞定上述这个问题:



操作起来实时显示效果,ctrl +B刷新烘焙效果显示,已经是非常方便了。



640.webp.jpg


直线网公众号,第一时间学习最新教程,看最新行业动态!!

0
0
分享到:

0

喜欢他,就推荐他上首页吧^_^

推荐阅读

×

赛事服务联系方式

0371-86068866

4008887269

cndesign@163.com

好的,我知道了

官方微信

联系我们

  • QQ:33143335 QQ:1904200230
  • 电话:18569912460
  • 投稿:cndesign@163.com
  • 地址:郑州市国家大学科技园东区9号楼2层

版权信息

  移动 Android 版 豫 ICP 备16038122号-2 豫公网安备 41019702002261号