3dsmax的NURBS基础教程
--------------------------------------------------------------------------------
我们要知道NURBS曲面与以往的实体建模方式有所不同,特别适用于创建复杂的曲面造型,NURBS是Non-Uniform Rational B-Splires(非均匀有理B样条曲线)的缩写,使用它可以使以前实体建模难以达到的圆滑曲面的构建,变得简单、方便。我们可通过在视窗中交互地调整构成曲面的点来完成复杂曲面造型的构建。NURBS曲面大大扩展了MAX的建模功能。在过去的版本中只能用增加面数、段数的方法使构建对象的表面看起来尽量平滑。它们的缺点是难于创建复杂的曲面对象。另外由于对象是由一些小的平面为基础而构建的,在渲染时可以看到面的边界;要得到平滑的曲线边缘则需增加面数,这样就会影响计算速度。而NURBS曲面是解析生成的,计算速度相对快一些,并且渲染结果也是令你绝对满意的平滑曲面。
像3DMAX的其它物体一样,一个NURBS模型也能集合多个NURBS次物体。例如,一个NURBS物体可能包含两个曲面,而它们在空间里是相互独立的,没有依附关系。无论是NURBS曲线还是NURBS曲面都是可以进入其次物体级别,用点或者可控点来调节。这里的点和可控点与传统的3DMAX的Spline Objects(样条物体)的控制点表现都很出。
在NURBS模型的父物体如果是一个NURBS曲面,下面列出了NURBS Sub-Objects(次物体)有可能包含的所有项目:
Surfaces(曲面):在3DMAX中有两种NURBS曲面。一种是用点来控制的Point surface(点曲面),这些点总是在曲面上。另一种使用CV(可控点)来控制的CV surface(可控曲面),这些点可以在曲面的外部来控制曲面的形态,调节起来更加灵活。
Curves(曲线):在3DMAX中也有两种NURBS曲线。这两种是完全符合上面提到的那两种曲面的。Point Curve(点曲线)是由曲线上的点来控制的,这些点总在曲线上。CV Curve(可控曲线)是由可控点来控制的,这些点不一定在曲线上。
3ds
Points(点):点曲面和点曲线的Sub- Objects(次物体)里有这个项目。能建立一个点次物体,可以不是曲线或曲面的一部分。
CV(可控点):可控曲面和可控曲线有CV(可控点)次物体。不像点那样,CV(可控点)总是曲线或曲面的一部分。
Import(引入):引入是NURBS物体把其它3DMAX物体引入到自身造型内的一个过程。在NURBS造型内部,被引入的物体会被当作NURBS造型来渲染,但是保持最初的参数和变动修改。
2.1 建立NURBS模型
3DMAX提供了多种途径来建立NURBS曲面。下面是建立NURBS物体的几种方法:
可以在Create(建立)命令面板的Shape(图形)面板中建立NURBS Curves(曲线)。
可以在 Create(建立)命令面板的Geometry(几何体)面板中建立NURBS Sur
faces(曲面)。当使用这种方法的时候,NURBS Surfaces(曲面)只是一个原始的平面矩形,可以使用Modify(变动)命令面板来改变。
可以使用Modify(变动)命令面板的Edit Stack(编辑堆栈层)按钮,把一个原始几何体转化为NURBS物体。
可以把Torus Knot环形节转化为NURBS物体。
可以把Prism棱柱转化为NURBS物体。
可以把Loft放样物体转化为NURBS物体。
可以把Spline样条曲线转化为NURBS物体。
可以把Patch Gird物体转化为NURBS物体。
2.2 创建NURBS模型
当创建NURBS模型的时候,通常是遵循下面这些步骤的:
建立一个简单的物体作为NURBS的起始物体,可以是一个曲面物体或是被转化的原始几何体。
进入Modify(变动)命令面板。在这里能编辑原始的物体,或者建立附加的次物体来修饰造型。也可以选择删除原始物体,在Sub-Objects(次物体)里面重新建立一个起始物体。
可以直接进入到Modify(变动)命令面板,以避免建立一个附加的Top-Level(顶级)NURBS物体会出现的问题。在一个NURBS物体里,次物体可分从属的次物体和独立的次物体,从属的次物体被显示为绿,而独立的次物体则显示为白。
2.3 Surfaces Trimming(曲面剪切)
剪切曲面是使用一条在这个面上的封闭曲线,来剪掉曲线以外的部分,或者是在曲面上剪出一个洞。也能把剪切的部分翻转或者颠倒过来,不过这仅限于剪出的那个洞或最初剪掉的曲线以外的部分。这个功能在2.0版之前是无法实现的。
在剪切一个面之前,必须在这个面上建立一条曲面上的曲线。下列这些曲线能够剪切曲面。
Surface-Surface Intersection Curve(面与面交叉线)
U Iso Curve(水平Iso曲线)和V Iso Curve(垂直Iso曲线)
Normal Projected Curve(标准投影曲线)
Vector Projected Curve(矢量投影曲线)
CV Curve on Surface(曲面上的可控曲线)
Point Curve on Surface(曲面上的点曲线)
实例:在CV Surface(可控曲面)上剪出一个洞
1、在Top视图里建立一个CV Surfacd(可控曲面)
2、然后进入Modify(变动)命令面板,按下按钮,打开建立工具箱。然后按下按钮,激活Top视图,在已建好的曲面上建立一条封闭的CV曲线。
3、进入Curve Level(曲线级),选择新建的曲线,把滚动面板向上托,勾选Trim(剪切)和Flip Trim(翻转剪切)就可以在曲面上剪出一个洞。
注意:如果把NURBS曲面的General(总体设置)里面的Surface Trim(曲面剪切)关掉的话(清除勾选),那么所剪切的结果则不会显示在视图中。
2.4 NURBS模型的变动修改和建立次物体
当进入Modify(变动)命令面板的时候,可以直接编辑NURBS模型。但不能应用一个修改器来作用于全部种类3DMAX物体。+
当在Modify(变动)命令面板里编辑NURBS物体的时候,可以在浮动的工具箱里建
立次点、曲线、曲面等次物体,而不用再返回到建立面板。如果经常使用3DMAX的话,会感到这是一种很特别的方法。在NURBS曲线和曲面的Modify(变动)命令面板中,增加了很多新的功能,可以建立新的NURBS次物体,如图所示。
下面将简要地介绍怎样建立NURBS Sub-objects(次物体),使我们有一个初步的概念,在后面的章节中再系统地进行学习。
在曲线和曲面的滚动面板中都能建立Point(点)次物体。在这里所创建的点相对于这个NURBS物体来说,要么是独立的点,要么是从属于NURBS几何体的一个点。
在曲线和曲面的滚动面板中也都能建立Curves(曲线)次物体。创建的曲线次物体和点一样有两种状态,一种是独立的Point Curve(点曲线)或CV Curve(可控曲线),另一种状态是在造型中已经存在的曲线和曲面的从属曲线。例如,用Blend Curves(融合曲线)命令将两条分离的曲线末端互相连接,中间的那条圆
滑的过渡曲线就是从属曲线。
曲面有一个自己的滚动面板。曲面次物体也分为两种。要么是独立的Point Surface(点曲面)或CV Surface(可控曲面),要么是从属于造型中已经存在的曲面。例如,用Blend Surface(融合曲面)将两个分离的曲面的边连接起来,在中间形成一个圆滑的过渡曲面,这个过渡曲面就是从属曲面。
可以结合其它3DMAX物体。如果结合的物体不是NURBS物体,它将被转换为NURBS几何体。在3DMAX3.0版里NURBS曲线可以结合NURBS曲面或能转换为其他3DMAX物体。被结合的物体变成一个或多个曲线或曲面次物体。
可以Import(引入)其他3DMAX物体。被引入的物体将保持自己的参数。当是NURBS物体一部分的时候,作为NURBS物体来渲染,但不能在Import(引入)的次物体级别里面编辑它。在这个次物体级别里,视图显示为一般类型的几何体,而不是NURBS物体。一个NURBS曲面能Import(引入)曲线、曲面或转换为NURBS的其他3DMAX物体。
注意:3DMAX可以分离出一个NURBS次物体,使之成为另一个NURBS物体,还能提取Import(引入)的物体,使之独立,成为真正的NURBS物体的一部分。
2.5 使用NURBS工具箱来建立次物体
除了滚动面板以外,还有一种更为简便和快捷地建立NURBS次物体的方法,那就是使用NURBS的工具箱。大家要尽量使用工具箱来建立NURBS次物体,这对以后的快速建模很有帮助,因为这样可以在任何一个级别直接建立次物体,而不用回到Top级使用滚动面板来建立。
观察工具箱
1、选择一个已建好的NURBS物体,然后进入Modify(变动)命令面板,
2、打开NURBS的建立工具箱,如图所示
工具箱的控制按钮是用来建立NURBS次物体的。而在3DMAX3.0版里曲线和曲面的工具箱是一样的,曲线次物体也可以建立曲面。一般来说,
工具箱是按照下面所述运作的:
在Modify(变动)命令面板里,打开按钮的时候,每当选择了一个NURBS物体或次物体,就能看见工具箱了。当没有选择NURBS物体或转到其它命令面板的时候,工具箱就会消失。当再回到变动面板或选择NURBS物体的时候,就会再次出现。
可以用工具箱在NURBS物体的Top Level(顶级)、Object Level(物体级)和一些NURBS次物体级别直接建立次物体。
当打开工具箱里的一个按钮进入到建立模式的时候,变动面板将改变显示的参数(如果有的话),显示为所建立的这种次物体的参数。
如果在Top Level(顶级)或物体级使用工具箱来建立一个物体,想修改就必须到次物体级别里。
如果是在次物体级别里使用工具箱来建立一个同样的次物体类型,例如在曲面次物体级别建立一个曲面,可以关闭工具箱上的建立按钮(或击右键)直接进行编辑。
如果是在次物体级别里使用工具箱来建立一个不同的次物体类型,就必须转换到所建立的次物体级别里,才能进行编辑。例如,建立了一条曲线,就要到Curve Level(曲线级)选择这条曲线进行变动修改。
把鼠标放在工具箱的每一个按钮上,都会出现相应的提示来描述功能。
2.6 NURBS Curves(曲线)
NURBS Curves(曲线)是Shape(样条)物体,可以用来做各种曲线,使用挤压或旋转功能以一条NURBS Curves(曲线)为基础,轻松地产生一个三维曲面。可以用NURBS曲线作为路径或用来Loft(放样)。但这种放样所产生的物体不是NURBS物体,在后面交介绍NURBS专用的放样方法。
也可以用NURBS曲线作为控制器的路径或运动轨迹。
还可以给一条NURBS曲线加上厚度,渲染成圆柱形的物体,如图所示。加了厚度的曲线是作为多边形网格物体来渲染的,而不是NURBS曲面。
2.7 CV Curve(可控曲线)和CV Surface(可控曲面)
像样条曲线一样,可控曲线和可控曲面也都有控制顶点。控制点位置控制着曲线或曲面的形态。然而,不像样条曲线的顶点那样,可控曲线或曲面的控制点并不都被定义在曲线或曲面上。而是定义了一种连接每个控制点并且包围着NURBS曲线或曲面的控制格,3DMAX将其显示为黄虚线,如图所示。
提示:当使用缩放区域工具的时候,3DMAX显示的是整个NURBS物体区域,包括绿的控制点。另外,还可以进入变动面板在可控曲线或曲面的CV次物体级别来调整控制点,用各种工具如移动、旋转、缩放对控制点进行加工,以改变物体的形态。
每个控制点都有权重,可以利用这一点来调整控制点对曲线或曲面的影响程度。加大权重可以把曲面向控制点的方向吸引,减少重量可以使曲面松弛,远离控制点。如图所示。
weights=0 weights=40
Weights(权
重)对于调整NURBS曲线或曲面的外形是一种很有效的方法。
控制点的Weights(权重)值是一种有理数,其大小是相对于这个曲线或曲面里的其它控制点而言的。如果把所有控制点的权重都加大,则对物体不会产生影响,因为这样并没有改变各点之间的权重比率。
2.8 Point(点)、Point Curve(点曲线)和Point Surface(点曲面)
点曲线和点曲面是类似于可控曲线和曲面的,但这里的点只能在曲线或曲面上,而不能在外面,还有一点不同的是这里的点没有权重。
点曲线和点曲面能够更直观地建立和操作。然而,它们会带来意想不到的结果,因为给定的这些NURBS点可能会产生一个以上的NURBS的计算结果。而这种情况在CV曲线或曲面里是不会发生的。
建立独立的点与点曲线或曲面的点是相同的,但不是曲线或曲面最初部分。可以用Fit(拟合)方式连接一些点,来建立一条点曲线。
2.9 Sub-Objects(次物体)的选择
当创建NURBS物体的时候,经常工作在次物体方式下。当在次物体级别的时候,会经常使用到3DMAX选择的技巧,如点击、拖动一个区域,或按住Ctrl键来选择一个或多个次物体。
也可以按名字来选择NURBS次物体。打开状态栏里的按钮,然后按H键,会显示一个对话框,这里列出
了当前级别所有次物体的名称。在列表选择一个或多个物体,然后点击Select(选择)键就会选择相应的次物体。这个功能在曲线和曲面的次物体级别非常有用。在一个复杂的曲线或曲面里用名字来区分数量巨大的控制点是非常困难的,但是可以为频繁编辑的NURBS次物体指定自己便于记忆的名字。
还有一个非常有用的功能,按Ctrl+H也会出现一个对话框,不过这里只列出了鼠标所在位置相邻的次物体,这也是个很方便的功能,不过在2.5版以后才有此功能。
提示:当在NURBS里操作的时候,会经常往返于物体和次物体级别之间,或者从一个跳到其他的级别。这里介绍两个键盘的快捷方式和一个菜单,会更简洁地完成这几项操作:
次物体选择开关(默认键Ctrl+B),用来打开和关闭Sub-Objects(次物体)按钮。
循环次物体级别的快捷键(默认键Insert),从一个次物体级别到下一个级别,往复循环。
在变动面板里,当右击选择的NURBS物体的时候,会自动弹出一个菜单,菜单的最下面部分会列出这个物体所具有的所有级别,如果这个物体有Point(点),菜单就会出现Point Level(点级别),进入Point Level(点级别)就可以对点进行各种变动修改。除此还有Top Level(顶级)、Surface CV Level(曲面CV级)、Surface Level(曲面级)、Curve CV Level(曲线CV级)、Curve Level(曲线级),在哪一个级别里,就可以对这个级别所制定的对象进行