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