uv划分.docx
- 文档编号:23415585
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:43
- 大小:1.67MB
uv划分.docx
《uv划分.docx》由会员分享,可在线阅读,更多相关《uv划分.docx(43页珍藏版)》请在冰豆网上搜索。
uv划分
源模型建成后,UV重叠和拉伸太多几乎不可用,如下图,我们必须根据要求重新映射和编辑UV。
让我开始吧!
1:
打开文件box_uv.mb,在选择Window>UVTextureEditor打开UV编辑器,选择视图中的物体,从UV编辑器中我们会发现物体UV很乱。
2:
我们从小的Box物体开始着手。
打开Hypershade,创建一个Lambert材质,将uv_test_2.jpg指定给它的color属性,再将材质球指定给视图中的物体。
将贴图的Place2dTexture属性中的RepeatUV都改为10,使贴图方格更密一些,从视图中我们可以看出因为UV重叠和拉伸物体上的方格贴图很不规则。
如下图
2:
按F11,进入物体的面选择模式,选择顶部的圆柱体的面,点击EditPolygons>Texture>CylindricalMapping,给它一个圆柱体贴图,视图上会出现圆柱体贴图操作器,现在可以看出小方格贴图已很规则了。
按F12,进入物体的UV选择模式,UV点显示为紫色,在圆柱体上选择任意一些UV点,在UVTextureEditor编辑器菜单中选择Select>SelectShell,这样我们就选择了圆柱体UV块。
在UVTextureEditor编辑器中,按W键使用移动工具将其移至旁边,避免与其他UV重叠,有利于看得更清楚。
按R键使用缩放工具,缩放UV点,同时观看3D视图直至方格纹理变成正方形。
3:
以同样的方法给侧面的两个圆柱体映射UV,由于侧面的两个圆柱体方向不一样,映射后我们要在通道栏中选择映射节点,旋转映射轴向RotateX为90度,并将UV块拖至旁边。
4:
选择物体顶部的面,选择EditPolygons>Texture>PlanarMapping>,打开KeepImageRatio选项,将MappingDirection选项改为YAxis,如下图,点击Apply完成平面映射,并将映射的UV块移至旁边。
5:
以同样的操作方法完成物体余下的面,左右、前后和下部,注意选择相应的轴向,也就是MappingDirection选项,完成各个面的平面映射,并将映射的UV块移至不同的位置避免重叠。
6:
进一步给未完善的地方映射UV,例如圆柱体的顶部、立方体正面和后面的凹槽边缘。
选择3个圆柱体的顶部的面,点击EditPolygons>Texture>AutomaticMapping,给予3个面自动映射方式。
立方体正面和后面的凹槽边缘与其他面一样使用平面映射方式,使用时将选项中的MappingDirection改为相应的轴向。
7:
到此我们已将物体的UV分成很多块面,已解决了重叠和拉伸。
8:
使用缩放工具,缩放调整各个UV块面,并观察视图使方格看起来都一样大小,这样UV就有一个统一的比例。
根据需要选择UV块面的边,点击UVTextureEditor编辑器菜单Polygons>MoveandSewUVs命令,缝合一些UVs,将UVs拼成几个大的块面,这样利于减少UVs的接缝。
使用缩放和移动工具,将所有的UV块面安排在0-1的空间,并充分地利用这个空间。
9:
在UVTextureEditor编辑器菜单中选择Polygons>UVSnapshot...,输出一张1024尺寸UV图。
在Photoshop中,打开输出的UV图,根据色彩设计稿和UV线框绘制纹理。
创建一个新的材质球,将刚绘制纹理作为它的color贴图,并将材质球指定给视图中的物体。
如果感觉还不错,用同样的方法完成另一个物体吧!
最终效果如下图:
2.认识UV
好的贴图纹理必须基于合理的UV分布。
UV是定位2D纹理的坐标点,UV直接与模型上的顶点相对应。
模型上的每个UV点直接依附于模型的每个顶点。
位于某个UV点的纹理像素将被映射在模型上此UV所附的顶点上。
多边形和NURBS物体UV存在的方式不同,多边形的UV是一个可编辑的元素,而NURBS的UV是表面内建的,且不可编辑。
多边形和NURBS的UV各有优点:
多边形的UV:
优势在于可灵活编辑,缺点是对于复杂的模型需要花费大量的时间来映射和编辑UVs。
NURBS的UV:
UV延展均匀、完整和不重叠性是NURBS的自身UV的优点。
但模型布线要求相对均匀,否则会拉伸纹理。
多边形模型的UV
NURBS模型的UV
打开文件:
5.1_about_uv.mb,并打开UVTextureEditor窗口,当我们选择多边形物体时,物体的UVs也会在UVTextureEditor窗口显示。
通过选择多边形的UV元素遮罩,我们可以拖动所选择的绿色UV点。
当选择NURBS物体时UVTextureEditor窗口只显视灰色的不可编辑的参数线。
3.NURBS的UV
按定义,NURBS表面有4个边并有规律地排列UV参数的行和列。
在NURBS表面中,UV始终存在,不像多边形需要创建或编辑,它具有NURBS面片内置的、不可以进行编辑的特性。
而polygon与subdiv的UV是作为一个可编辑的元素。
法线决定NURBS曲面的正反,射出法线的面为正面。
用“UV右手定则”可以方便地定义哪边是正面,如下图,如果拇指指向U正方向,食指指向V正方向,中指垂直于食指和拇指,指向NURBS表面的法线。
表面法线的概念对纹理、渲染很重要。
选择NURBS模型,使用Display>NURBSComponents>SurfaceOrigins命令,可以显示UV的方向,缺省情况下红色为U向,绿色为V向,蓝色为法线方向。
想看到法线,先选择表面再选择Display>NURBSComponents>Normals(ShadedMode)
显示法线的NURBS表面
显示UV的方向
如果2D纹理在NURBS面片上放置的话,不管UV边的比例是不是1:
1,都可看作NURBS面片的UV充满纹理的0~1正方形空间。
如下图:
不同长宽比的NURBS面片应用相同尺寸的纹理
纹理的0~1空间,上图中的4个红色空心点,分别定义纹理的4个边界,这4个点组成的空间为0~1的纹理空间
在Maya中,如果文件纹理是正方形的,在渲染时将会的得到最佳效果。
使用非正方形的纹理会增加一定的渲染时间,一般的做法是在绘图程序中将图像尺寸改为2的冥次方,例如256x256,512x512,1024x1024等。
NURBS的UV分布受模型表面参数线的影响。
如果模型Isoparms的分布不均匀,就造成默认UV分不不均,从而拉伸了二维纹理贴图。
应此在NURBS建模过程中尽量保持型Isoparms参数线的分布均匀。
2D纹理指定给每个NURBS表面,表面根据内建的UV定义纹理分布
使用棋盘格文件纹理可以非常清晰的看到NURBS表面因参数线不匀而产生的贴图拉伸。
如上图,当上图正方形纹理指定给非正方形NURBS表面时,纹理产生了一定的挤压和拉伸,可以从图中看出纹理中上的数字严重挤压,在photoshop中绘制纹理时会产生不可预期的效果。
闹钟外壳纹理挤压和拉伸渲染后的效果
钟表板的NURBS参数线分布均匀贴图没有拉伸变形
在NURBS建模过程中,注意一些布线规则有利于方便的应用纹理。
尽量使表面参数线间隔均匀,即等参线的网格均匀,避免波纹曲线出现,避免参数线间隔在不需要造型的地方忽宽忽窄,当然参数线间隔不可能绝对相等,只是相对即可,如下图:
(4)使用FixTextureWarp选项
选择NURBS模型,打开属性编辑器,在TextureMap栏中打开FixTextureWarp选项,可以对纹理的不均匀分布进行修正。
而不需要依赖于NURBS表面的UV参数,GridDivPerSpanU、GridDivPerSpanV、表示U向和V向每跨度的、分割数目,默认数值是4,数值越大纹理分越均匀。
打开FixTextureWarp选项后,操作视图不能实时显示出来,只有渲染后才能看到。
应用FixTextureWarp选项后渲染后,与左图相比,纹理虽然有拉伸,但分布相对均匀。
虽然纹理分布均匀,但还是有拉伸,这是应为我们使用的是1:
1的纹理贴图,而闹钟壳的NURBS面片长宽比不是1:
1。
下面进一步调整NURBS模型的纹理,是其比例正确。
在Hypershader窗口中,选择模型的place2dTexture节点,打开属性编辑器,调整Coverage的数值,同时察看渲染视窗的更新效果,使用IPR渲染可快速看到调整结果,直到棋盘格看起来变为正方形为止。
根据IPR渲染结果,判断纹理贴图使用范围,从上面的例子可以看到纹理只使用整个面积的1/3左右。
根据比例在绘图软件中绘制贴图,然后指定给模型。
(5)确定贴图长宽比例
还有一种方法确定纹理比例,使用ArcLength测量工具测量出NURBS表面的精确弧长,再根据比例绘制贴图。
确定贴图长宽比例具体步骤:
1:
测量模型
使用弧长测量工具,Creat>MeasureTools>ArcLengthTool测量表面U向和V向的长度。
测得的长度为7.94和34.8。
2:
绘制贴图
根据测的长宽比,在绘图软件中绘制贴图纹理。
3:
更改边长
在绘图程序中将图像尺寸改为正方形,边长为2的冥次方,例如512x512,1024x1024等。
4:
调整2d布置节点
2d布置节点决定二维纹理在模型表面的分布,将U向Coverage数值改为4.3(34.8/7.94≈4.3)。
5:
渲染完成
需要注意的是:
不必计算得绝对准确,只要纹理从视觉上看来没有拉伸就行。
(6)NURBS表面的参数化
NURBS表面参数化直接影响贴图效果,NURBS表面参数化分为:
统一参数化(Uniform)、弦长参数化(ChordLength)两种。
统一参数化表面具有更可预见的值,弦长参数化的表面可以较好的分配曲率,允许纹理相对均匀地分配在不均匀的表面上。
使用FixTextureWarp属性可改变纹理分配使纹理分配更均匀,在制作动画时,如果表面有局部变形,贴图会滑动产生不正确的效果。
我们将通过NURBS曲线理解统一参数化(Uniform)、弦长参数化(ChordLength)
1:
打开Create>CVCurveTool工具选项,分别用Uniform、ChordLength选项创建两条NURBS曲线(按S键使用吸附网格工具,保持两条线的CV点一致)
2:
选择Display>NURBSComponents>EditPoints显示曲线的编辑点
3:
拾取遮罩CurvePoint,在曲线上拖动,Maya视窗顶部会显示所在点的参数,并随着拖动不断变化。
4:
以统一点间距(Uniform)参数创建的曲线,第一个编辑点的U值为0,第二个的U值为1,第三个的U值为2,如此类推。
第三个编辑点和最终编辑点的中间一点值为2.5。
不管两个编辑点的实际距离有多长,所有两个编辑点间距离值是相等的。
按这种方式计算曲线点值的方法称之为统一参数化。
以弦长点间距(ChordLength)参数创建的曲线,第一个编辑点的值为0,第二个的值为2.4907,第三个的值为5.4379。
第三个编辑点和最终编辑点的中间一点值为8.5402
曲线U向参数值取决与编辑点的距离,而不是点的数量。
曲面在三维空间中由U向和V向两个参数来定义,比曲线多一个V向参数,形成一个方形的NURBS面片。
(7)NURBS表面重建
下图用统一参数化创建的可乐罐,因为参数线不均匀引起贴图拉伸,从视图和渲染图中都可看出来。
打开表面FixTextureWarp属性可以解决此问题,如果可乐罐要做变形动画,这种方法是不可取的。
我们需要重新创建表面,(不能使用RebuildSurfaces命令)
重建表面:
拷贝[cdrom>\005\tin_rebuild]项目文件夹至硬盘并打开文件tin_rebuild_lo_ren_v001.mb
1:
选择可乐罐,按1键最低精度显示模型,并打开EditCurves>DuplicateSurfaceCurves>,选择V向,复制NURBS曲线。
2:
选择复制的NURBS曲线,并拖到原可乐罐旁边,以便于比较。
3:
从下至上依次选择曲线,选择Surfaces>Loft>,勾选ChordLength选项,重新放样表面。
4:
指定同一个材质给新生成的边面,(按6显示硬件纹理)可以看到纹理没有拉伸,获得我们需要的效果
5:
渲染后,纹理同样正确。
通过重建表面有利于做变形动画。
(8)NURBS表面方向
由于表面创建的方法不同,表面方向有可能不正确,可通过编辑2D纹理的place2dTexture节点属性或使用EditNURBS>ReverseSurfaceDirection来修正。
为了便于纹理贴图、渲染尽量将UV原点安排在左下角,法线朝外。
良好的习惯将大大提升后续工作的效率。
利用小相架上的一张照片来了解NURBS表面的方向(像架是多边形,照片是NURBS)[cdrom>\005\frame(项目文件夹)]
上图中相架上照片因为表面UV方向不正确,造成贴图定位不对没有达到预期的安排
ReverseSurfaceDirection选项:
U:
沿U向反转CV,V:
沿V向反转CV,Swap:
交换UV方向,Both:
U向和V向同时反转CV
1:
打开文件frame(项目文件夹)
2:
选择NURBS模型,使用Display>NURBSComponents>SurfaceOrigins,打开NURBS表面的方向和法线显示,作为参考。
3:
选择EditNURBS>ReverseSurfaceDirection>,打开对话框选择Both,反转表面方向。
4:
得到了我们所需要的正确效果。
(9)了解多边形的UV
多边形不像NURBS表面具有固有的2D坐标。
多边形必须使用映射的方法来获取合理的UV坐标,UV信息是基于2维的,是一个平面,可以在UVTextureEditor中看到并编辑。
从Window>UVTextureEditor打开UV编辑器。
我们在创建基本多边形几何体时也能创建缺省的UV坐标,但模型在编辑顶点及其他操作后,缺省的UV大多不可用,必须重新映射。
UV操作在一般的工作流程的位置是:
缺省多边形几何体的UV
编辑点操作后的UV
为多边形指定2D纹理,并在视图中显示纹理(按6键),多边形表面如果没有UV信息就会在视图中显示半透明的斜条纹,渲染后无UV信息的部分也不会显示纹理。
这样的情况我们必须重新映射UV。
10)多边形UV编辑的原则
多边形的UV编辑取决于不同的应用目的,当然也有制作人的习惯差异。
一般来说最合理的UV分布取决于纹理类型、模型构造、模型在画面中的比例、渲染尺寸、镜头安排等。
但有一些基本原则是应该遵循的。
通用的一些基本原则是:
1、UVs尽量避免相互重叠(除非有必要)。
2、UVs避免拉伸。
3、尽可能减少UVs的接缝(即划分较少的UV块面)。
4、接缝应安排在摄像机及视觉注意不到的地方或结构变化大、不同材质外观的地方。
5、保持UVs在0-1的纹理空间,并充分利用0-1的纹理空间。
下面让我们逐步了解以上5点原则
1、UVs尽量避免相互重叠(除非有必要)。
UVs重叠,模型的贴图就会重叠,重叠的模型部分纹理就会相同,不利于纹理贴图的安排。
例如我们将史卢比的衣服设计成前面红条纹,后面兰条纹,但由于左右两边的UVs重叠,造成贴图重叠两边只能颜色统一,不能达到我们的要求。
展开UV就能解决此问题。
展开UVs得到正确的效果
如果遇到纹理图案需要重复的物体,则可以利用UVs重叠来节约一些纹理空间,例如瓷砖、天花板、花纹布、墙角线等等。
从下图中我们可以看出墙角瓷砖UVs重叠了多次以获得图案的二方连续效果。
在使用UVs重叠时要注意不应重叠太多,否则看起来不真实,因为现实生活中没有如此雷同的得物体。
(11)定制检测UV纹理的贴图
要正确使用2D纹理,我们就必须编辑多边形的UV。
为了快速的映射和编辑多边形的UV,在此之前赋予多边形物体一个自定义的带标准方格图案的2D文件纹理,将有利与我们的操作。
Maya本身也有类似的功能,让我们来看看:
1:
创建一个缺省的多边形球,并选择它
2:
打开EditPolygons>texture>AssignShadertoEachProjectin
3:
给一个平面贴图,EditPolygons>texture>PlanarMapping
4:
打开Hypershade窗口,我们可以看见Maya创建了一个命名为defaultPolygonShader带Checker2D程序纹理的Lamber材质球,并指定给了我们所创建的多边形球体。
通过球体上的棋盘格纹理我们可以即时地看到UV的编辑情况,如果棋盘格拉伸了,那么UV也拉伸了。
我们通常情况不使用这个纹理,这是因为它使用的是程序纹理checker,Maya对程序纹理的最好硬件显示是Highest(256×256),其它的硬件显示纹理分辨率在视窗中不太清晰,如果使用最高硬件纹理显示,在编辑UV过程中的纹理可能在视窗中不能及时更新,给编辑带来一定的困难。
建议使用自己定制文件纹理。
不同质量显示硬件程序纹理
上图是大家经常使用自定义的棋盘格纹理。
在黑白方格中标出一些数字或字母有利于辨别UV方向。
建议大家使用一些对比度不强的图案如下图,因为UV编辑是一项耗时的工作,长期面对黑白间隔的颜色不利于精神和眼睛的健康,从而彻底失去对编辑UV的兴趣。
下图是一些长期从事UV编辑工作的制作者所制作的UV检测图。
经常更换UV检测图也是一个好主意,有利减轻疲劳。
利用AssignShadertoEachProjectin自动应用自定义的文件纹理:
1:
打开EditPolygons>texture>AssignShadertoEachProjectin
2:
创建一个Shader,将自定义的贴图连接到Shader的Color属性。
3:
将Shader重新命名为defaultPolygonShader。
4:
当每次给场景中的多边物体指定新的纹理映射方式时例如:
PlanarMapping、CylindricalMapping等,Maya就会自动将此Shader赋予给多边形物体。
12)UV映射方式
Maya有四种基本的UV映射方式,它们分别是:
1:
平面映射(PlanarMapping)
2:
圆柱体映射(CylindricalMapping)
3:
球体映射(SphericalMapping)
4:
自动方式映射(AutomaticMapping)
可以通过EditPolygons>Texture菜单访问到,选择菜单命令后面的小方盒可以打开这些指令的选项。
正确理解Maya的映射方式,有利于我们的快速操作,平面映射一般应用于矩形的物体和一些相对比较平整的多边形面,例如桌子、木板等。
圆柱体映射主要用于圆柱体和类似圆柱体的物体,例如笔、角色的腿、手臂等。
球体映射主要用于球型物体,篮球、灯泡、西瓜等。
自动方式映射常应用于结构和起伏不太复杂的物体,以及某些规则的局部。
这些映射方式可以应用于整个多边形物体,也可以应用于部分表面,操作方法是:
先选择多边形物体的部分面,再将映射方式指定给他们,Maya会出现相应的UV映射操纵手柄。
(自动方式映射没有操纵手柄)
对一个稍微复杂的物体,一般在制作时需要选择不同的方式映射多次。
平面映射
圆柱体映射
球体映射
(13)映射操纵器和手
映射操纵器是给多边形物体UV映射时交互调节的工具,使用映射时,Maya会自动切换到ShowManipulatorTool。
如果进行映射后看不到操作手柄,查看状态栏中的构建历史选项ConstructionHistory是否关闭。
在打开构建历史的情况下,在视图右边通道栏中点击映射节点再使用工具栏中的ShowManipulatorTool,可以在任何时候显示映射操纵器进行调节。
14)平面、圆柱体、球体映射的共同选项
点击映射命令后面的小方盒,我们可以看到会出现大量选项的对话框,不要被它们吓倒,大多数情况下这些选项都很少使用。
先来了解一下它们有共性的选项。
InsertBeforeDeformers选项:
当多边形模型应用了变形时,这个选项即被相关联。
如果打开这个选项,Maya会把映射UV的操作放置在变形动画之前。
如果关闭,纹理会受物体顶点变形的影响,导致纹理“游移”。
绝大多数情况下我们都打开此选项。
AutomaticallyFittheProjectionManipulator选项:
打开此选项后,映射的操纵器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- uv 划分