当前位置导航:炫浪网>>网络学院>>图形图像>>3D MAX教程

3DStudioMAX动画控制器

          动画控制器实际上就是控制物体运动轨迹规律的事件,它决定动画参数如何在每一帧动画中形成规律,决定一个动画参数在每一帧的值,通常在TrackView(轨迹视图)中或Motion(运动)命令面板指定。在使用3DStudioMAX3进行动画设计时,经过动画控制器控制的调整将得到一个流畅的符合情理的动画。在创建一个物体时,3DStudioMAX3就为它指定了默认的Transfrom(变动)控制器。在默认状态下,控制器总是给新增加的关键点设置光滑的切线类型。

 在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所示。

  • LinkControlController(链接控制器)用于对层次链中由一个物体向另一个物体链接转移的动画制作。指定作为链接对象的父物体后,可以对开始的时间进行控制。
  • LookAtController(注视控制器)控制整个Transform(变动)项目,强制物体朝向其他的物体。当被注视的物体变动时,注视控制器作用下的物体会不断改变自身的位置、角度,以保持注视状态。其下的Position(位置)和Scale(缩放)控制器仍为标准控制器,而Rotation(旋转)控制器变为受控的滚动角度。3DStudioMAX3中的聚光灯和摄影机的目标点,默认的控制器为LookAt(注视控制器)。可以模拟桌子上旋转的硬币,使用一个隐藏的立方体,让它沿一个螺旋轨迹运动;给硬币物体指定一个LookAt(注视)控制器,目标物体为立方体。
  • Position/Rotation/Scale(位置/旋转/缩放控制器)为变动控制器对话框中系统的默认设置,使用非常普遍,是大多数物体默认使用的控制器,它将变换控制分为Position.(位置)、Rotation(旋转)、Scale(缩放)三个子控制项目,分别指定各自不同的控制器。

2)AssignPositionController(指定位置控制器)对话框中的控制器类型,如图10-4所示。

  • AttachmentController(附属物控制器)将一个物体的位置结合到另一个物体的表面,目标物体必须是一个网格物体,或者能够转化为网格物体的NURBS物体、Patch面片物体。通过在不同关键点指定不同的附属物控制器,可以制作出一个物体在另一物体表面移动的效果。如果目标物体表面是变化的,它将发生相应的变化。
  • AudioPositionController(音频位置控制器)通过一个声音的频率和振幅来控制动画物体的位移运动节奏,基本上可以作用于所有类型的控制参数。可以使用WAVE、AVI等音频文件的声音,也可以由外部直接用声音同步动作。
  • BezierPositionControllers(贝兹位置控制器)是3DStudioMAX中使用最广泛的动画控制器之一,它在两个关键点之间使用一个可调的样条曲线来控制动作插值,对大多数参数而言均可用,所以位置控制器对话框中选择它作为默认设置。贝兹控制器允许以函数曲线方式控制曲线的形态,从而影响运动效果;还可以通过贝兹控制器控制关键点两侧曲线衔接的圆滑程度。
  • LinearPositionController(直线位置控制器)在两个关键点之间平衡地进行动画插补计算并得到标准的直线性动画。常用于一些规则的动画效果,如机器人关节的运动。
  • NoisePositionController(噪波位置控制器)此控制器产生一个随机值,可在功能曲线上看到波峰及波谷。产生随机的动作变化,没有关键点的设置,而是使用一些参数来控制噪波曲线,从而影响动作。噪波控制器用途广泛,比如说模拟风中落叶,可以为它的旋转控制项目加入噪波控制器,表现其上下翻腾的效果。噪波控制器也可以和其他控制器组合使用,比如模拟在不平坦路面上行进的车辆。
  • PathController(路径控制器)使物体沿一个样条曲线(路经)进行运动,是一个用途非常广泛的动画控制器,通常在需要物体沿路径轨迹运动且不发生变形时使用。如果物体沿路径运动的同时还要产生变形,应使用PathDeform(路径变形)变动修改或空间扭曲。路径控制器在TrackView(轨迹视图)和运动命令面板上均可指定,但只有在运动命令面板上才能完成路径的指定和设置参数的工作。
  • PositionExpressionController(位置表达式控制器)位置表达式控制器是通过数学表达式来实现对动作的控制。可以控制物体的基本创建参数(如长度、半径等),可以控制对象的Transform(变动)、Position(位置)、Scale(缩放)等。
  • PositionListController(位置列表控制器)列表控制器是一个组合其他控制器的合成控制器,能将其他种类的控制器组合在一起,按从上到下的排列顺序进行计算,产生组合的控制效果。例如为位置项目指定一个由线性控制器和噪波控制器组合的列表控制器,将在线性运动上叠加一个噪波位置运动。当加入列表控制器时,原来的控制器将变为其下第一个子控制器。
  • PositionMotionCaptureController(位置运动捕捉控制器)在3DStudioMAX中,允许使用外接设置控制和记录物体的运动,目前可用的外接设备包括鼠标、键盘、游戏杆和MIDI,将来还可能加入捕捉人体运动的设备。运动捕捉控制器首次指定时要在TrackView(轨迹视图)或运动命令面板中完成,修改和调试动作时要在程序命令面板上的MotionCaptrue(运动捕捉)程序中完成。运动捕捉可以指定给位置、旋转、缩放等控制器,指定后,原控制器将变为下一级控制器,同样发挥控制作用。运动捕捉控制器使用起来非常简单,首先对一个物体在运动命令面板中指定MotionCapture(运动捕捉)控制器;然后进入程序命令面板,打开MotionCapture(运动捕捉)程序;选择项目,打开它的控制框,选定外接设备;按Start(开始)钮,进行捕捉记录。捕捉可以反复进行,最后的运动结果将在每一帧建立一个关键点,可以使用轨迹视图中的ReduceKeys(精简关键点)工具对它们进行精简。
  • PositionScriptController(位置脚本控制器)通过脚本语言进行位移动画控制。
  • PositionXYZController(位置XYZ控制器)将Position(位置)控制项目分离为X、Y、Z三个独立的控制项目,可以单独为每一个控制项目指定控制器,与EulerXYZRotation(欧拉XYZ旋转)控制器相似。
  • PositionSurfaceController(位置曲面控制器)使一个物体沿另一个物体表面运动,但是对目标物体要求较多。目标物体要求必须是:Sphere(球体)、Cone(锥体)、Cylinder(柱体)、Torus(圆环)、QuadPatches(方形片面)、NurbsObject(Nurbs物体)等。除此之外都不能作为曲面控制器的目标物体,而且这些物体要保持完整性,不能有Slice(切片)处理,不能加入变动修改命令。
  • TCBPositionController(TCB位置控制器)TCB控制器通过Tension(张力)、Continuity(连续性)、Bias(偏斜)三个参数项目来调节动画。

3)AssignRotationController(指定旋转控制器)对话框中的控制器类型,如图10-5所示。

  • AudioRotationController(音频旋转控制器)通过一个声音的频率和振幅来控制动画物体的旋转运动节奏,基本上可以作用于所有类型的控制参数。
  • EulerXYZController(欧拉XYZ控制器)隶属于旋转控制器类型,是一种合成控制器,通过它将旋转控制分离为X、Y、Z三个项目,分别控制在三个轴向上的旋转,然后可以对每个轴向指定其他的动画控制器,如Bezier(贝兹)控制器、Noise(噪波)控制器控制器等。这样做的目的是实现对旋转轨迹的精细控制。由于欧拉控制器使用的单位为弧度,所以其他的控制器在引入后会进行单位的调整。Waveform(波形)控制器默认振幅为100,引入后转化为5729.598°;Noise(噪波)控制器默认Strength(强度)值为50%,引入后转化为2864.789°;MIDIMotionCapture(MIDI运动捕捉)控制器的Max最大值为1.0,引入后转化为56.2958°。欧拉XYZ控制器对三个轴向可以指定不同种类的控制器,默认控制器为Bezier(贝兹)控制器,它在运动命令面板上可以显示出来,但对于其他类型的控制器(如Noise噪波),必须在TrackView(轨迹视图)中才可以打开相应的参数面板。
  • LinearRotationController(直线旋转控制器)在两个关键点之间得到稳定的旋转动画,常用于一些规律性的动画旋转效果。
  • LocalEulerXYZController(局部欧拉XYZ控制器)是一种合成控制器,通过它将旋转控制分离为X、Y、Z三个项目。与欧拉XYZ控制器不同,它可以局部个别地控制三个轴向上的旋转,并指定其他的动画控制器。
  • NoiseRotationController(噪波旋转控制器)此控制器产生一个随机值,可在功能曲线上看到波峰及波谷,产生随机的旋转动作变化。没有关键点的设置,而是使用一些参数来控制噪波曲线,从而影响旋转动作。
  • RotationListController(旋转列表控制器)不是一个具体的控制器,而是含有一个或多个控制器的组合,能将其他种类的控制器组合在一起,按从上到下的排列顺序进行计算,产生组合的控制效果。
  • RotationMotionCaptureController(旋转运动捕捉控制器)运动捕捉控制器首次指定时要在TrackView(轨迹视图)或运动命令面板中完成,修改和调试动作时要在程序命令面板上的MotionCaptrue(运动捕捉)程序中完成。当旋转运动捕捉控制器指定后,原控制器将变为下一级控制器,同样发挥控制作用。接通外设后,旋转运动捕捉控制器可以反复进行物体旋转运动的捕捉,最后的运动结果将在每一帧建立一个关键点,可以使用轨迹视图中的ReduceKeys(精简关键点)工具对它们进行精简。
  • RotationScriptController(旋转脚本控制器)通过脚本语言进行旋转动画控制。
  • SmoothRotationController(光滑旋转控制器)完成平滑自然的旋转动作,与LinearRotationController相同,没有可调的函数曲线,只能在TrackView(轨迹视图)中改变时间范围,或者在视图中旋转物体来改变旋转值。
  • TCBRotationController(TCB旋转控制器)TCB旋转控制器通过Tension(张力)、Continuity(连续性)、Bias(偏斜)三个参数设置来调节动画。该控制器提供类似Bezier控制器的曲线,但没有切线类型和切线控制手柄。

4)AssignScaleController(指定缩放控制器)对话框中的控制器类型,如图10-6所示。

  • AudioScaleController(音频缩放控制器)通过一个声音的频率和振幅来控制动画物体的缩放运动节奏,基本上可以作用于所有类型的控制参数。
  • BezierScaleController(贝兹缩放控制器)是3DStudioMAX中使用最广泛的动画控制器之一。贝兹缩放控制器允许通过函数曲线方式控制物体缩放曲线的形态,从而影响运动效果。在缩放控制器对话框中,BezierScaleController为默认设置。
  • LinearScaleController(直线缩放控制器)在两个关键点之间得到稳定的缩放动画。常用于一些规律性的动画效果。
  • ?NoiseScaleController(噪波缩放控制器)此控制器产生一个随机值,可在功能曲线上看到波峰及波谷,产生随机的缩放动作变化。没有关键点的设置,而是使用一些参数来控制噪波曲线,从而影响对象的缩放动作。
  • ScaleExpressionControllers(缩放表达式控制器)表达式控制器是通过数学表达式来实现对动作的控制。可以控制物体的基本创建参数(如长度、半径等),可以控制对象的Scale(缩放)运动。
  • ScaleListController(缩放列表控制器)不是一个具体的控制器,而是含有一个或多个控制器的组合。能将其他种类的控制器组合在一起,按从上到下的排列顺序进行计算,产生组合的控制效果。
  • ScaleMotionCaptureController(缩放运动捕捉控制器)运动捕捉控制器首次指定时要在TrackView(轨迹视图)或运动命令面板中完成,修改和调试动作时要在程序命令面板的MotionCaptrue(运动捕捉)程序中完成。指定缩放运动捕捉控制器后,原控制器将变为下一级控制器,同样发挥控制作用。接通外设,缩放运动捕捉控制器可以反复进行物体缩放运动的捕捉,最后的运动结果将在每一帧建立一个关键点。
  • ScaleScriptController(缩放脚本控制器)通过脚本语言进行缩放动画控制。
  • ScaleXYZController(缩放XYZ控制器),将Scale(缩放)控制项目分离为X、Y、Z三个独立的控制项目,可以单独为每一个控制项目指定控制器。
  • SlaveScaleController(缩放隶属控制器)。
  • TCBScaleController(TCB缩放控制器),通过Tension(张力)、Continuity.(连续性)、Bias(偏斜)三个参数设置来调节物体的缩放动画。该控制器提供类似Bezier.控制器的曲线,但没有切线类型和切线控制手柄。

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(注视控制器)强制物体朝向其他的物体,当被注视的物体变动时,注视控制器作用下的物体会不断改变自身的位置和角度,以保持注视状态。列表控制器是一个组合其他控制器的合成控制器,能将其他种类的控制器组合在一起,按从上到下的排列顺序进行计算,产生组合的控制效果。

相关内容
赞助商链接