Hello ,大家好,今天给大家带来法线科普五:法线图工作流程,我是麦狗。
之前的四篇链接:
有很多方法可以创建和使用法线图。让我们来看看我所知道的一些制作法线贴图的方法。这也是法线系列的最后一部分。
每种情况都没有一个完全正确的解决方案,事实上,我使用这几种技术,取决于我在做什么,我有多少时间,目标性能等等......而且大多数时候它们是可以互换的。我将尝试解释每种方法的优点和缺点,但在很多情况下,它们会非常相似。
一、完全光滑的低模
使用这种方法,我们所有的低模法线将被平均化:所有的边缘都被设置为软边,或者我们有一个单一的平滑组。
这意味着法线图必须做所有的工作。在我们应用法线贴图之前,你的低模通常会和高模看起来非常不同。
这种方法的主要优点是对艺术家来说非常简单:你不必担心分离UV岛、设置模型的平滑度或调整低模的法线。你制作你的低模和高模,平滑低模并点击烘焙按钮。
然而,它也有一些缺点:
1. 正确设置切线空间是很重要的。因为我们非常依赖法线贴图,所以在这种方法下,法线贴图设置的微小变化都会特别明显。一般来说,要确保你的三维建模、烘焙和渲染程序都使用Mikkts作为他们的切线空间,并且所有的模型都要相应地导出和导入。
2. 因为法线贴图要大量弯曲法线,所以你的法线贴图可能会更加丰富多彩,有很多梯度。这意味着你的法线图文件大小会稍大一些,而且更有可能出现压缩伪影。
为了弥补这一点,在使用这种方法时,通常会提高法线图的分辨率,或者减少法线图的压缩。对于PC游戏来说,这不是一个很大的性能冲击,但对于手机游戏来说,如果你有大量的法线图,这可能是明显的。
3. 从你的模型中删除法线图通常会使它看起来很糟糕(特别是如果它有很多尖锐的边缘)。
4. 给你的纹理添加法线图的细节(即在Photoshop中)可能会很麻烦。
5. 低模法线更有可能弯曲并与高模表面错位,而且更有可能出现歪斜的细节。
这是我在处理有机模型时比较喜欢的方法,因为它们通常在100%光滑时看起来更好,而且法线贴图也没有很多工作要做(因为有机模型的表面通常是光滑的,与平滑的低模相似)。
二、具有硬边的模型(设置了平滑组/硬边)
用这种方法,我们通过设置平滑组或选择硬边,将一些顶点法线设置为分裂。有些人喜欢用一个角度来确定一个边缘是软的还是硬的(常见的角度是30、45和60o),但我更喜欢用手来设置(同时还要考虑将我的UV接缝放在哪里)。
记住,只要你有一个硬的边缘,你的UV就应该被分割,以避免在你的法线图中沿着你的边缘出现明显的线条。
缺点:
1. 一般来说,它需要比第一种方法多做一点工作。
2. 你应该在有硬边的地方分割UV,以避免这些沿着边缘的可见的线,这可能会使某些UV岛的工作更加困难(即:手绘有分离UV的模型部分会产生不需要的接缝)。幸运的是,诸如Substance Painter、Mari或3D Coat等程序都有这方面的解决方案。
3. 设置硬边和分割UV会稍微增加你的顶点数量,然而这通常可以忽略不计。
有了这种方法,我们就不会那么依赖法线贴图来控制我们的模型的阴影,所以我们可以例如在物体离得很远的时候去掉法线贴图,它看起来还是很体面的(上面的例子不是很好,但这对其他模型也是可以的);或者我们可以使用更小的或更压缩的法线贴图。
在平坦的表面上,我们可以使用硬边来使低模法线与硬表面对齐。如果低模和高模表面完全对齐(即:它们都是平的),那么这个区域的法线贴图就会是平的,这使得在纹理中添加和删除法线贴图细节毫不费力。
就我个人而言,我最常使用这种方法(因为我觉得我有更多的控制权和选择权,以防有些东西看起来很糟糕);特别是当我在预算紧张的情况下工作时。最近,我一直在避免在某些硬表面资产上使用这种方法,因为它们需要大量的硬边缘,这意味着大量的UV岛,它们变得更难处理。
三、自定义法线的工作流程(及midpoly方法)
有一些方法可以直接修改你的低模法线,但不是所有的3D程序都有这个选项,而且它们之间有很大的差别。最常见的方法是使用加权法线,所以程序会自动将法线调整到大面的方向。另一种修改法线的方法是选择一个面,将其顶点的法线与面的法线对齐,这样它们就都指向了面的方向。
我们必须正确地导出、烘焙和导入具有自定义法线的模型,这一点很重要。大多数三维引擎会接受带有自定义法线的模型,但是它是一个通常被默认选中的选项。
这种方法催生了一种新的建模浪潮,称为midpoly建模。这更像是一种建模方法,而不是一种贴图方法。一般的想法是,我们不使用法线贴图来生成我们的细节,而是直接修改低聚物的法线来生成它们。
在为硬表面模型建模时,我们希望有大的平滑表面,在它们之间有平滑的过渡(而不是硬的边缘,这看起来不太真实)。我们可以使用自定义法线来完成类似的结果。
首先,我们给放置在过渡区的边缘添加一个斜面。然后,我们修改产生的顶点的法线,使它们指向主要面。这样,低模的法线将指向较大的面,而法线方向的过渡将被限制在斜面的边缘。
一旦我们有了midpoly的设置,我们就可以把它和法线贴图结合起来,轻松地在平面上添加细节。在斜面区域,法线会拉伸很多,所以在这些区域使用法线贴图是很棘手的。
下面是所述三种方法的并列比较:
四、其他技术和试验
还有一些其他的技术,我们可以用来创建/使用法线图。我不打算对它们进行太深入的研究,因为现在它们的使用并不像前面那些技术那样广泛,而且我对它们也不是很熟悉。不过可以介绍给大家作为了解。
1. 法线映射的像素艺术:我们可以将法线信息添加到pixel art sprites上,并对其进行照明,以给人以体积感。基本上,我们告诉每个像素点的位置,这样,当灯光照射到它时,它的反应就会与面向其他方向的像素不同。
我发现有两种方法可以做到这一点:
创建从不同方向发光的sprites的灰度版本,并使用它们来组成法线图。正如我们在 "法线2 "部分中所看到的,我们可以把法线图看作是3张图片的组合:从左边照亮的模型存储在红色通道,上面/下面存储在绿色通道,从前面照亮的模型存储在蓝色通道。
因此,我们可以从上面/下面、左边和前面画出我们的sprites、;并使用这些图像作为我们的法线图的通道组成一个法线图。
创建一个高度贴图并使用程序将其信息转换为法线贴图:与之前的技术类似,但速度更快,因为我们只需要创建一个额外的纹理,而不是三个。
2. 手绘法线图:专门看过《黑暗之魂》的人就会觉得:这太简单了,我要蒙着眼睛做。这些技术通常都太慢了,无法在制作中实际使用,大多数时候我建议直接在zbrush中从一个平面上雕刻,然后导出法线图。这里有一些技巧。
创建一个高度图并使用专门的程序将其信息转换为法线图。可能是最快、最方便的从手绘中创建法线图的方法。
从一个球体参考。使用法线图球体作为取色器,我们可以将表面的角度与球体上的相应颜色进行匹配绘制。
使用特殊画笔。Krita有一个特殊的笔刷,可以将笔的倾斜度转换成法线图信息。
3. 使用纹理组成法线图。使用法线图纹理库,我们可以将它们组合起来,为我们的法线图添加细节。这些细节可以被组合在一起。请记住,混合法线贴图并不像人们想象的那样简单明了。
4. 图像过滤器:一些程序可以使用漫反射/反照度/基色图来接近法线图信息。这些通常是不准确的,但对于背景/小型资产来说,它们可能工作得不错。
5. Matcaps:Matcaps是简化的着色器,它根据几何体的法线方向来决定屏幕上像素的颜色。我们可以将法线贴图matcap应用于任何几何体,并渲染静止图像以快速生成法线贴图纹理。这可以很容易地用Zbrush来生成平铺纹理。
6.细节法线图:在某些情况下,我们可以用额外的细节来补充由高模生成的法线图(即:我们可以将头部雕塑法线图与皮肤毛孔纹理结合起来),我们可以只在某些距离上加载这个额外的法线图,以减少内存的使用,同时在近距离上保持细节。
以上的方法仅作为了解,可以完全熟悉掌握最上面的三种方法我觉得就足够支撑我们的日常工作了,希望能对你产生帮助。
- End -
来源:Thepoly公众号
上一篇 AAA实时毛发-卷发案例制作教程
下一篇 法线科普四:法线图的故障排除
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答你有没有想过游戏设计师和游戏程序员的区别是什么?因为有时他们被称为游戏工程师或软件工程师,而且你经常听到开发者、程序员、工程师......
创作《环太平洋》里的机甲特别复杂。这个过程得靠SGI的精细设计,还得小心地跟实景拍摄的画面融合在一起
你要相信,任何行业或领域,都是有一套学习方法的。找对方法,事半功倍。 今天就给大家分享以下平时做短视频时用得比较多的剪辑干货。
《英雄联盟》官宣新赛季打法:火了这么多年,这款游戏咋做出来的?
今天下午,夏尔天逸公司来火星举办专场人才招聘会,招聘游戏原画、3D模型、角色动画、游戏特效等岗位。该公司目前在职游戏制作人已经......
在短视频大火、越来越多人投身自媒体后,剪辑这项技能,也逐渐变得像开车和做饭一样,成为当代打工人的必备日常技能之一。
023年以来,在版号审批、出海政策等影响下,新品游戏大量涌现,这也为游戏市场带来了一些新变量、新现象。