目录第1章Maya动画基础知识第2章Maya基础第3章MayaNURBS建模技术第4章Maya多边形建模技术第5章Maya细分曲面建模技术第6章Maya材质技术第7章Maya灯光技术与渲染技术第8章Maya基础动画技术第3章MayaNURBS建模技术3.1NURBS基础知识3.2创建NURBS几何体3.3创建NURBS曲线3.4创建NURBS曲面3.5NURBS曲线的编辑3.6NURBS曲面的编辑3.7课堂实例3.1NURBS基础知识NURBS建模在设计和动画行业普遍使用,在如下的情况下,我们可以采用NURBS建模方式:比较平滑表面的大片平面,例如,动物,人体,和水果。工业表面,例如,汽车,时钟,和杯子。需要使用较少的控制点就能平滑控制较广的面。3.1.1NURBS原理UonUniformRationalB-Spline【非均匀有理B样条】曲线的首写字母构成了NURBS的名称,它是曲线和曲面的一种数学描述。3.1.2NURBS曲线基础如图所示,就是一条标准的开放曲线,其中包含了CVs【控制点】、EditPoint【编辑点】、Hull【壳线】、Span【段】等基本曲线组元。3.1.3NURBS曲面基础Maya中提供了多种创建NURBS曲面的方式:1、直接创建法:执行CreateNURBSPrimitives【创建NURBS几何体】命令,直接创建NURBS基本几何体。2、线转面创建法:绘制不同形状的NURBS曲线,使用Surfaces【曲面】菜单中旋转、放样、挤出等各种命令或工具得到曲面。3、面转面创建法:在原有NURBS曲面的基础上通过EditSurfaces【编辑曲面】菜单中延伸曲面、断开曲面等命令得到新的曲面。3.1.4NURBS曲面精度控制Maya系统提供了一套简洁的屏幕精度控制方法,可以在DisplayNURBS【显示NURBS】菜单中设置显示的精度:Hull【壳】、Rough【粗】、Medium【中】、Fine【精】、Custom【自定义】,最常用的是3种精度Rough【粗】、Medium【中】、Fine【精】,对应快捷键1、2、3可以进行切换。3.1.5NURBS建模流程Maya中的建模大致命令如下:•在Create【创建】菜单中建立曲线;•在EditCurves【编辑曲线】菜单中编辑曲线;•在Surfaces【曲面】菜单中将曲线生成为曲面;•在EditSurfaces【编辑曲面】菜单中编辑曲面。3.2创建NURBS几何体创建NURBS几何体的命令都集合在Create【创建】菜单当中,可以直接创建的NURBS几何体有:Sphere【球体】、Cube【立方体】、Cylinder【圆柱体】、Cone【椎体】、Plane【平面】、Torus【圆环】、Circle【环形曲线】和Square【方形曲线】。3.3创建NURBS曲线通过以下几种方式可以创建NURBS曲线:•CVCurveTool【控制点曲线工具】•EPCurveTool【编辑点曲线工具】•PencilCurveTool【铅笔曲线工具】•ArcTool【圆弧工具】•Text【文本】工具3.4创建NURBS曲面可以通过以下方式创建NURBS曲面:•Revolve【旋转成面】•Loft【放样成面】•Planar【平面】•Extrude【挤出曲面】•Birail【围栏】•Boundary【边界成面】•Square【方形成面】•Bevel【倒角】•BevelPlus【倒角插件】3.5NURBS曲线的编辑曲线是NURBS建模的一个重要元素。本章所关注的也正是各种各样的曲线编辑工具。其命令都在EditCurves【编辑曲线】菜单当中。3.5.1DuplicateSurfaceCurves【复制曲面曲线】使用EditCurvesDuplicateSurfaceCurves【编辑曲线复制曲面曲线】命令可以把现存平面的表面曲线、边界曲线和内部等位结构线转换成3D曲线。3.5.2AttachCurves【合并曲线】使用EditCurvesAttachCurves【编辑曲线合并曲线】命令可以通过连结两条曲线的终点来创建一条曲线。3.5.3DetachCurves【分离曲线】使用EditCurvesDetachCurves【编辑曲线分离曲线】命令可以把一条曲线断成两条曲线或者打开一个当前封闭曲线。3.5.4AlignCurves【对齐曲线】使用AlignCurves【对齐曲线】命令可以将两条曲线对齐。曲线之间的对齐不单单是指两条曲线之间的端点对齐,任意的曲线上的点都可以对齐。3.5.5Open/CloseCurves【开放/闭合曲线】选择EditCurvesOpen/CloseCurves【编辑曲线开放/闭合曲线】命令可以打开和关闭曲线。3.5.6MovecurveSeam【移动曲线接缝】使用EditCurvesMovecurveSeam【编辑曲线移动曲线接缝】命令可以将一条封闭曲线的起始点移动到指定位置,解决放样后模型扭曲的问题。3.5.7CutCurve【剪切曲线】使用EditCurvesCutCurve【编辑曲线剪切曲线】命令可以在曲线相互接触、交叉的点处剪切自由曲线。3.5.8IntersectCurves【交叉曲线】使用EditCurvesIntersectCurves【编辑曲线交叉曲线】命令可以在在两条或多条独立曲线接触或交叉处创建曲线点定位点。3.5.9CurveFillet【曲线圆角】使用EditCurvesFilletCurve【编辑曲线曲线圆角】可以在两个NURBS曲线或者两个表面曲线之间创建一个“倒角”。3.5.10InsertKnot【插入结构点】如果很难修改曲线区域或等位结构线区域,可以用EditCurvesInsertKnot【编辑曲线插入结构点】命令提高性能。3.5.11Extend【延伸】选择EditCurvesExtendExtendCurve【编辑曲线延伸延伸曲线】命令可以延伸一条曲线,如曲线和表面曲线。3.5.12Offset【偏移】使用EditCurvesOffsetOffsetCurve,创建一条与所选方向的原曲线平行的曲线或等位结构线。3.5.13ReverseCurveDirection【反转曲线方向】使用EditCurvesReverseCurves【编辑曲线反转曲线方向】命令可以反转曲线上CVs点的方向。3.5.14RebuildCurve【重建曲线】使用EditCurvesRebuildCurve【编辑曲线重建曲线】命令可以重建一条NURBS曲线或者表面曲线以减少数据的计算或者构建平滑曲线。3.5.15FitB-spline【适配B样条曲线】使用FitB-spline【适配B样条曲线】命令可以将曲线的度数由1度转换为3度。3.5.16SmoothCurve【平滑曲线】使用SmoothCurve【平滑曲线】命令,我们可以对曲线进行平滑处理,使曲线变的更加完美。3.5.17CVHardness【硬化CV点】使用EditCurvesCVHardness【编辑硬化CV点】命令可以打开或者关闭CVs的硬度。可以调整可控点,创建较平滑的或较尖锐的曲线。3.5.18AddPointsTool【加点工具】一条曲线创建完成之后,可以增加CV点,达到对部分曲线更精确控制的目的。使用EditCurvesAddPointsTool可以为曲线或表面曲线增加附加的CVs或者编辑点。3.5.19CurveEditingTool【曲线编辑工具】选择EditCurvesCurveEditingTool【曲线编辑工具】命令,可以用便捷的操纵器,改变曲线的形状。3.5.20Projecttangent【投射切线】使用EditCurvesProjectTangent【编辑曲线投射切线】命令可以在曲线的终点修改曲线的切线,使它和表面的切线或者两条其它交叉曲线的切线一致。可以使用这种方法调整曲线的曲率以匹配表面的曲率,或者两条曲线交叉处的曲率。3.5.21ModifyCurves【修改曲线】ModifyCurves【修改曲线】选项下还设有LockLength【锁定长度】、UnlockLength【解除长度锁定】、Straighten【拉直】、Smooth【平滑】、Bend【弯曲】、ScaleCurvature【曲率比例】6个修改命令。3.6NURBS曲面的编辑直接生成的曲线往往不能完全符合最终要求,这个需要进一步的编辑和修改,调整模型增加细节,通过EditNURBS菜单对曲面作各种编辑操作。3.6.1DuplicateNURBSPatches【复制NURBS面片】使用DuplicateNURBSPatches【复制NURBS面片】命令可以拷贝一个或多个表面面片,拷贝体可用作单独的物体。3.6.2ProjectCurveOnSurface【投射曲线到曲面】在曲面上创建曲线对于面的修剪、对齐、路径动画或其他任务是非常必要的。这些曲线统称为表面曲线,产生表面曲线的方法有如下几种:在曲面上投射曲线、直接在激活的面上创建曲线、通过面的相交得到曲线,通过曲面倒角的方式。3.6.3IntersectSurfaces【相交曲面】使用EditSurfacesIntersectSurfaces【编辑曲面相交曲面】命令可以使一个物体和另一个物体相交。这是几种产生表面曲线的方法之一。3.6.4TrimTool【剪切工具】使用EditSurfacesTrimTool【编辑曲面剪切工具】命令可以修剪模型表面,使其保留需要的特定区域或者删除不需要的部位。3.6.5UntrimSurfaces【还原剪切曲面】使用EditSurfacesUntrimSurfaces【编辑曲面还原剪切曲面】命令,可以撤消前一步的修剪操作,使剪掉的部分重新恢复回来。如果一个曲面经过多次剪切,通过EditSurfacesUntrimSurfaces【编辑曲面还原剪切曲面】命令可以逐步对曲面进行还原,也可以一次还原为最初的状态。3.6.6Booleans【布尔运算】Booleans【布尔运算】是一个非常常用的命令,可以对两个相交的NURBS曲面进行并集、差集、交集的计算,操作起来一样的便捷。3.6.7AttachSurfaces【合并曲面】使用EditSurfacesAttachSurfaces【编辑曲面合并曲面】命令可以通过连结两个表面的边而创建一个单一的面,创建的面被混合,从而创建较为平滑的连接。3.6.8DetachSurfaces【分离曲面】使用DetachSurfaces【分离曲面】命令可以将曲线断开,形成几个独立的曲面。3.6.9AlignSurfaces【对齐曲面】使用AlignSurfaces【对齐曲面】命令可以将两个曲面按照指定的Iosparm【等参线】对接,并且在曲面接缝处保持连续性,完全对齐。3.6.10Open/CloseSurfaces【开放/闭合曲面】使用EditSurfacesOpen/Close【编辑曲面开放/闭合曲面】命令可以打开关或者关闭曲线和表面,或者将打开的或关闭的表面改为周期表面。3.6.11MoveSeam【移动曲面接缝】使用MoveSeam【移动曲面接缝】命令可以将封闭曲线曲面的接缝转移到需要的位置,该选项在做纹理贴图时非常有用。3.6.12InsertIsoparms【插入等参线】在修改NURBS曲面时,经常需要在适当的地方增加曲面的细分段数,进行细致的编辑,在不改变曲面形状的前提下,我们可以通过InsertIsoparms【插入等参线】命令,增加模型细分段数。3.6.13ExtendSurfaces【延伸曲面】ExtendSurfaces【延伸曲面】命令与ExtendCurve【延伸曲线】命令相似,可以在曲面的u向或者v向上进行延伸。3.6.14OffsetSurfaces【偏移曲面】OffsetSurfaces【偏移曲面】命令可以沿曲面的法线方向复制一个新的曲