在3DStudioMAX3的TrackView(轨迹视图)中,可供指定的控制器种类很多,注意,根据轨迹对象类型的不同,弹出的控制器对话框的内容也随之不同。比如,如果点选Transform(变动)轨迹,并单击轨迹视图工具栏中的AssignController(指定控制器)按钮,将弹出AssignTransformController(指定变动控制器)对话框;如果单击Position(位置)轨迹,并单击轨迹视图工具栏的指定控制器按钮,将弹出AssignPositionController对话框;同样道理,在轨迹视图左侧项目窗口的层级中点选Rotation、Scale轨迹将分别弹出AssignRotationController及AssignScaleController对话框;单击其他轨迹可能弹出名为AssignFloatController的指定控制器对话框。
一般来说,不同控制器对话框中的控制器种类也不同。在控制器左边有“>”标记的,说明这是当前使用的控制器,或是3DStudioMAX3的默认设置,如图10-1所示。
10.1主要控制器的类型
3DStudioMAX3中共有三四十种动画控制器类型,针对不同的项目使用不同的控制器,绝大部分控制器能够在TrackView(轨迹视图)中或Motion(运动)命令面板中指定,如图10-2所示。两个地方的内容及效果完全相同,只是面板形式不同而已。下面介绍一些主要的动画控制器:
1)AssignTransformController(指定变动控制器)对话框中的控制器类型,如图10-3所示。
2)AssignPositionController(指定位置控制器)对话框中的控制器类型,如图10-4所示。
3)AssignRotationController(指定旋转控制器)对话框中的控制器类型,如图10-5所示。
4)AssignScaleController(指定缩放控制器)对话框中的控制器类型,如图10-6所示。
5.其他控制器类型。
IKController(反向运动控制器)是一个比较特殊的动画控制器,随Bones(骨骼)系统创建的同时,IK控制器会自动指定给每一根骨骼。每个子控制器都受主IK控制器领导,主控制器在运动命令面板上。如果在运动命令面板上对每个选择的骨骼进行编辑,实际上是对整个IK系统进行编辑。Bones(骨骼)系统是一种用于链接的骨架结构,它不能进行渲染,只能作为几何体的支撑结构,单击Create(创建)/Systems(系统)/Bones(骨骼),在参数区卷展栏Bones选项已经被勾选,如图10-7所示。当它和几何体附着后,就可以带动几何体完成复杂的关节运动。或者使用蒙皮技术(如CharacterStudioPhysique模块),在骨骼外创建皮肤物体,并创建动画角色。
IK控制器主要工作于运动命令面板和IK(层次命令面板IK)。制作关节动画时如果运用带有IK控制器的骨骼系统优点很多:使用IK骨骼系统可以实时进行动作调节,不必像ApplyIK(指定式IK)那样每一次都要进行结果计算;在骨骼系统中可以指定特殊的末端引导物体,整个层次链进行动画调节时,只需为末端引导物体设置关键点;在视图中可以显示出链接关节的轴向和限制,更易于观察和调节;在运动命令面板上,可以为每个主控制器设置位移、旋转、重复等参数。
On/OffController(开关控制器)是专门针对勾选框参数控制项目的动画制作。在3D
StudioMAX3中,将开关项目创建为动画十分有趣。例如将物体表面光滑(Smooth)参数勾选开关制作为开关控制器动画,可以使对象表面一会变为光滑,一会变为不光滑。
WaveformController(波形控制器)是一个浮动式控制器,提供规则的周期性的波形曲线来控制运动。常用来控制闪烁的灯光,也能运用于其他控制中。在TrackView(轨迹)视图中,在波形控制项目的编辑窗口内单击鼠标右键可以调出它的设置框。
图10-1带有“>”标记的控制器是当前默认使用的控制器
图10-2Motion(运动)命令面板
图10-3变动控制器对话框中的控制器类型
图10-4指定位置控制器对话框中的控制器类型
图10-5指定旋转控制器对话框中的控制器类型
图10-6指定缩放控制器对话框中的控制器类型
图10-7创建Bones(骨骼)系统
10.2LookAt控制器实例
使用Path控制器制作一个螺旋上升的盒子,使用Lookat控制器制作一个在桌子上旋转的硬币,硬币的运动受控于盒子。
1)单击Create(创建)/Shapes(平面图形)/Helix(螺旋线),在顶视图中央建立一个螺旋线:Radius(半径)1约为88,Radius(半径)2为0,Height(高)为120左右;Turns(圈数)为5圈。如图10-8所示。
2)单击Create(创建)/Geometry(几何体)/Box,创建一个盒子,长、宽、高均为15。
3)确定盒子为当前选择,单击按钮,进入运动命令面板,展开AssignController(指定控制器)项目。
4)选择Position(位置)控制项目,单击按钮,选择Path(路径)控制器,单击OK按钮,如图10-9所示。
5)单击命令面板参数区的PickPath(拾取路径)按钮,在视图中单击螺旋线,结果盒子放置在了路径的起点处。这时播放动画,可以看到盒子在螺旋线上移动,如图10-10所示。
6)在参数区找到Follow(追随),将它勾选,现在播放动画,盒子沿着路径运动的同时,自身方向也发生变化。
7)勾选Bank(倾斜)选项,将它打开,将BankAmount(倾斜数量)值调为-0.3,播放动画,可以看到盒子受到向心力的影响,发生了倾斜变化,如图10-11所示。
8)制作一个注视方盒的硬币。单击Create(创建)/Geometry(几何体)/ExtendedPrimitives(扩展基本造型)/ChamferCyl,在顶视图中创建一个斜面圆柱体作为钱币,如图10-12所示。
9)在场景中创建一架摄像机及三盏泛光灯,适当调整它们的位置,将透视视图转换为摄像机视图,并将镜头对准硬币,效果如图10-13所示。
10)为硬币制作材质,打开材质编辑器,设置宾氏基本参数区的各项参数,如图10-14所示。
11)单击材质编辑器卷展栏下面的Maps,分别单击Diffuse和Bump右侧的空白按钮,赋予Bitmap贴图类型的硬币花纹文件,并设置参数,如图10-15所示。
12)在顶视图中创建一个扁平的长方形盒子作为桌面,赋予木头材质,如图10-16所示。
13)快速着色摄像机视图的结果如图10-17所示。
14)点选钱币,单击按钮进入Motion(运动)命令面板中,打开AssignController(指定控制器)卷展栏。
15)点取Transform,并单击左上角的按钮,在弹出的控制器选择框中点选LookAt并退出,如图10-18所示。
16)向上推动Motion(运动)命令面板卷展栏,单击PickTarget按钮。打开Animate动画记录按钮,移动时间滑块到100,在视图中点选盒子物体,我们发现硬币的状态发生了改变,如图10-19所示。硬币已经被赋予LookAt控制器,它的运动将追随旋转上升的盒子。单击按钮播放动画观看效果。
17)在视图中适当调整一下桌子的位置。在Motion(运动)命令面板卷展栏中单击Roll按钮,打开Animate动画记录按钮,移动时间滑块到30,选择Roll按钮上方的Y轴以更改硬币的翻转角度;移动时间滑块到60,选择Roll按钮上方的X轴向;移动时间滑块到100,选择Roll按钮上方的Z轴向。再次播放动画预览效果,之后便可生成正式动画文件了。
图10-8在顶视图中央建立一个螺旋线
图10-9选择Path(路径)控制器
图10-10盒子在螺旋线上移动
图10-11盒子受到向心力的影响产生倾斜变化
图10-12在顶视图中创建一个斜面圆柱体作为钱币
图10-13将镜头对准硬币
图10-14宾氏基本参数区的各项参数
图10-15赋予Diffuse和Bump类型的贴图
10.3NoisePosition控制器实例
本实例用NoisePositionController(噪波位置控制器)制作一个漂浮在水面上的小球。
1)单击Create(创建)/Geometry(几何体)/Box,创建一个盒子,Length(长度)为180,Width(宽度)为180,Height(高度)为0,LengthSegs(长度段数)为32,WidthSegs.(宽度段数)为32,HeightSegs(高度段数)为1,如图10-20所示。
2)创建一个Sphere(球体),Radius(半径)为15,调整一下球体和盒子的位置。创建一架摄像机,镜头对准球体,并将透视视图激活,按C键转换为摄像机视图,效果如图10-21所示。
3)选择Box(盒子)物体,进入修改命令面板,单击Noise(噪波)按钮,加入一个噪波修改。下面设置噪波参数,制作起伏的水面效果,Seed为2,Scale为55,Strength下面仅设置Z轴为45。将AnimateNoise(动画噪波)项目勾选,这时系统预设的值产生一个动画噪波效果,水面是波动的。单击播放动画按钮观看一下效果,如图10-22所示。
4)打开材质编辑器,分别赋予水面及球体合适的材质,在Diffuse(固有色)贴图Bitmap类型的文件即可。赋予材质后的效果如图10-23所示。
5)在视图中选择球体,单击按钮,进入运动命令面板,单击AssignController(指定控制器)按钮,在窗口内选择Position(位置)项目,单击左上角的按钮,在弹出的动画控制器选择框中,选择NoisePositionController(噪波位置控制器),单击OK按钮确定,如图10-24所示。
6)推动运动命令面板中参数区卷展栏,单击Rotation(旋转)按钮,单击播放动画按钮,可以看到小球在水面上起伏的动画效果。
7)现在唯一的缺点是小球的运动跳跃性太强,不太真实,可以通过TrackView(轨迹视图)左侧项目窗口下的Position(位置)进行噪波参数的调节。进入TrackView(轨迹视图),用鼠标右键点选左侧项目窗口下的Objects,选择ExpandAll,如图10-25所示。
8)向上推动项目窗口,找到Sphere01(球体)下的Position并用鼠标左键单击它,我们看到TrackView(轨迹视图)右侧轨迹编辑区的噪波曲线过于嘈杂,如图10-26所示。
9)在项目窗口的Position上,用鼠标右键单击它,在弹出的对话框中单击Properties,将弹出噪波参数设置对话框,如图10-27设置参数。
10)退出噪波参数设置对话框,TrackView(轨迹视图)右侧的噪波曲线变得平缓多了,如图10-28所示。
11)单击播放动画按钮,小球的起伏运动真实可信。单击Rendering/MakePriview,单击Create按钮生成预览文件观看效果如何,如图10-29所示。
图10-16赋予木头材质长方形盒子作为桌子面
图10-17快速着色摄像机视图的结果
图10-18在控制器选择框中点选LookAt
图10-19硬币已经被赋予LookAt控制器
图10-20创建一个盒子
图10-21将摄像机镜头对准球体并将透视视图转换为摄像机视图
图10-22单击播放动画按钮观看一下水面波动的效果
图10-23水面及球体赋予材质后的效果
图10-24选择NoisePositionController(噪波位置控制器)
图10-25选择ExpandAll
图10-26右侧轨迹编辑区的噪波曲线过于嘈杂
图10-27噪波参数设置对话框的参数设置
10.4ListController列表控制器实例
ListController(列表控制器)不是一个具体的控制器,而是含有一个或多个控制器的组合,包括位置、旋转和缩放列表控制器。下面通过实例看看其效果如何。
1)单击Create(创建)/Geometry(几何体)/ExtendedPrimitives(扩展基本造型)/Hedry,在参数区卷展栏中点选Star1,AxisScaling下的P:、Q:均为50,Radius为50,在视图中创建一个星星造型,如图10-30所示。2)单击Create(创建)/Shapes(平面造型)/Circle,在顶视图中创建一个圆形,效果如图10-31所示。
3)点选星星造型,单击按钮进入运动命令面板,点取Position,单击AssignController按钮进入位置控制器选择框,选择Path(路经)控制器并退出。
4)向上推动运动命令面板的卷展栏,单击PickPath按钮,在视图中点选圆形,单击播放动画按钮,星星造型沿圆形做圆周运动。
5)下面指定一个列表控制器,进入运动命令面板,单击Position,单击AssignController按钮,在位置控制器选择框中点选PositionList,单击OK按钮退出,如图10-32所示。
6)打开TrackView(轨迹视图),用鼠标右键单击项目窗口的Objects,在弹出的对话框中选择ExpandAll,我们发现Position项目中多出一项PositionList,如图10-33所示。
7)当增加PositionList控制器时,它在Position轨迹上增加两个子控制器,将原始的Path轨迹移到第一个轨迹,并在它下面放一个Avaiable(有效的)轨迹。Available轨迹只是一个位置标志器,用来在Position轨迹的同层级增加一个轨迹。在指定新的控制器之前,需要选定Available轨迹。关闭TrackView(轨迹视图)。
8)在运动命令面板的信息框中单击第一个Available轨迹,单击AssignController(指定控制器)按钮,点选NoisePosition(位置噪波控制器),单击OK按钮。
9)NoisePosition被加在Available轨迹原来的地方,而一个新的Available轨迹出现在它的下面,可以在此处再增加另外的控制器,如图10-34所示。
10)在视图中单击播放动画按钮,观看一下星星的运动状况,运行保持相同的圆形路径(Path控制器作用)轨迹,但增加了颠簸扭曲(噪波控制器作用)的效果。
11)观看动画效果之后,在TrackView(轨迹视图)中同时显示两条产生作用的曲线,研究一下造成星星造型运行方式的原因。点选轨迹视图工具栏中的按钮,点选项目窗口中的PositionList,两个轨迹的功能曲线都出现了,如图10-35所示.如果希望星星沿着圆形路经做平缓前进的同时在垂直方向上做上下位移,好像飞行时受到某种气流的影响该怎么办呢?
12)用鼠标右键点选TrackView(轨迹视图)中项目窗口的NoisePosition,在弹出的对话框中点选Properties,如图10-36所示。
13)将噪波控制器参数设置对话框中的参数进行调整,如图10-37所示。
14)打开TrackView(轨迹视图),点选项目窗口中的PositionList,两条轨迹的功能曲线发生了变化,起伏较大的曲线控制星星的上下运动,平缓的为圆形路径运动,如图10-38所示。
15)在视图中创建一架摄像机,将透视视图转换为摄像机视图,适当调节镜头的角度,单击播放动画按钮观看效果,如图10-39所示。
图10-28TrackView中的噪波曲线变得平缓多了
图10-29生成预览文件观看动画效果
图10-30创建一个星星造型
图10-31在顶视图中创建一个圆形
图10-32在位置控制器选择框中点选PositionList
图10-33Position项目中多出一项PositionList
图10-34NoisePosition被加在Available轨迹原来的地方
图10-35Path控制器与噪波控制器两个轨迹的功能曲线都出现了
图10-36在弹出的对话框中点选Properties
图10-37噪波控制器参数设置对话框中参数的调整结果
图10-38两条轨迹的功能曲线发生了变化
图10-39播放动画按钮观看效果
10.5小结
动画控制器用来控制物体运动轨迹的规律,通常在TrackView(轨迹视图)中或Motion(运动)命令面板指定。两个地方的内容及效果完全相同,只是面板形式不同而已。
使用3DStudioMAX3进行动画设计时仅仅进行关键帧的设置是不行的,经过动画控制器的调整,可以得到很多真实可信的动画效果。当创建一个物体时,3DStudioMAX3就为它指定了默认的Transfrom(变动)控制器。在默认状态下,控制器总是给新增加的关键点设置光滑的切线类型。一般来说,不同控制器对话框中的控制器种类也不同。在控制器左边有“>”标记的,说明这是当前使用的控制器,或是3DStudioMAX3默认设置。
3DStudioMAX3中共有三四十种动画控制器类型,针对不同的项目使用不同的控制器,根据轨迹对象类型的不同,弹出的控制器对话框的内容也随之不同。
3DStudioMAX3中的聚光灯和摄影机的目标点,默认的控制器为LookAt(注视控制器)。Position/Rotation/Scale(位置/旋转/缩放控制器)为变动控制器对话框中系统的默认设置,使用非常普遍,是大多数物体默认的变换控制器,它将变换控制分为Position.(位置)、Rotation(旋转)、Scale(缩放)三个子控制项目NoisePositionController(噪波位置控制器)产生一个随机值,可在功能曲线上产生波峰及波谷。产生随机的动作变化,没有关键点的设置,而是使用一些参数来控制噪波曲线。PathController(路径控制器)使物体沿一个样条曲线(路经)进行运动,是一个用途非常广泛的动画控制器,通常在需要物体沿路径轨迹运动且不发生变形时使用。
如果物体沿路径运动同时还要产生变形,应使用PathDeform(路径变形)变动修改或空间扭曲。路径控制器在TrackView(轨迹视图)和运动命令面板上均可指定,但只有在运动命令面板上才能完成路径的指定和设置参数的工作。
LookAtController(注视控制器)强制物体朝向其他的物体,当被注视的物体变动时,注视控制器作用下的物体会不断改变自身的位置和角度,以保持注视状态。列表控制器是一个组合其他控制器的合成控制器,能将其他种类的控制器组合在一起,按从上到下的排列顺序进行计算,产生组合的控制效果。