当前位置:文档之家› 法线贴图的创建和烘培

法线贴图的创建和烘培

1.介绍在这个教程中我将讲解一些烘培和创建法线贴图技术,这个技术现在使用非常普遍,特别是游戏制作中。

我将使用的软件ZBrush2:可以从高模烘培法线贴图,虽然现在有ZBrush3.1可以使用,但是在烘培法线的功能上是和 2.0版本相同的,我将使用ZMapper插件来烘培贴图,这插件你可以从Pixologic站点免费下载。

3D studio max:我将使用这个程序制作低模和展UV,并且将低模以obj导出。

Photoshop CS2:我将使用它创建和编辑烘培的法线贴图。

2.什么是法线贴图法线贴图可以创建出比真正的模型更多几何体的假像,和置换贴图一样法线贴图并不能真的影响低模的几何网格。

所以,如果我们的低模非常的简单和尖利,那么法线贴图将起不了作用。

下图是一个高模平面模型和一个赋予了法线贴图低模平面模型的区别。

这个简单的例子显示了法线贴图是怎么作用的。

下图显示了法线贴图的通道构成法线贴图的整体效果就在它的RGB通道,特别是在R和G通道,这两个通道往往定义了X和Y的烘培参数。

如果在3Dmax或是其它3D软件(或是实时)的引擎中不能正常显示法线贴图,往往是因为引擎在解释R和G通道的错误造成的。

这时你需要在烘培贴图之前交换两个通道(你也可以在Photoshp交换烘培后的法线贴图的通道)我们将使用ZMapper来烘培法线贴图,这是一个免费的ZBrush插件有大量的预设参数供我们正确选择使用。

3.一个好的开始在我们开始创建一个拥有大量细节的高模之前,为模型进行一些规划是非常好的主意,举例来说:如果模型有一些比较大元素象是大口袋,大块肌肉或是更大的皱痕我们就要增加一些多边形在低模。

因为正如我前面所说法线贴图不会改变我们的低模,如果不为比较大的元素增加多边形,从某些摄象机角度看这些元素将看上去非常的平。

这就是为什么我们要在雕刻高模之前规划模型。

而最好的办法是:在开始之前绘制详细的概念设计图,或者至少绘制一个简单的素描。

在下图你可以看到,低模虽然只是一个很简单的几何体,但是已经拥有一些高模的特征。

我们还要记住,最好的法线贴图同时也可以成为很好的色彩贴图,最好的效果是,颜色、法线、高光贴图在低模上完美的匹配。

我们必须记住的关于低模的一些事情在创建低模时,我们常常试图使用更少的面,为此我们简化了一些元素如牙齿、角、耳朵等,这样的模型在烘培法线贴图时会导致无数的错误。

所以在一些地方使用更多的面避免错误比后来在Photoshop中设法修正法线贴图更好。

在下面的图中你可以看到,简化几何模型是怎么影响法线贴图的。

两个模型的法线贴图都是同一个高模使用Zmapper投影得到的。

比较小的错误我们能够将它们隐藏在色彩贴图下,但如果是比较大的就很难隐藏了。

在我们的低模上很可能会出现很多有问题的地方。

例如手的两个手指之间的位置。

在导入到ZBrush 之前我们可以将手指拉开一点来避免问题。

其它容易有问题的位置:所有锋利的锥体或者是多边形尖角。

在雕刻高模时我们要避免在模型表面创建垂直的变形和细节,就好象是显示在屏幕的下面。

高模的垂直细节在法线贴图上表现出来的是暗色的点,而正确的显示应该是红色和暗蓝色。

准备导出模型在我们将模型导出到ZBrush之前,我们要按下面的要点准备网格模型。

在通常情况下低模的一些位置由三边面组成,而我们要使用的网格尽量只包含一种边面而且尽可能包含四边面。

所以,我们需要为未来的工作做些计划,在模型的一些位置增加更多的细节。

虽然现在我们新一代硬件允许低模有额外的三边面,但模型还是需要尽量的规则。

既使我们的模型是规则的并且包含的主要是四边面,在导出到ZBrush并细分几次后仍然可能失去它的大致外形。

要解决这个问题,我们可以在ZBrush中重塑模型或者在导出模型之前在3Dmax中使用tessellate修改器,这个修改器不会破坏我们的UV坐标,并且在ZBrush中进行细分之后模型将保持它低模时的外形。

这里有一些我使用的tessellate修改器的参数。

另一个方法是在ZBrush中第二次细分时关闭细分模型的平滑参数,然后到第三次细分时在重新打开。

万不要出现下图的情况。

如果我们没有保持所有元素在主映射区域,当我们使用ZMapper烘培法线贴图时将看到下面的信息:有的时候我们在其它软件里制作了高模的第一部分,然后在ZBrush中增加了细节,接着要烘培法线贴图贴图。

这时高模不需要手动展开UV,最容易的方法是使用ZBrush的自动映射(AUV tiles或者是GUV tiles),如下图你可以在TOOL>>Texture找到它们。

放置一些展开的元素在主映射区以外有更重要的目的:这是因为即使我们能使用4096x4096的贴图尺寸,当创建高分辨率渲染时我们的法线贴图分辨率也显得低了。

可是如果我们采用下图的方法,我们能够为同一个模型烘培三张不同的贴图,而且每一张的分辨率都有4096x4096(在ZBrush3中是8000x8000)在导入模型到ZBrush后,在TOOL>>Polygroups打开UV GROUPS,结果如下图那样,模型被划分为不同的组。

当我们开始烘培法线贴图前我们需要选择其中一个组(按下Ctrl+Shift加鼠标左键),如果我们不这么做ZBrush也会显示信息提示我们这样做。

为一个组烘培贴图后,我们使用相同的方法为另外的组烘培法线贴图。

最后我们得到一个模型的三张不同法线贴图(每一张都有8000x8000)。

如果你需要我们能够为每个模型烘培超三张的法线贴图。

现在我们得到合适的导入和导出的格式。

在这个ZBrush例子中,这里我们能使用两种格式导入模型:obj和dxf,但是在实际工作中我们只使用obj,因为dxf格式不能保存贴图坐标。

obj是一种非常受欢迎和普遍的格式,所以大多数3D软件都能导出模型为obj。

下面我们看看从3d max导出的参数:另外一个非常重要的设置就是导入到ZBrush(参数如上图),这次我们需要设置的参数只能一次使用并保存(在这个例子中ZBrush3的UNIFY SCALE参数不需要)有的时候导入模型法线被翻转了,这时按下TOOL>>Display面板下的Flip就可以翻转回来。

我们也需要从ZBrush导入模型到3ds max,看左面的参数设置:如果你想导入高面模型,推荐选择导入参数multiple并且从列表中选择组。

这些和ZBrush的多边形组是一样的。

这么做的原因是3dsmax处理多个面数少的模型比处理一个面数多的模型更好。

5、从高面模型烘焙贴图第一种标准烘培标准烘培就是使用高模整个在ZBrush中烘培(除开低模)并且有非对称映射。

第一步:导入一个没有贴图坐标的低模到ZBrush,然后细分并雕刻模型成为高模。

接着我们在TOOL>>geometry降低细分等级:第二步:我们将低模(没有贴图坐标)导出为obj文件,接着导入到3dsmax(或者其他3d软件)展UV。

这里我们可以改变模型的贴图甚至是它的几何形状,但是我们不能改变顶点的数量和顶点的ID,在这个例子我们不能为模型增加对称修改器。

当贴图完成,我们将模型导出为一个obj文件。

第三步:在ZBrush中保持我们的模型在编辑模式,并且处于最低细分等级。

我们导入已展uv的低模。

接着我们使用TOOL>>Texture下的uv检查参数检查UV。

这时ZBrush将创建一个测试纹理,让我们能看到UV元素和显示为红色的映射错误(如果有重叠错误时)。

第四步:我们要选择新的烘培法线贴图尺寸(默认为2048x2048),我们到TEXTURE面板修改高和宽然后按下New按钮。

第五步:烘培法线启动ZMapper插件,在我们烘培我们的贴图前,我将简单介绍ZMapper参数。

Open/Save configuration:正如我们前面所说,ZMapper已经为我们提供几种不同的3d 程序的设置,在这个例子中设置是为3ds max版本7的,这样烘培出来的法线贴图在3ds max8和3ds max9都不能正常显示。

在后面我将提供我自己的3ds max设置连接下载。

Seam overpaint:这个参数绝定多少uv元素的边界将被插入,Inflat Hires Mesh details:这个参数决定多少细节将膨胀,如果这个数值设置的过高将导致烘培错误。

Sharpen Hires Mesh details:这个参数决定多少细节将锐化,这在生成低分辨率法线帖图中将非常有用。

Inflat/Sharpen Bumpmaps details:ZBrush提供了烘焙法线贴图的同时生成凹凸贴图的功能,这个参数让我们可以决定凹凸贴图的细节是膨胀还是锐化。

如何制作和法线贴图一起生成的凹凸贴图我将在以后讲解。

Interpolate/Raytrace:决定法线贴图生成的方式,Interpolate生成的速度快但是质量比上Raytrace,而Raytrace生成的速度比较慢。

这些参数当我们在测试的时候可以花很少的时间去确定,我们可以使用Render RGN设置来测试,它允许我们从选取的一小块方框中生成法线贴图。

Create normal map:开始烘培法线贴图其它的设置在专家模式1和2里,我们将使用预置的参数。

但是其中有一个参数我们将更多的考虑——Raycasting Max Scan Distance。

有的时候烘焙法线贴图我们将得到如左边的结果:这是因为高模自动投射低模时Raycasting MaxScan Distance参数设置不当数值过低,因此要一点点改变数值,直到我们得到理想的效果。

当法线贴图烘焙完毕后,按下ESC按钮离开ZMapper。

我们的法线贴图将显示在纹理窗口。

我们也可以使用ZMapper连接凹凸贴图到法线贴图(ZMapper的另一个功能)我们打开ZMapper之前,我们必须输入或载入凹凸贴图作为阿尔法贴图(凹凸贴图必须是RGB 模式)。

如果要看见阿尔法贴图的凹凸效果,我们必须TOOL>>Displacment并在强度(intensity)槽输入想要的数值。

同时我们也必须创建一个空白的纹理才能在视窗看到凹凸贴图的效果。

如果我们想要屏幕上看到模型在高细分级别下更好的凹凸效果,强度数值大约应该在0.005或是高一点点。

现在,我们设置细分级别到最低,并打开Zmapper,这样你就可以看到Bump贴图连接到法线贴图的效果。

6.使用投射方式从高模烘培贴图使用投射来烘培法线贴图对于非ZBrush制作的模型是非常有用的方式,就象下面这个例子中那样,这里的低模和高模都是在3DMAX中制作的。

第一步:我们导出高模为一个Obj文件,然后导入ZBrush,在这里我们可以再增加一些多边形雕刻一点细节。

相关主题