法线贴图的创建和烘培

合集下载

3D游戏常用技巧NormalMapping(法线贴图)原理解析——基础篇

3D游戏常用技巧NormalMapping(法线贴图)原理解析——基础篇

3D游戏常⽤技巧NormalMapping(法线贴图)原理解析——基础篇1、法线贴图基本概念 在制作3D游戏时,常常遇到这样⼀个问题:⼀个平⾯,这个平⾯在现实中并不是⼀个“平”⾯,例如砖墙的表⾯带有⽯质浮雕等等。

这种情况下如果只是简单的做⼀个平⾯,则让⼈感觉严重失真,如图1所⽰;⽽如果⽤很密集的三⾓形去表⽰这类略有凹凸的表⾯,则性能上⼤⼤下降。

研究⼈员发现,⼈眼对物体的凹凸感觉,很⼤程度上取决于表⾯的光照明暗变化,如果能通过⼀张贴图在⼀个平⾯上表现出由凹凸造成的明暗变化,则可以让⼈眼感觉这个平⾯是凹凸不平的(虽然这个平⾯还是平的)。

法线贴图正是为了这个⽬的⽽产⽣的。

图1 不同细节程度的蜡烛 准确的说,法线贴图是Bump Mapping(凹凸贴图)的其中⼀种。

第⼀个Bump Mapping由Blinn在1978年提出,⽬的是以低代价给予计算机⼏何体以更丰富的表⾯信息。

30年来,这项技术不断延展,尤其是计算机图形学成熟以后,相继出现了不少算法变体,法线贴图就是其中很重要的⼀种。

研究⼈员对法线贴图进⼀步改进,出现了Parallax Mapping(视差贴图), Relief Mapping等技术,实现了更逼真的效果。

本⽂仅针对法线贴图进⾏介绍。

⼀条法线是⼀个三维向量,⼀个三维向量由x, y, z等3个分量组成,在法线贴图中,把(x, y, z)当作RGB3个颜⾊的值存储(如图2),并将其每个分量映射到[-1, 1]。

例如,对于x, y, z各有8位的纹理,[0, 128, 255]表⽰法向量(-1, 0, 1)。

图2 利⽤彩⾊通道存储法线贴图2、切线空间 法线贴图中存储的法线最初是定义在世界空间中,但在实际中,这种⽅式很少见,因为只要物体移动,法线贴图则不再有效。

另⼀种⽅式就是将法线存储在物体的局部空间中,物体可以进⾏刚体变换(平移,旋转,缩放),法线贴图依旧有效,但是这种⽅法并不能应对任何⽅式的变换,并且法线贴图不能在不同物体进⾏复⽤,增加了美⼯的负担。

blender 烘培用法

blender 烘培用法

blender 烘培用法Blender烘培用法Blender是一款功能强大的三维计算机图形软件,除了建模和动画处理外,它还提供了烘培(Bake)功能,用于将复杂的细节和效果转换为纹理贴图,以提高渲染效果和性能。

在本文中,我们将介绍Blender的烘培用法及其在渲染和游戏设计中的应用。

烘培是将高分辨率的几何细节、光照、材质等内容转换为纹理贴图的过程。

这样做的好处是可以减少渲染时间和计算开销,并且在游戏设计中可以减少资源消耗,提高帧率。

以下是一些Blender烘培的常见用法:1. 法线贴图烘培:法线贴图可以为低多边形模型提供外观上的高分辨率细节。

在Blender中,您可以从高分辨率模型烘培出法线贴图,然后将其应用于低多边形模型上,以获得类似高多边形模型的外观效果。

2. AO贴图烘培:环境光遮蔽(AO)贴图可以为模型增加真实感和深度感。

通过在Blender中执行AO贴图烘培,您可以捕捉到模型上不同部位的光照不均匀性,并将其表达为贴图。

这样,您可以在渲染时通过应用AO贴图来模拟光照效果,而无需耗费额外的计算资源。

3. 阴影贴图烘培:阴影贴图可以模拟场景中的阴影信息,并将其储存在纹理贴图中。

Blender允许您通过烘培生成阴影贴图,以减少在渲染期间实时计算阴影的开销。

这对于游戏设计师来说尤为有用,因为它可以极大地提高游戏性能。

4. 几何贴图烘培:除了上述纹理贴图外,Blender还提供了几何贴图的烘培功能。

几何贴图是用来模拟常见的几何细节效果,例如凹凸映射、高光等。

通过将高多边形模型的细节转换为几何贴图,并应用于低多边形模型上,您可以在不增加额外几何细节的情况下获得更加逼真的效果。

以上仅是Blender烘培功能的一部分应用案例,实际上,烘培在三维渲染和游戏设计领域有着广泛的应用。

在使用Blender进行烘培时,您需要注意以下几点:1. 设置UV贴图:在进行烘培之前,确保为相关模型设置了正确的UV贴图。

UV贴图决定了纹理贴图在模型上的映射关系,因此对于正确的烘培结果至关重要。

场景制作-海龟渲染器-烘培技术

场景制作-海龟渲染器-烘培技术

海龟渲染器——高级烘培海龟次世代灯光烘培海龟渲染器地设计本着高效原则.海龟渲染器囊或许多东西,例如Radiosity Normal Maps(发光法线贴图),Polynomial Texture(多项贴图).此教程章节较多,有基础可跳过.该烘焙多用于建筑、场景制作.Baking Tools in Turtle烘培下有诸多选项设置,分3个类型.Texture Bake(贴图烘培):渲染物体表面材质和贴图由一模到另一模地渲染特效.Vertex Bake(顶点烘培):渲染顶点地和表面地灯光信息.Point Cloud Bake(点云烘培):传递灯光或其他信息到任意点设地置.烘培工具地不同地工具和设置不要混淆,他们有各自明确地作用,并且相互补充,来进行明确、精细地烘培.如下接触烘培工具.准备对模型进行烘培,检查不同地显示层和物体,hiResBase 层包含做有地物体细节(高模)将传递给低模型在lowResBase 层.Surface Transfer (表面传递)首先烘培法线贴图,留着之后使用.烘培栏控制设置特有不同地烘培为标准渲染.开启GI栏并关闭GI功能,否则将得到由GI地烘培,即使我们仅需要输出法线贴图.现在检查表面置换地功能性,渲染类型把rendering改到baking,打开baking tab.海龟烘培有不同烘培层构成,方便修改.建立并组织烘培层在Turtle Bake Layer Editor 在 Window ——Rendering Editors ——TURTLE内.作为基础渲染,运用默认设置即可.表面置换很简单.猜想下对于杂乱地MAY A场景,拥有数百万地模型和节点网络.设想下你要通过某些方法来整理场景以作他用(后用).你所要做地是草拟(策划规划)低地大似这个场景代理模型,最好有UV贴图.低模列入表面传递列表(Target Surfaces),所有地复杂、琐碎地模放入Source Surfaces 表.不可以选取(碰)高模UV贴图,因为海龟按低模UV进行采样.在MAY A中,显示层编辑,并且确保low Res Base 层可见.所有源物体和目标物体都要在场景中可见.右键 lowResBase 通过层选择物体.在目标栏中(Target Surfaces roll-out),选择 Add Selected 为每个要烘培地低模.每个目标体都要对应每个源模体.确保低模在列表中被选择,加选hiResBase layer 到层由Source Surfaces list右键在Display Layer Editor,选择选择物体,然后加选到源面列表中.输出为默认地法线设置,需要改进传递设置,来设置目标和源物体连接. Front and Back 控制表面法线以源物体地发现采样方向或反方向.通常对目标体微小距离(表面附近)地采样,所以我们只用烘培采样.Front Bias to 0.0时,停止法线方向采样.Back Bias to -2.0时,在法线方向2.0地距离进行采样.Back Range to 3.0,这让海龟在物体表面上进行2.0个单位上地采样.1.0个单位穿过表面.不用太担心Bias and Range值.仅记Bias参数用来抵消源探索光线,Range值控制目标体地最大探测距离,Front and Back分别控制法线方向地表面采样.其擅长控制Front or Back Sampling,和设置双bias设置,可进行双面采样,但有一至灯光线(方向).通常技巧是不是前就是后(采样),设置range为bias值地双倍,前后任意统一一面采样.Front Range: 0.0, Back Range: 3.0, Front Bias: 0.0 and Back Bias: -2.0. In the Texture Bake Settings roll-out, increase Width and Height to 2048, and hit render烘培地法线贴图包含高分辨率地源物体面细节,存贮为普通地RGB图像.烘培贴图地超级采样可在Render Settings下Sampling tab下 Anti-Aliasing 卷栏中进行设置.也可以选择部分区域重新渲染,如果某些地方需要更高地采样地话.观察Baking tab下地Outputs roll-out .可以用海龟烘培任何东西.你可以烘培任何材质通过海龟LUA脚本来控制,法线烘培仅是海龟地初始功能.你可以试想法线贴图在MAYA中通过ilrHwBakeVisualizer shader来连接,但是它简单在Baking tab下地Texture Bake Settings roll-out下地Model View Hardware Visualization.渲染之后硬件材质将连接你地物体.软件材质将不受影响.点击Model View Hardware Visualization,渲染出下一张新地贴图.记得在MAYA试图中 Shading menu 开启Hardware Texturing功能.默认情况下,高分辨率模型地凹凸信息是不被包含到法线贴图内地,所以要勾选Include Bump Maps in the Outputs 才能烘培出带有凹凸信息地法线贴图.重新命名以便后面使用.Parallax Mapping 视差贴图核对更加真实地技巧继续新地烘培.1取消nclude Bump Maps 属性以得到快速地平地材质地法线贴图.2勾选Displacement in Alpha Channel ,海龟将渲染出带有黑白alpha通道地法线贴图.3如果Model View Hardware Visualization还在勾选状态,海龟将自动连接并开始硬件材质地高度图( Height Map ),渲染,注意,目标和源务必须是可见状态.默认地高度贴图值对于场景来说会有点太高,所以设置硬件材质地高度贴图roll-out 值为0.04.置换值range0.1默认渲染,我们得到负面位移效果,可设置值为0.33.不同角度查看模型,局部视图深度上以出现一点错觉,近似置换地表面效果.一个渲染视差贴图效果地技巧是用不同方向、不同色彩地光来照射物体(表面).注意低模型由实边产生地阴影.表面区域效果,细节置换不在被面地边而阻隔地面上.如果有墙里穿东西地场景,你用视察贴图非常好.Radiosity Normal Mapping 发光法线贴图渲染法线贴图,该技术被用于Half-Life 2(游戏). 在灯光贴图中(RNM),照明(直接和间接)以每个点地三个方向来烘培RGB地.它使依靠表面地法线在三色采样地前提下插入特殊地灯光.以此方便运用同样地RNM来调试高质量地效果.打开显示层,隐藏hiResBase layer 高模层,因为已有渲染好地法线贴图所以关闭它.建立新点灯,强度值2.0,开启线性衰减,务必使用光线追踪阴影.色彩为亮绿,角度51.默认地渲染OK,渲染法线贴图时确保已加进来低模.打开输出菜单栏确保只有Radiosity Normal Map 选中.准备,渲染.稍后我们将继续使用这一场景,保存一下场景.重新保存另起名字以免覆盖原文件.在渲染窗口中观察图,但是如果你改变输出目录你将得到3个文件,每个都描绘了RNM地该向量(XYZ)地光照信息.注意这些视图有少量地噪点.去掉噪点提高质量可提高RNM烘焙地采样数.通常较好地方法是用radiance cache,之后会讲解.ilrHwBakeVisualizer shader 节点是RNM贴图地一部分,所以你可以用它,或者渲染之前简单地控制Model View Hardware Visualization 在贴图烘焙地输出里.可以试想下,当我们烘焙发现贴图,你得让发现贴图可见,另外你指出视觉类型地材质节点在硬件节点当前地输出端.记住在硬件节点中允许法线贴图如果它没准许地情况下.试着法线贴图与RNM一起烘焙.RNM场景包含所有灯光(视图中灯光不看见),并隐藏hiResScene 显示层.如下图可见,色彩要比默认地硬件节点纹理要亮.无论哪种法线贴图运用,照明都将匹配并提高.这,就是RNM地魔力!虽然RNM要比实际像素视感低很多,但同样适用于法线贴图和相应地节点,该技术被广泛地应用在次时代游戏中.Radiance Cache 辐射储存看一下如何以高质量制作RNMs并用FG+辐射储存把它快速地渲染出来.在海龟渲染设置里,打开GI项,允许GI.选择FG为首GI,次项为NONE.这将使RNM有一次光照反弹.更多运用次项GI请参看我们地GI教程.打开FG输出设置 Use Cache to Radiance SH.设置Gathering Rays =200.渲染.正式渲染前进行预渲,以此得到好地RNM.Polynomial Texture Mapping 多项贴图映射你可能很熟悉PTMs,来看下它是如何在海龟下工作地.PTM以烘焙下漫射照明地简单多项功能为基础工作地,被计算为RGB图像输出.PTM将包含近似漫反射地材质来接受光线照明,包含阴影和自阴影.PTM特点是可由Baking地不同设置而分别输出.你可烘焙下简单地照明和阴影用于正常地贴图烘焙,例如,你有个典型规则地球在一平面上,想要烘焙下球投到平面上地影子.如果我们想得到自阴影,Surface Transfer是一个选择,多数情况下得到复杂模型地较细微地自阴影,烘焙下来后给一个低模(替代模)用.烘焙实验PTM,如下图该场景有2个显示层,高模层和低模层分别是源物体和目标物体,确保这两个层都可见,把渲染类型改为烘焙baking,进入烘焙栏,把低模放入目标物体栏中,高模放入源物体栏中.朝内部方向采样, Front Range=0.0 和Front Bias=0.0时停止向外采样.Front Range=4.0和Front Bias=-1.0时进行微距采样,保持采样穿过低模,确保不丢失源文件各个区域地细节.在Texture Bake Settings设置中,提高分辨率为1024*1024,烘焙PTM记得选择一个浮动地格式,OpenEXR MultiLayer 很好.PTM系数可能会有价值,所以存储好他们为正常图片以备它需,控制降低精确度.选择Model View Hardware Visualization ,当你连接PTM时会节省时间.在输出栏中,开启Normals 和Polynomial Texture Maps地允许.务必加载Maya's OpenEXR plugin loaded插件.100地PTM采样对于这个场景已可以了,但是到最终场景渲染得升到500或更高地采样.你可在一张PTM中采样下直接光和间接光照,但是仅有满发射地特效.视觉特效例如高光将不能被烘焙.一会我们会烘焙动态间接光照,所以默认地PTM输出设置就可以了.小心,如果用超级采样,你要记不选Clamp Values属性,保留浮动值.如果超级采样不准许,就开其它,记得关闭 Clamp Values.渲染,将烘焙法线贴图和PTM.一旦烘焙完毕,你可以隐藏高模层.确保在视图中开启硬件纹理显示,并且选择Use All Lights,你需要建立一个直接照射地灯在模(低)型附近,调整灯光,来观察法线贴图地效果,可开启低模材质,自选地调节 Hardware Shader,打开Specular Color i在Hardware Shader features中.这还有个Extract Normals提取法线项,它将由PTM再建法线,但是我们已经在法线贴图中烘焙了法线,所以去掉该项地选择.旋转灯光,可在物体边缘观察自阴影效果.Lua Baking,涉及 script脚本,暂不翻译……水品有限,翻译不周,敬请见谅火星ID:kdragon海龟渲染器-技术交流QQ群:23084754交流学习请勿商用。

如何通过Blender制作切线空间法线贴图

如何通过Blender制作切线空间法线贴图

如何通过Blender制作切线空间法线贴图切线空间法线贴图(Tangent Space Normal Map)在游戏开发和计算机图形学中扮演着重要的角色。

它能够给模型带来更加真实的光照效果,提升游戏或渲染的视觉质量。

在本教程中,我们将介绍如何使用Blender软件来制作切线空间法线贴图。

首先,在打开Blender后,我们需要准备一个基础的模型。

可以通过导入一个OBJ文件或者手动创建一个简单的模型来进行实践。

在这个教程中,我们将以一个简单的立方体为例。

在你的3D视图中,选择你的模型并按Tab键进入编辑模式。

然后选择一个面,你可以使用鼠标右键点击来选择。

接下来,按U键并选择“Unwrap”选项,或者通过菜单栏选择“UV”,再选择“Unwrap”。

这将把选择的面展开到UV编辑器中的一个平面上。

接下来,我们需要在这张平面图上绘制纹理。

在UV编辑器中,你可以使用各种绘画工具来添加颜色、纹理和细节。

绘制完成后,我们需要生成切线空间法线贴图。

首先,在属性面板中选择“Render Properties”标签,然后将“Cycles Render”切换为“Blende r Render”。

接下来,在属性面板中选择“Textures”标签,然后点击“New”按钮创建一个新的纹理。

选择“Image or Movie”并点击“Open”按钮导入你之前绘制的纹理图片。

现在,在纹理选项卡中,选择“Mapping”子选项卡,并将“Coordinates”选项更改为“UV”。

这样Blender就会使用之前创建的UV 布局来映射纹理。

回到属性面板,在“Texture”选项卡中,找到“Influence”子选项卡。

在“Geometry”部分,勾选“Normal”,并在下方的“Normal Map”部分选择“Tangent”.现在,你可以在3D视图中观察到切线空间法线贴图的实际效果。

你可以尝试调整一些参数,如强度或颜色,来获得你想要的效果。

机械模型次时代建模流程

机械模型次时代建模流程

机械模型次时代建模流程一、低模拓扑1•高低模的匹配★2•低模的最优化★★3•展UV的最优化★4•低模烘培要求★二、贴图烘培1•烘培法线贴图★★★2•烘培AO贴图★三、贴图绘制1•法线贴图的修改★★2•漫反射贴图的绘制★3.贴图接缝处理★★4•高光贴图的绘制★一低模的拓扑1.高低模的匹配(注:本文所有图片看不清可放大观看)高模与底模本身面数差距很大,所以高低模只需要做到相切或者包裹就行,前提是尽量贴合。

高模的制作就不阐述了,总之高模细节越多,越好看最终效果就越好。

用低模去匹配高模的目的只是为了底模在形状大小上与高模看起来一样。

2.低模的最优化做到低模面数和模型结构的最优结合,既用最少的面去最大可能的表现模型的结构。

要求:1.机械模型的制作主要是对模型结构的了解,熟练布线,合理的分配有限的面数,不要浪费面数。

2.了解什么样的细节和形状可以用法线贴图表现,能用法线贴图在低模上表现的细节和结构不用做。

中。

时魁02】三SF^:360巔:廊FFS: ⑶.922上图中低模加上法线贴图后的效果,凹槽和齿轮都能体现出来,在面数和结构上取个折上图箭头所指的切角、凹槽和凸起都不用制作,在低模上用法线贴图可以直接表现。

上图是低模加法线贴图的效果, 箭头所指地方都是法线贴图表现出来的细节。

一般的小凹槽和小突起不起到模型柱体结构的细节都可以在法线贴图上体现。

3.展UV 的最优化上图是尽量把 uvUV 框,不浪费,UV 的摆放位置利于绘制贴 图。

肿|畋□ L口 0dlll\—limn niriiii I I I I I I I i ■i ~~r rMV I* S'r «■・■上图UV格子的大小可看出UV比重的分配,分配原则是按模型细节多少和模型结构的主次关系来定。

图二图一红色UV是自动展平后的大小,图二是经过放大后的UV。

因为此处为齿轮齿面的UV,包含的细节很多,所以需要更大的UV空间来表现细节,特别是法线贴图的细节表现,如果UV所占空间过小,而模型细节多,法线贴图表现非常不理想。

(完整版)Photoshop制作法线贴图

(完整版)Photoshop制作法线贴图

(完整版)Photoshop制作法线贴图
Photoshop 制作法线贴图
现在我们来试着在 Photoshop 中实现和Maya打灯相同的效果
将背景颜色设为 128 128 255
一共需要5个图层,对应Maya 中的5盏灯。

(建立5个图层,然后制作选区并填充,将图层的 fill 设为0,这样将只有图层样式可见)模拟红色普通照明的图层样式依照下图所示设置(斜面和浮雕),取消 global lighting 全局光,角度设为0(光线从正右方射入),高度为0度(使光线平行屏幕);高光模式设为叠加,颜色255 128 128,不透明度为100%;阴影不透明度0(不需要阴影)。

在上述大体结构不变的情况下,你可以随意调整其它参数,只需保证所有图层样式采用的这些参数相同即可。

红色吸光灯可直接复制粘贴图层样式,将角度变成180(灯光从
左侧射入),颜色变为0 128 128,这样就产生了“吸光”让红色通道变暗的效果
模拟绿色通道的普通照明可粘贴同样的图层样式,将角度改成90度(从上方射入),高光的颜色变成128 255 128,生成绿色的照明效果。

3dmax怎么烘焙法线贴图?

3dmax怎么烘焙法线贴图?

3dmax怎么烘焙法线贴图?
3dsmax想要烘焙法线,该怎么烘焙呢?下⾯我们就来看看详细的教程。

3DsMAX(3DMAX) V9.0 简体中⽂精简绿⾊版
类型:3D制作类
⼤⼩:95.49MB
语⾔:简体中⽂
时间:2018-11-12
查看详情
1、制作两个3dmax模型,两模型之间要有很⼤的差距,⼀个是低模⼀个是⾼模,完成后最好在同⼀位置放置,选择低模添加UV展开编辑器.
2、在UV展开命令下的属性⾯板内点击打开UV编辑器之后选择⾯炸开
3、选择菜单栏-渲染-渲染到纹理
4、分别勾选启⽤选定对象、启⽤投影帖图之后点击选取添加⾼模
5、输出中添加NormalMap
6、最后按F10或点击⽅式打开渲染器设置在渲染器中过滤器:Catmull-Rom。

并勾选启⽤全局超级采样器
7、最后点击渲染到纹理中的渲染得到法线贴图(ps只有到⽂件夹下的图⽚打开才是带有颜⾊的法线贴图)
以上就是3dmax烘焙法线贴图的教程,希望⼤家喜欢,请继续关注。

法线贴图及3dsmax模型烘焙技巧

法线贴图及3dsmax模型烘焙技巧

法线贴图及3dsmax模型烘焙技巧法线贴图(Normal mapping)技术在游戏制作中非常普遍,和在计算机图形领域中已经有接近30年历史凹凸贴图相比,NormalMap是一种目前流行的凹凸贴图技术,因为在游戏(比如XBOX和PlayStation这种新世代主机游戏)中考虑更多的是时间成本(据说3D美术师做一个高模是要花不少时间的)和游戏性能(面数越多,GPU的运算量就越大),所以低模(面数较少的模型)在游戏中使用较多。

为了表现精细模型的效果,需要在接受光照的时候不同区域都能呈现出不同的明暗效果,低模+法线贴图就能实现高模的效果。

教程讲解了法线贴图的原理、获取法线贴图的方法以及3ds max 低模烘焙导入Unity步骤。

先看几张图片,蓝紫色的贴图就是法线贴图,他的作用就是在一个面数很低的模型上显示出尽可能多的细节,表现轮胎纹理正是通过法线贴图实现的。

低模加上法线贴图对比效果。

根据制作物件(比如表现树木的肌理感)的不同,法线贴图可以很简单也可以很复杂。

可以从最简单的几何形入手,到各种奇形怪状的东西。

什么是法线贴图,如果大家想看更专业的解释可以自行求助搜索引擎,法线贴图(Normal mapping)在三维计算机图形学中,是凸凹贴图(Bump mapping)技术的一种应用,法线贴图有时也称为“Dot3(仿立体)凸凹纹理贴图”。

凸凹与纹理贴图通常是在现有的模型法线添加扰动不同,法线贴图要完全更新法线。

与凸凹贴图类似的是,它也是用来在不增加多边形的情况下在浓淡效果中添加细节。

但是凸凹贴图通常根据一个单独的灰度图像通道进行计算,而法线贴图的数据源图像通常是从更加细致版本的物体得到的多通道图像,即红、绿、蓝通道都是作为一个单独的颜色对待。

为什么要使用法线贴图呢?原因是真实与效率:其实也是一种简化模型及增加模型真实性的技巧啊!法线贴图可以创建出比真正的模型更多几何体的假像,和置换贴图一样法线贴图并不能真的影响低模的几何网格;贴在低模的法线贴图通道上,使低模拥有法线贴图的渲染效果,却可以大大降低渲染时需要的面数和计算内容,从而达到优化动画渲染和游戏渲染的效果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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,在这里我们可以再增加一些多边形雕刻一点细节。

相关文档
最新文档