第五章:3ds max UV展开和BP贴图绘制(上)
3ds max中简单的几何体模型是通过“UVW 贴图”修改器来赋予贴图。但是,对于复杂的人物角色模型,则需要“UVW 展开”这个修改器来完成UV贴图的处理。其实这个两个修改器本质都是编辑UV坐标。使用“UVW 展开”之前最好对模型进行“重置变换”一下。
UVW展开的最终目的就是制作一张UV贴图,然后在UV贴图上面绘制图像。这张UV贴图里面的UV坐标与模型中的UV坐标已经映射完毕了。UVW 展开命令面板中有一个 UV编辑器,这个UV编辑器就是直接编辑我们的UV贴图。UVW展开里面有个UV编辑器。
我们以一个男性头部来演示如何进行UV展开操作和使用UV编辑器来编辑UV贴图。这是一个1/2的男性头部,我们可以先给它进行UV展开,最后添加“对称”修改器来补全完整。
模型下载地址为:男性头部3D模型(教学使用)-游戏开发文档类资源-CSDN下载
首先,我们为该头部模型添加一个“UVW 展开”修改器。
我们顺便打开UV编辑器看看,如下:
在UV编辑器里面中间四边形的棋盘格部分,就是我们UV贴图区域。我们发现,在这个四边形区域内,已经存在一个UV贴图了,这是3ds max自动帮我们完成的。UVW展开的操作对象是3D模型,它的工作就是将模型的表面一部分一部分的剥离下来。UV编辑器操作的对象是UV贴图,它的工作就是将剥离下来的模型表面平铺在UV贴图区域。但是两者又是通过UV坐标关联在一起的。因此,我们可以通过选择3D模型中一部分,来对应UV贴图中的那一部分,其实两个部分就是一个东西,只不过一个在3D模型上立体显示,一个在UV贴图里平面显示。
为什么要将模型的表面一部分一部分剥离下来,而不是整张UV贴图。因为复杂的模型形状各异,而UV贴图则是一张正方形的图片。如何将模型的表面放置在一个正方形里面,就是问题的关键。如果是一个立方体,那么我们可以将6个面逐一放到UV贴图里面,这样既不影响立方体表面纹理效果,也能够合理的利用UV空间。但如果是一个球形,我们无法将球形的表面完整的放置在一个正方形里面(参考世界地图),而且球形表面在被剥离下来平铺成矩形的时候,在顶部和底部位置一定会有拉伸。这种拉伸会影响UV贴图绘制完毕后,在被贴到模型表面后,贴图上面的图像也会被拉伸(参考哈哈镜效果)。因此,为了避免这种情况的发生,我们需要将模型按照一定规则拆解为很多部分,然后将每一部分展开成一张平坦的二维图片,重点尽量不要拉伸。如果有必要,还可以将二维图片横竖打直为四边形,目的是最大程度的利用UV贴图空间。为了案例演示,我们只需要剥离展开成二维图片即可。
UVW展开和UV编辑器都可以按照点,线和面的选择方式来编辑。在选择点,线,面的时候,后面有一个立方体的选项,分别是“按元素XY切换选择”(UVM 展开)和“按元素UV切换选择”( UV编辑器)。如果勾选的话,如果我们选择模型一个面,它会自动延伸到整个包含该面的对象。如果选择UV贴图的一个面,它会自动延伸整个包含该面的贴图。这个操作帮助我们实现从局部到整体的一个选择。在上面两个截图中,我们可以看到UVW展开中的选择方式,UV编辑器中的选择方式。选择是编辑修改的前提!
UVW展开的过程就是将模型表面拆解的过程。在拆解之前,我们一般会对模型进行一次“投影”,该操作的意思是,按照不同的投影轴向,将整体模型形成一个UV轮廓。在我们上面的UV编辑器中,能够看到头部模型的UV贴图,这是系统自动帮我们完成的,显然这个效果不是很理想,我们需要重新“投影”一下,步骤如下:
1. 给头部模型添加“UVW 展开”修改器
此时模型中会有一些绿色的线,这些绿线代表模型拆解各个部分的分界线。也就是说,如果我们想要一部分剥离下,就把该部分周围的线设置为绿色,也就是断开线。然后执行剥离命令,就可以将这部分的表面剥离下来了。同理,在UV编辑器中也显示绿色的线。
2. 选择“面”方式,去掉勾选“忽略背面”,然后全选模型所有的面。
3. 选择“投影”->“平面贴图”,再选择 x/y/z 轴向,同时打开UV编辑器。选择不同的投影轴向,UV编辑器中的UV贴图呈现的效果(投影)是不一样的。(保证全选面的前提)
我们通过对比,可以看到三种不同的投影贴图的效果,最终我们选择Y轴方向的投影。
5. 接下来就是拆解模型的操作。可以一次性编辑所有UV断线,也可以一个部分一个部分处理。如果是一次性编辑所有UV断线,可以点击“剥”->“编辑接缝”,然后在模型上面选择所有要断开的线,最后点击“剥”->“快速剥”,就能将模型所有部分的UV贴图全部剥开了。紧接着,在UVW编辑器中点击“排列元素”中的第一项“紧缩-自定义”(自动摆放),模型的所有部分的UV贴图就是自动摆放在整个四边形UV贴图中了。当然,本案例中,我们就不选择这种方式了,我们只给出命令截图:
前两个命令在“UVW 展开”命令面板中,“紧缩-自定义”在UV编辑器右边的命令面板中。
6. 我们可以在模型中手动选择要断开的线,按住Ctrl键加选,或者按住Alt键减选,注意,模型中的线选择和UVW编辑器中的线选择是一致的。我们在模型中选择要断开的线,然后去UVW编辑器中右击选择好的线,然后“断开”即可。在UVW编辑器中,勾选“按元素UV切换选择”,点击断开UV的任一部分,就会自动全选断开的所有UV部分,然后再拖动断下来的UV贴图,将其放置到一边。当然,我们也可以直接在UVW编辑器中选择要拆解的UV贴图,右击“断开”也是一样的。例如,本案例中,我们首先将“耳朵”部分拆解下来。首先选择“边”的选择方式,然后按住Ctrl键,将耳朵周围的线进行选择。
选择完毕后,我们去UV编辑器中,同样的位置,同样的线也被选中了:
右击我们完成的线,选择“断开”命令,此时这个线变成了绿色,也就是断线成功了:
紧接着,在UV编辑器中选择“面”方式,并勾选“按元素UV切换选择”。这样,当我们选择耳朵的任何一个面的时候,就会自动全选整个耳朵。
使用UV编辑器移动工具(顶部工具栏),就可以移动这个耳朵到其他地方了:
虽然我们将耳朵剥离下来了,但是此时,我们还不能将其展开成一个二维图片。因为耳朵的结构仍然复杂,如果直接将耳朵的表面平铺为二维图片的话,肯定会拉伸,甚至一些点和线会重叠在一起。解决的方法就是,继续将耳朵进行断线,例如我们将耳朵前后、中间分开。
我们选择新断开的线,然后去UV编辑器里面,右击选择“断开”命令。当然,这种方式也不能100%保证耳朵里面的面展开后不产生拉伸。本案例只是讲解断线操作的流程,并不能用于真实的模型处理。因为大部分的断线位置都会选择在模型比较隐蔽的地方,这样不会影响到贴图图像在模型上面的显示效果,因为断线位置的贴图显示,肯定会有一些瑕疵。
8. 接下来我们使用“松弛”命令将剥离下来的表面平铺成为一个二维图片。因为我们已经将耳朵又分成了三个部分,因此可以对三个部分分别进行“松弛”操作。在UV编辑器中,选中耳朵的UV贴图部分,然后选择“工具”->“松弛…”,在弹出的框中选择“由多边形角松弛”选项,然后点击“开始松弛”。松弛后(可以手动停止),耳朵就会自动延展开来。
我们发现耳朵的三个部分都被均匀的延展开了,基本上没有发生线重叠的情况。如果松弛之后,仍然有一些线重叠无法展开,则首先要考虑断线方式是否正确,然后在去手动移动线的位置或者点的位置。当然手动移动的前提是不能产生拉伸或挤压,这个需要棋盘格的辅助。这个工作是一个细节而繁琐的过程。
备注:UV贴图是一个四边形,因此一个模型的各个部分被拆解到UV贴图中。为了能够充分利用UV贴图的空间,各个部分的UV贴图也尽量“打直”成四边形。打直操作可以分为“横向打直”和“纵向打直”。打直操作不是必须的。对于面积大且平滑的模型表面,我们可以通过打直操作,使贴图边缘打直放置在UV贴图框的边缘,提供UV空间利用率。但是,如果是不规则的角落处的模型面,尽量保持延展开后的样子就行了。
9. 接下来就是将头部其他的部分拆解下来,然后“松弛”一下。我们就简单粗暴一些,直接将脸拆分下来,这样就一分为二了,直接将两部分进行“松弛”。
松弛完毕后,我们可以通过移动,缩放命令,将我们这些松弛好的UV贴图全部归置到UV棋盘格的四边形区域内,这个四边形区域才是合法的UV坐标区域。
我们发现在脸部的嘴角,鼻空和眼睛的位置,由于布线比较密集,因此展开的效果不是很好。这种小的细节地方,可能需要我们手动的去调整线的位置。
10. 最后将“棋盘格”材质赋予模型,当棋盘格均匀的分布在模型表面的时候,说明UV展开合格。如果棋盘格中出现拉伸或扭曲的部分,则说明它对应的UV坐标不是很正确,这就需要我们重新拆解模型,或者手动去调整UV贴图中的线。创建棋盘格材质步骤:
a. 选择一个标准材质球
b. 漫反射添加“棋盘格”位图
c. 指定位图瓷砖数量,uv均为15(根据自己情况而定)
d. 选择“转到父对象”(从位图编辑回到材质编辑)
e. 将材质赋予模型
f. 点击“视口中显示明暗处理材质”
模型表面就显示棋盘格了。
11. UV展开完毕后,我们可以添加一个“对称”修改器,来补全整个头部模型。
这个时候,我们将整个模型“转换为可编辑多边形”,就是将UVW展开和对称的操作记录清除掉,但是编辑好的UV贴图信息还是存在的。我们继续添加一个新的“UVW 展开”,并且打开UV编辑器,查看里面的UV贴图,我们之前编辑的UV贴图都在。当我们移动一个UV贴图的时候,发现下面还有一个一模一样的贴图。
这就是我们使用“对称”修改器之后,3ds max自动帮我们补全另一半模型的时候,也自动帮我们补全了UV贴图信息。这样不仅节省我们绘制贴图的区域空间大小,还能更大程度的利用UV四边形空间。否则,我们需要绘制整个头部的所有UV贴图了。当然,我们上面的UV移动操作是不可以进行的,3ds max就是使用重叠的方式来完成对称贴图的重复使用。
12. 将UV贴图导出。打开UV编辑器,选择“工具”->“渲染UVW 模板…”弹出“渲染UVs”窗口,调整贴图尺寸为512 * 512即可,再点击“渲染UV模板”,弹出“渲染贴图”窗口,点击保存,图片格式可以是png,这就是我们的UV贴图啦!
我们可以打开这个贴图文件,注意PNG格式是透明背景。如下图:
13. 我们得到PNG格式的贴图文件后,需要将它放入到PhotoShop中,为它添加一张背景图层,然后放在贴图图层的下面,最后保存为PSD格式。接下来,我们就要使用BodyPaint3D这个款软件来绘制贴图了。同时,我们还需要将模型导出OBJ格式一份。因为在BodyPaint3D中需要使用OBJ格式的模型(head.obj)以及PSD格式的贴图(head.psd)。3ds max中导出OBJ格式操作不再截图说明,按照默认设置导出即可。以下图是PhotoShop中添加背景图层的操作截图。
以下是一些UV展开操作过程的建议:
1. 断线方法:将一个复杂的模型按照基本几何形状进行拆解,然后断线。例如,立方体可以按照十字形进行断线,球体可以分成两半或者四半,圆柱体可以上下圆面分分开,中间分开。其实这个断线的方法,有些类似“UVW 贴图”中的覆盖方式。
2. UV公用:两个部分公用同一个UV贴图,这样可以重复利用UV空间。我们将模型沿着对称线删除一半,然后只需要UVW展开一半模型,最后使用“对称”修改器来补全另一半的模型,同时也会补全另一半的UV贴图。当然,不对称的模型来讲,就不能这么操作了。
3. 两个模型对象分别进行UV展开后,都执行“转化为可编辑多边形”,让后将两个模型“附加”成一个对象,那么两个对象的UV展开信息将合并在一起。此时为新的对象添加UVW展开就能看到之前两个UV贴图都在同一个新UV贴图里面了。
4. 如果在展UV过程中,需要修改模型,我们不能直接删除“UVW 展开”,否则我们对UV的编辑会一起删除掉。正确的操作方法应该是右击“转化为可编辑多边形”,然后对模型修改完毕之后,再“重置变换”,再“转化为可编辑多边形”,这样,在添加“UVW 展开”的话,之前的UV操作仍然保留在新的“UVW 展开”中。
备注:这是我们游戏开发系列教程的第三个课程,这个课程主要讲解3ds max建模的基础知识。学习目标主要通过3ds max的操作来加深对游戏基础知识的了解。如果有兴趣的同学,可以通过其他方式来学习3ds max的专业知识。本课程中如果有一些错误的地方,请大家留言指正,感激不尽!
第五章:3ds max UV展开和BP贴图绘制(上)相关推荐
- 第五章:3ds max UV展开和BP贴图绘制(下)
BodyPaint3D是一款UV 贴图绘制软件,类似于PhotoShop,但是它主要用于3D模型的贴图绘制.Cinema 4D R10 的版本中将其整合成为 Cinema 4D的核心模块.C4D包含建 ...
- 第二章 3ds Max物体的操作及选择
系列文章 3DSMAX学习 第一章 3ds Max基础界面和操作 第二章 3ds Max物体的操作及选择 文章目录 目录 系列文章 3DSMAX学习 文章目录 一.3ds Max物体操作 ...
- 第一章 3ds Max基础界面和操作
文章目录 目录 文章目录 一.前言 1. Autodesk 3ds Max简介 2. 3d Max中文版启动 二.认识3ds Max界面 1. 3ds Max主界面 2. 视图的认识与切换 3. 视图 ...
- 第五章. 可视化数据分析图表—Seaborn图表(折线图,直方图,条形图,散点图)
第五章. 可视化数据分析图 5.7 Seaborn图表 Seaborn是一个基于Matplotlib的高级可视化效果库,偏向于统计图表,主要针对的是数据挖掘和机器学习中的变量特征选取,相比Matplo ...
- 算法设计与分析——第五章回溯法 批处理作业调度 + 最大团问题+图的m着色问题
文章目录 6.批处理作业调度(排列树) 7.最大团问题 8.图的m着色问题 6.批处理作业调度(排列树) 每一个作业Ji都有两项任务分别在2台机器上完成.每个作业必须先有机器1处理,然后再由机器2处理 ...
- 3ds Max导出OBJ的mtl贴图路径不正确
文章目录 3DSMax导出的材质mtl文件漫反射贴图路径不正确 之前流程是写了一个3DSMAX插件把游戏的场景直接导出为自己定义的格式的文件,包含了顶点数据,三角形数据,贴图数据等.现在把插件从3DM ...
- 3ds max 2012 VRay 2.0-效果图设计与制作-VRay运动模糊设置
腾龙视觉设计学院www.tlvi.net目前采用的是网络教学模式,邀请顶尖软件专家.依托权威出版社.携手YY教育频道打造最专业的免费网络课堂,让没有时间到实体学校学习的朋友们能够利用闲在的时间在网络上 ...
- 3ds max 2012 VRay 2.0-效果图设计与制作-VRay景深模糊设置
腾龙视觉设计学院www.tlvi.net目前采用的是网络教学模式,邀请顶尖软件专家.依托权威出版社.携手YY教育频道打造最专业的免费网络课堂,让没有时间到实体学校学习的朋友们能够利用闲在的时间在网络上 ...
- 第一章:3ds max基础
3ds max 是由Autodesk公司研发的三维建模.动画和渲染的工具软件.与之起名的另一款建模软件就是Maya,它也是Autodesk旗下的著名三维建模和动画软件.两者在游戏建模行业,应用都非常的 ...
最新文章
- 两个小模型就能吊打大模型!北大校友、谷歌华人一作「模型集合」,CNN、Transformer都适用!...
- exp oracle 表空间,oracle之EXP导出表空间错误解决
- 深入浅出 JavaScript 中的 this
- 2051温控器c语言程序,2051电子钟C程序.doc
- web登录界面设计_出色的Web界面设计的7条规则
- Consul-template+nginx实现自动负载均衡
- java jni helloword_JNI学习一:编写HelloWorld程序
- Enterprise Library 3.0 发布
- 【#9733;】SPF(Dijkstra)算法完美教程
- 如何配置Mysql驱动
- 2020年大数据营销案例_大数据营销案例分析
- WEB服务器有哪几种
- 获取计算机管理员,获取administrator权限的方法步骤-电脑自学网
- python networkx 导入CSV文件画关系网络图
- SpringBoot最佳实践,它来了,它来了
- 25.JavaScript的Symbol类型、隐藏属性、全局注册表
- 解决排列组合问题的通用算法
- Json字符串转对象和转List集合操作(json-lib版本)
- nginx php permanent,Nginx permanent重定向参数问题
- 2、es索引创建及查询
热门文章
- 卸载win10 自带应用
- python 文件夹下所有文件_使用Python遍历文件夹下所有文件(包所有含子文件夹)...
- R-loop数据分析之R-ChIP(样本间BAM比较和可视化)
- linux音频文件格式转换,Linux下常见音频格式之间的转换方法
- Spring实现`aop`过程
- php 递归无限极分类和层级展示(适用于权限管理和分类管理功能)
- ZBrush软件中的笔触类型
- git分支合并、撤销;git修改已push的commit信息; git 撤销操作;
- 在页面点击“生成二维码”,直接把二维码图片下载下来
- Day17(集合)学习记录(HashSet集合 HashMap集合)