【游戏建模】Normal Map(搬运)

您所在的位置:网站首页 crazybump法线转ao 【游戏建模】Normal Map(搬运)

【游戏建模】Normal Map(搬运)

2024-04-02 17:40| 来源: 网络整理| 查看: 265

什么是法线贴图

法线贴图是在每个像素处存储方向的图像。这些方向被称为法线方向。

图像的红绿蓝通道用于控制每个像素的法线方向。

法线贴图通常用在低分辨率模型上伪造高分辨率细节。贴图的每个像素都存储了该点处原始高分辨率网格的表面坡度。这会产生更多的表面细节或更好的曲率的错觉。但是,模型的轮廓不会改变。

创建法线贴图有两种基本方法。这些方法也可以一起使用。

1. 3D 建模和烘焙

2. 2D 绘画和转换

法线贴图模型、不带法线贴图的网格和仅法线贴图。图片由Eric Chadwick

3D 工作流程

每个艺术家的 3D 工作流程各不相同。有关更多信息,请参阅以下链接。随着时间的推移,此信息将被浓缩到维基。

纹理烘焙具有从高分辨率模型到低分辨率模型的分步烘焙纹理的工作流程。

《游戏法线映射实用指南》对法线映射工作流程进行了详细的介绍。

High-Poly Modeling

数字雕刻和/或细分表面建模是构建用于烘焙法线贴图的高分辨率模型的常用技术。

优化高分辨率模型以加快烘焙速度,避免烘焙时 RAM 耗尽,并保持 3D 文件大小可控。请参阅工具#Decimation_Software。

如果是雕刻,则在输出前将顶点计数降低到可管理的文件大小。像 Zbrush 这样的雕刻工具创建比烘焙像素还小的三角形,这将显著增加烘焙时间,而实际上不会改善烘焙。

如果是细分表面,则选择适当的分辨率。使用足够的细分,以获得一个光滑的表面用于烘焙所需分辨率,无需更多。

加快高分辨率硬表面工作流程

平滑边缘着色 - 正确技巧?- 使用着色器技巧来伪造高分辨率模型圆角边。

小部件无需切角对于法线贴图 - 相同的技巧。

Low-Poly Modeling

使用重新拓扑模型构建低分辨率用于游戏内的模型。

烘焙的好拓扑: Normal_Map_Modeling #低Poly_Mesh和理解平均法线和射线投影 / 谁把摇摆在我的法线贴图?和斯凯维你朋友!理解扭曲的法线贴图细节。

好的拓扑用于动画:拓扑#Principles_of_Topology。

最好的切角方式?

 纹理坐标

为您的低分辨率模型创建良好的纹理坐标。

对于切线空间法线映射,将每个硬边的 UV 拆分(其中分割顶点法线值,或者使用不同的平滑组,相同)。

你让我很难过。理解硬边缘,UVs,法线贴图和顶点计数,以及如何在UV中分离平滑组。

3ds Max:按平滑组展平将平滑组转换为UV。UV边界到硬边创建正确的硬边,即使在壳体内的接缝上。

Maya:玛雅MEL脚本需要帮助(UV边界边缘)将硬边转换成UV。

三角测量

请参阅纹理烘焙#三角测量,和多边形计数#多边形Vs.三角形。

镜像前进行三角化,防止着色错误。

 镜像和复制部件

如果创建对称部件,请镜像模型。请参阅法线贴图建模#镜像。

复制重复使用相同UV的任何模型部件;这确保了完美的UV重叠。

有关使用镜像的信息,请参阅JedThe 克兰普斯关于偏移镜面UV,纹理烘焙#UV坐标。

烘焙工具

纹理烘焙

法线贴图烘焙: xNormal vs 3ds Max vs Substance Designer 烘焙

官方手板支持线程 - 现在免费软件!!

未来的 Xoliulshader 支持– 为什么 Xoliulshader 在 3ds Max 2013/2014 中不能正常工作。

投影错误

创建包含高分辨率模型的低分辨率模型的膨胀副本。请参阅纹理烘焙#笼子。有些工具会自动创建此项。

相互穿透或紧密连接的部分可能会导致烘焙瑕疵·,因为相邻的表面将捕获彼此的一部分,见纹理烘焙#解决交错。"爆炸"是指分离非焊接表面、网格元素、Zbrush 子工具等,以便它们之间有足够的空间。对高分辨率模型和低分辨率模型使用相同的分离。烘焙完成后,将各部分移回一起。

如果建模软件具有动画功能,您可以设置分离的关键帧,以便在烘焙完成后轻松复原。工具也可用,请参阅所需分离脚本(用于烘焙)。元素可以通过一些烘焙工具标记,因此特定的低分辨率元素只会烘焙相关的高分辨率元素,从而避免分离(3ds Max 可以使用材质 ID 等)。

了解平均法线和光线投影/谁在我的法线贴图中添加了波纹?

倾斜你的造型!理解倾斜法线贴图的详细信息。

彼得克的《Max 和 Xnormal》的 Skewmesh 教程, 以防止用笼子烘焙时出现严重扭曲, 而无需添加额外的支撑顶点。

位深度,带和法线贴图。

编辑贴图

如果需要,请混合烘焙。参见环境遮挡图#地球地震的烘焙方法

添加照片或其他烘焙的详细信息。请参阅RNM 法线贴图合并器,并合并法线(Polycount在线论坛) 。

有些错误可以被抹除,但要避免这种情况!如果模型被重新烘焙,必须重复任意绘画,在法线贴图上绘画可能引入更多瑕疵。

斯威兹尔请参阅法线贴图技术详细信息#共同滑动坐标。

重新正常化。请参阅Normal_map#重新规格化。

减少到8位。请参阅位深度、带和法线贴图的定义。

2D工作流程

法线贴图可以在 2D 绘画软件中制作,无需在 3D 中建模。您可以将照片纹理转换为法线贴图,创建基于节点的图形来编译法线贴图,甚至用笔刷手动绘制它们。

在切线空间具有统一方向的三维模型(如地形或墙壁)中平铺时,在 2D 中创建的法线贴图效果最佳。在这些模型上,UV不旋转;它们都朝同一个方向。要获得无缝照明,旋转的UV需要在法线贴图中特定的渐变,这只有通过烘焙3D模型正确创建。

从高分辨率网格中烘焙的法线贴图通常比从纹理中采样的法线贴图更好,因为您是从高度详细的表面渲染的。法线贴图像素将重新创建高分辨率网格的表面角度,从而产生非常可信的外观。混合方法可用于从高分辨率网格中烘焙大和中级细节,并将这些细节与用于织物编织、划痕、气孔等的绘制或照片来源的“精细细节”相结合。

大多数图像转换工具假设输入是高度图,其中黑色为低,白色为高。如果你尝试转换你画过的颜色纹理,结果往往很差。

本"波平米茅斯"马西斯的法线贴图过程教程包括一个在烘焙法线贴图中绘制波浪线的例子。

平面颜色

颜色 (128,128,255) 创建与多边形完全垂直的法线,只要顶点法线也是垂直的。记住,法线贴图的每个像素正常值会从顶点法线创建偏移。如果您希望法线贴图中的区域是平的,因此它不会从顶点法线创建任何偏移,则使用颜色 (128,128,255)。

当镜像法线贴图并使用带有反射成分的着色器时,这一点变得特别明显。反射往往会突出法线之间的角度,因此任何错误都变得更加明显。

镜像法线贴图显示接缝时(127,127,255)用于平面颜色:128 更好.图片由Eric Chadwick

以一种纯粹合乎逻辑的方式看待, 127 似乎是 0 到 255 之间的中间点。然而,128 是实际工作的颜色。当测试完成比较(127,127,255)与(128,128,255)时,很明显,127创建稍微弯曲的法线,128 创建一个平面法线。

这是因为大多数游戏管道使用无符号的法线贴图。有关详细信息,请参阅 Polycount 论坛线程教程:修复镜像法线贴图接缝。

将法线贴图混合在一起

将法线贴图混合在一起是添加高频细节(如皱纹、裂缝等)的快速方法。精细的细节可以绘制为高度图,然后可以转换成法线贴图。然后,此"详细信息"法线贴图可以与几何衍生的法线贴图混合。

另一种用途是将高频细节法线贴图与低频细节法线贴图混合在一起(例如地形上),以获得小细节特写和距离中的大细节。

重新定位法线映射 (RNM) 可能是最准确的方法,可以实时完成。Photoshop脚本组合法线由文森特·卡勒鲍特使用这种方法,请参阅Polycount论坛线程结合法线贴图脚本的Photoshop。页面上详细介绍了一个完整的解释- 自我阴影。

以下是其他四种混合方法的比较。请注意,在这些示例中,默认值用于 CrazyBump(强度 50、强度 33、强度 33),但该工具允许每个层的强度单独调整,以获得更强或更温和的结果。下面的每个法线贴图在混合后都重新标准化。

混合法线贴图。图片由Eric Chadwick使用 RTT 正常磁比板.fx 遮光板的 3dsmax 视图的截图。图片由Eric Chadwick

上面使用的四种混合方法:

1. Ryan Clark 的CrazyBump将法线贴图混合在一起,使用 3D 空间的计算,而不仅仅是 2D 的计算。这可能是保存细节的最佳工作,每个层的强度设置可以单独调整。

2. Rod Green将 Photoshop 中的法线贴图与使用线性道奇模式将法线贴图与负值的正值和差值模式混合在一起,同时使用 Photoshop 操作来简化流程。它是免费的, 但结果可能不如CrazyBump准确。

3. 保罗"保罗托斯卡"托斯卡制作瓦尔加使用叠加模式将红色和绿色通道的法线贴图混合在一起,使用倍增模式将蓝色通道的法线贴图混合在一起。这比仅覆盖方法的凹凸略强。Leo"慢性"科瓦鲁比亚斯有一个分步教程,这种方法在CG训练营结合法线贴图。

4. 本 "波平米茅斯" Mathis 的法线贴图深化演示了如何使用叠加模式将法线贴图混合在一起。Scott Warren 的 NVIDIA Photoshop 过滤器的 CGTextures 教程还展示了如何使用多个层创建正常图(注意:要使用叠加混合模式,每层的输出级别应该是 128 而不是 255,您可以为此使用"LASH"工具)。

从 Nvidia 过滤器中获取良好的高度,使Polycount 论坛上的灰度高度线程规格化,可以讨论不同的绘画/混合选项。另请参阅用于绘画和转换工具的2D 法线贴图工具部分。

预创建模板

可以开发和存储形状库供以后使用,以便为未来的法线贴图节省创建时间。螺丝、端口、管道和其他东西。这些形状可以存储为具有透明度的位图,以便将其分层到烘焙的法线贴图中。

创建 • 使用法线贴图"小部件" - 由斯蒂夫"科布拉"凯利

        如何设置和渲染模板对象。

3ds Max 的法线贴图小部件- 由阿克拉姆 · 帕维兹

        脚本, 以自动设置和渲染过程。

有关更多模板渲染工具和教程,请参阅"烘焙透明度"部分。

 重新规格化

重新正常化意味着将贴图中每个法线的长度重置为 1。

法线贴图着色器获取法线贴图的三个颜色通道,并将其组合在一起,以创建每个像素法线的方向和长度。然后使用这些法线将场景照明应用于网格。但是,如果您手动编辑法线贴图,或者将多个法线贴图混合在一起,则可能导致这些长度发生变化。大多数着色器希望法线的长度始终为1(规范化),但有些着色器编写为动态重新规格化化法线贴图(例如,3ds Max 的硬件着色器会重新规格化)。

如果法线贴图中的法线未规格化,且您的着色器也未使其重新规格化,则可能会在着色表面上看到瑕疵...镜面反射的高光可能会像疯狂的斑点一样, 表面可能会出现奇怪的阴影补丁, 等等。为了帮助您避免这类情况, NVIDIA 的 Photoshop 法线贴图过滤器,它提供了一种在编辑后重新规范贴图的简单方法;只需使用"规格化"选项。Xnormal也配备了 Photoshop 的规范化过滤器。

NVIDIA 过滤器中的重新规范化选项。图片由Scott Warren

有些着色器使用压缩的法线贴图。通常这意味着蓝色通道被完全丢弃,所以它会在着色器中动态重新计算。但是,着色器必须重新规格化才能重新创建该数据,因此编辑到贴图中的任何自定义法线长度都将被完全忽略。

法线贴图中的环境光遮挡

如果着色器不能重新规格化法线贴图,则环境遮挡贴图实际上可以烘焙到法线贴图中。这将缩短表面缝隙中的法线,导致表面接收的光线减少。这适用于漫反射和镜面反射,或使用法线贴图的任何其他过程,如反射。

然而,通常最好将 AO 保留为单独的贴图(或在 alpha 通道中),并将其与环境照明相乘。这通常通过自定义着色器完成。如果将其与漫反射贴图或法线贴图相乘,则它也会遮挡漫反射照明,这会使模型看起来很脏。“环境光遮挡”(Ambient occlusion)在仅遮挡环境光时效果最好,例如漫反射卷积立方体贴图。

AO 可以烘焙到法线贴图中,从而缩短法线(左下模型)。模型由James Ku

要将AO烘焙到法线贴图中,请首先调整AO层的级别,使深色仅变为128灰色,然后将AO层设置为变暗模式。这将缩短法线贴图中的法线,导致表面在较暗区域接收的光线较少。

此技巧不适用于任何重新规格化的着色器,如 3ds Max 的硬件着色器。必须更改着色器,以实际使用自定义法线的长度;大多数着色器只是假设所有法线是 1 长度, 因为这使得着色器代码更简单。此外,此技巧将不适用于大多数常见的法线贴图压缩格式,这些格式通常丢弃蓝色通道并在着色器中重新计算,这需要重新规格化。

背光示例

您可以自定义法线贴图以获得一些有趣的效果。如果反转切线空间贴图的蓝色通道,法线将指向表面的另一侧,这可以模拟背光。

树模拟次表面散射(前视图)。图片由Eric Chadwick树模拟次表面散射(后视图)。图片由Eric Chadwick叶子使用的贴图。第二次扩散只是颜色反转,色调转移180°,饱和。图片由Eric Chadwick

树叶使用着色器,然后将两个漫反射贴图相加,一个使用常规切线空间法线贴图,另一个使用相同的法线贴图,但蓝色通道反转。这导致使用常规法线贴图的满发射贴图只能在面向光的一侧(前视图)亮起,而使用反转法线贴图的漫反射贴图只能在叶子的另一侧(后视图)上点亮。叶子几何形状是双面的,但两侧使用相同的着色器,因此无论照明角度如何,效果都有效。另外,由于树是自身阴影的,因此阴影中的叶子不接受直接照明,这意味着他们的背面不显示反转的法线贴图,所以伪次表面散射效果仅在光线直接照射到叶子的地方出现。因为自影影和双法线贴图的计算成本,这不适用于整个森林,但对于单个“星”资源或LOD将远处的树切换到使用更便宜着色器的模型时,这可能非常有用。

2D 法线贴图工具

组合法线是一个Photoshop脚本重新定位法线映射(RNM),请参阅Polycount论坛线程结合法线贴图脚本(用于Photoshop),和页面混合细节 - 自我阴影。

CrazyBump是一款商用的法线贴图转换器。

ShaderMap是一种商用法线贴图转换器。

PixPlant是一种商用法线贴图转换器。

NJob是一个免费的法线贴图转换器。

Photoshop的NVIDIA法线贴图过滤器是一个免费的法线贴图转换器。

Photoshop的Xnormal高度到法线过滤器是一个免费的法线贴图转换器。

NDO

Filter Forge

Substance Designer

旧教程

警告:网络上有大量关于法线映射的错误信息。最好假设所有教程都不正确,直到您可以使用自己的工具和模型验证结果为止。

3ds Max (500kb PDF)中法线贴图的生成和显示,内容是关于 3ds Max 和其他应用程序中的法线映射。

使用Blender 3D 的高分辨率模型的渲染和烘焙法线贴图,由

"katsbits"在Blender中烘焙法线贴图。

在虚幻开发人员网络的虚幻引擎 3 部分创建法线贴图的技术包含来自Epic 游戏艺术家关于为 UE3 创建法线贴图的建议。“设计工作流”页面有一个摘要。

通过Raven 软件在Quake 4 中创建模型是创建 Quake 4 角色的全面指南。

Ariel Chai 的技术游戏建模师的法线贴图显示了低多边形平滑和UV如何影响Doom 3中的法线贴图。

João“Masakari”Costa为下一代游戏制作的3D教程/建模高-低多边形模型概述了法线贴图的建模。

Tech-Artists.Org 维基的倒角部分讨论了平滑组和倒角如何影响低多边形模型的拓扑。

Guillaume Provost由两部分组成的文章Beautiful but Friendly解释了平滑组和其他网格属性如何导致顶点在游戏中重复。顶点计数实际上是游戏中最重要的,而不是三角形或多边形计数。

Ben“poopinmymouth”Mathis的法线贴图工作流在3ds Max和Photoshop中演示了他的法线贴图工作流。

Jeff“airbrush”Ross的本视频教程在Maya中演示了如何细分低多边形网格,使其与高多边形网格更紧密地匹配,以帮助解决烘焙中的波浪线。

Ben Cloward的法线贴图教程是关于整个法线贴图创建过程的综合教程。

Dave McCoy使用三维软件生成高保真法线贴图,展示了如何使用特殊的照明设置渲染法线贴图(而不是烘焙法线贴图)。

Scott Warren的英伟达PS图象处理软件过滤器教程展示了如何使用多层创建深度法线贴图。注意:要正确使用叠加混合模式,请务必将每层的级别输出级别更改为 128,而不是 255。

Ben“poopinmymouth”Mathis的法线贴图深度演示了如何调整法线贴图,以及如何将绘制和烘焙的法线贴图分层在一起。

warby编写的在镜像切线空间法线贴图上绘制接缝的教程有助于沿水平或垂直UV边解决接缝问题,但不能跨越角度UV。

詹姆斯·黑斯廷斯·特雷(James Hastings Trew)的《游戏用影院4D和法线贴图》用通俗易懂的语言描述了法线贴图,并提供了在影院4D中创建法线贴图的技巧。

Alan Noon撰写的3ds Max法线贴图概述是CGTalk上关于法线贴图过程的一篇好文章。

Stefan Morrell的硬质表面纹理绘制是对金属表面纹理绘制的一个很好的介绍。

更多信息

Curvature map

DuDv map

Flow map

Normal Map Modeling

Normal Map Technical Details

Radiosity normal map

Texture Baking

Vector displacement map

本页最后一次修改是在2018年11月27日10:41。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3