在设计物体的动画时,我们通过关键帧来记录物体的基本运动方式,关键帧之间的过渡动画则由系统通过自动的插值计算生成。但要精确控制物体的运动规律,比如变换运动速率,就需要借助动画控制器来处理。
控制器简介
动画控制器是处理所有动画值的存储和插值的插件,它的作用包括存储动画关键帧的值,存储程序动画设置,在动画关键帧之间进行插值等。在3dsMax中,默认控制器包括:位置控制器(Position)、旋转控制器(Euler)、缩放控制器(Bezier)。
1.动画控制器的分类
动画控制器分为以下类别。
浮点控制器:用于设置浮点值的动画。
Point3控制器:用于设置三组件值的动画,如颜色或三维点。
位置控制器:用于设置对象和选择集位置的动画。
旋转控制器:用于设置对象和选择集旋转的动画。
缩放控制器:用于设置对象和选择集缩放的动画。
变换控制器:用于设置对象和选择集常规变换(位置、旋转和缩放)的动画。
约束控制器:强行使对象与目标对象保持连接,强制动画对象沿某条路径、某个表面、某个方向或固定在某个物体上进行运动。
2.访问动画控制器
在3ds Max中,提供了三种访问动画控制器的方式:Motion(运动)面板、Track View(轨迹视图)和Animation(动画)菜单。
Motion(运动)命令面板包括Trajectories(轨迹)和Parameters(参数)两个选项。其中Trajectories(轨迹)用于编辑轨迹线和关键点;Pa-rameters(参数)用于分配动画控制器、创建和删除关键点。
选择Motion(运动)面板,单击Parameters(参数)按钮,即可打开参数控制区界面,如图所示。参数控制区包含若干个卷展栏,可用于动画的参数控制。
3.查看控制器类型
可以在Dope Sheet(摄影表)和Motion(运动面板)中查看指定参数的控制器类型。在轨迹视图中查看控制器类型之前,首先要在Dope Sheet(摄影表)工具栏上,单击Filters(过滤器)按钮,然后在弹出的过滤器对话框的Show(显示)选项组中,选中Controller Types(控制器类型),如图1-24所示。接着在层次视图中就可以看到控制器类型名称了。另外,在运动面板的参数模式下总是显示选定对象的控制器类型。
更改控制器属性
某些控制器,例如程序控制器,将不创建关键帧。对于这些类型的控制器,可以通过编辑控制器属性来分析和更改动画。可以更改动画值的位置,这些控制器会显示属性对话框。控制器类型确定控制器是否显示属性对话框,以及显示哪些类型的信息。
1.更改控制器属性
某些控制器不使用关键点,而是使用影响整个动画的属性对话框。此类控制器通常是参数控制器(如Noise)或复合控制器(如List)。要查看控制器属性,可以在Curve Editor(曲线编辑器)中查看控制器属性,也可以在运动面板中查看某些变换控制器的全局属性。另外,还可以从轨迹栏中查看控制器属性。方法是右键单击任意关键点并选择Controller Properties(控制器属性)命令。
2.更改控制器关键点信息
要查看和更改关键点信息,在曲线编辑器中右键单击所选关键点,可显示关键点信息对话框
如果选择了多个关键点,“关键点信息”将显示所有所选关键点的公共信息。包含值的字段位置表示该值通用于所有被选择的关键点。空白位置表示关键点不同,值也不同
也可以在Motion(运动)面板中查看变换控制器的关键点信息,首先选择一个对象,在运动面板中,单击参数,然后单击参数卷展栏中的位置、旋转或缩放,如果变换控制器使用关键点,关键点信息卷展栏将显示在参数卷展栏下方。
控制器指定
当创建对象后,打开运动面板,展开Assign Controller(指定控制器)卷展栏,该卷展栏用于给对象的运动轨迹指定动画控制器。该卷展栏为一个列表框,以目录层级结构的形式显示当前加载在对象轨迹上的动画控制器
在列表框中列出了Transform(变换),以及下一层级的Position(位置)、Rotation(旋转)和Scale(缩放)3个项目。在每个项目的“:”后面是系统指定的默认动画控制器。Position(位置)为Position XYZ控制器,Rotation(旋转)为Euler XYZ控制器,Scale(缩放)为Bezier Scale控制器。
当需要为对象指定其他控制器时,可激活其中一种变换类型,再单击列表上方的Assign Con-troller(指定控制器)按钮,可弹出动画控制器选择对话框,如图1-30中A所示。在该对话框中列举出了与运动变换类型相匹配的所有可供选择的动画控制器类型选项。选择其中一个选项,单击确定按钮后,即可把该动画控制器指定给对象,此时,被指定的动画控制器出现在Assign Controller卷展栏的列表框中
此外,在轨迹视图中也可以指定动画控制器。方法:在轨迹视图项目窗口中选择一种变换类型,然后单击鼠标右键,并在弹出的快捷菜单中执行Assign Controller(指定控制器)命令,接着在打开的指定控制器对话框中选择要指定的动画控制器。
使用Animation(动画)菜单也可以指定控制器。方法是:选择一个对象,然后执行Animation(动画)→Position Controllers(位置控制器)菜单命令,接着在弹出的子菜单中选择一个控制器
常用动画控制器
在几大类动画控制器中,每一类又包括多种不同子类型的动画控制器。可以通过Assign Con-troller(指定控制器)卷展栏中的动画控制器选择对话框来指定这些动画控制器。也可以通过Ani-mation(动画)子菜单命令来实现。常用类型的动画控制器及其功能如下。
Path Constraint Controller(路径约束控制器):使运动对象沿样条曲线进行运动。通常在对象沿特定路径运动但不发生形变时使用。
Euler XYZ Controller(欧拉XYZ控制器):将旋转控制分解为X、Y、Z三个子项目,对三个轴向的旋转分别进行控制,可对每个轴向指定其他动画控制器,以精确控制其旋转轨迹。
Bezier Position Controller(贝塞尔位置控制器):系统默认的位置移动控制器,也是应用最为广泛的控制器。
Noise Position Controller(噪声位置控制器):对运动的位置产生一个随机值,可使物体以随机的形式进行抖动。
Position/Rotation/Scale Controller(位置/旋转/缩放控制器):系统默认的一种控制器。它将变换控制分为Position(位置)、Rotation(旋转)、Scale(缩放)3个子控制项目,可分别指定各自不同的动画控制器。
TCB Position Controller(TCB位置控制器):通过结合Tension(张力)、Continuity(连续性)和Bias(偏移)控制器来对关键点之间的运动进行控制。
Attachment Constraint Controller(附属物约束控制器):将一个对象附属于另一个对象的表面。若目标对象表面发生变化,附属对象也将发生相应的变化。可用于制作一个物体在另一个物体表面移动的效果。
Audio Position Controller(音频位置控制器):通过声音的频率和振幅来控制运动对象的移动节奏。
Block Controller(群组控制器):将多个对象的轨迹组合成一个独立的群组,通过该群组可以重新制作动画并进行总体编辑。既可以制作相对动画,也可以制作绝对动画。
Position Motion Capture Controller(位置运动捕捉控制器):可使用鼠标或键盘等外部设备动态捕捉对象的运动轨迹,从而控制和记录对象的运动。
Script Controller(脚本控制器):使用Max Scrip编程语言对对象运动进行控制。
Smooth Rotation Controller(平滑旋转控制器):使对象产生平滑旋转的效果。
Surface Controller(表面控制器):使对象沿另一个对象的表面进行运动。
Waveform Controller(波形控制器):提供规则的周期性的波形来控制对象的运动。可用于时间段内波形效果的控制,常用来制作闪烁的发光物体。
IK Controller(反向控制器):主要用于反向运动的控制。在Bones(骨骼)系统创建的同时,该控制器将被自动指定给每一根骨骼。用户可对每一根骨骼进行编辑。