- 最后登录
- 2018-12-19
- 注册时间
- 2012-8-20
- 阅读权限
- 90
- 积分
- 54706
- 纳金币
- 32328
- 精华
- 41
|
同路径约束一样,目标注视约束在早期的版本中也是通过指定控制器的方法来实现的,在R4.0版本中才可以通过菜单方式给物体指定的目标注视约束,目标注视约束动画也是一种很常用的动画形式,它的作用是限制一物件的转动方向,使物体的某一轴向始终指向指定的目标物体,因此它总是考虑另一个或者几个物体模型的位置,并通过自身与目标物体的相对位置关系,来调整自身的转动方向。在多个物体作目标物体时,同路径约束控制方法一样也是采用加权平均值运算,来决定自身的旋转角度。当对物体指定了目标注视约束以后,物体的运动在视窗中就将不再受旋转变换控制。
目标注视约束方法(Look At)所涉及的参数不多,大部分参数的作用只是辅助性的,没有很多的实际意义,我们只是简要介绍如下:
权重(Weight):权重是其最重要的参数,在有多个目标物体时,才有意义。通过调整框可以调整数值来指定某个约束物体对被约束物体的影响程度,这里的数值就是在加权运算中的加权系数,它可以用来制作动画。注意调整这个参数以前,必须先在物体列表框选中相对应约束物体。
保留初始偏差(Keep Initial Offset):计算出初始状态的角度偏差,并在以后的旋转运动中,保持始终有同样大小的偏差。
视线长度(Viewline Length):这个数值定义从被约束物体的中心指向约束物体的中心的视线的长度,在视图中它显示为一条与约束物体相同颜色的直线。其长度与权重相关。
保持视线长度绝对值(Keep Viewline Length Absolute):勾选这个选项以后,视线长度被忽略并且始终连接在约束物体和被约束物体之间。
设定方向(Set Orientation):这个选项用来人为地定义被约束物体的初始方向偏差。打开这的选项以后,你可以使用旋转工具旋转被约束物体与视线产生一个角度差,在整个运动过程中这个角度的偏差将始终保持。
恢复初始方向(Reset Orientation):这个按钮用来恢复物体的初始角度,当你对上一步的方向设定感到不满意的话,你可以恢复到正常的轴向状态,需要注意的是,在使用目标注视约束之前的旋转对被约束物体的角度没有影响,因此在使用约束之前调整被约束物体的角度是没有意义的。
选择LookAt轴(Select LookAt Axis):这里定义指向目标物体的轴,X、Y、Z检查框分别代表被约束物体的自身坐标轴,选中Flip检查框表示使用自身坐标轴的反向。
选择Upnode(Select Upnode):缺省的Upnode是以世界坐标为基准的也可以一物体的坐标系为Upnode 平面的基准。这个平面由被约束物体沿伸向Upnode所指定的物体。当注释约束的轴向同Upnode的轴向一致时,被约束物体将会发生反转 ,对upnode物体制作动画会影响到upnode平面。
接下来来源/Upnode对齐卷帘下的设定,主要是针对物体和Upnode物体的轴向的,笔者认为其实际的作用不大,在这里就不一一介绍了,有过那位爱好者发现了其中的妙用,望不吝赐教。
制作目标注视约束动画的一般过程是这样的:
选择你想要作为被约束的对象,这个物件的运动,确切的说是转动,总是考虑到它的目标物体的位置。然后在菜单上选择动画菜单>约束>目标注视约束,这时在窗口中会有一条由被约束物体引出的虚线,选择目标物体,被选中的物体会闪一下,这时被约束物体就会按照默认的设置转向目标物体。
通过运动控制卷帘窗可以修改目标注视约束参数:
修改参数时需要首先选择被约束的物体,然后进入运动控制卷帘窗,按下旋转按钮,进入旋转动画参数栏,双击转动清单目标注视约束项,则可进入参数修改状态。
接下来我们通过一个古老的动画来学习这种动画控制方式的用法。请看动画Coin.avi。这是3dsmax的一个古老的练习,也是Lookat在应用中的一个典范,它模拟了一个硬币在平面上的陀螺运动,由于这种运动不是单纯的旋转,因此用传统的方法很难完成,下面我们就试着用Lookat来完成它。
1、场景制作:在Top视窗中制作一个圆柱体,其高度为5,半径为80,边的片段数设为48,这主要是为了使制作出的硬币看起来更圆滑,如果你的计算机够好,你可以设得更高。勾选使用贴图。给硬币赋材质,这里笔者只是简单绘制了一个图形作贴图,如图:Cion.jpg。如果要真实的效果最好去找真实的硬币图片作硬币贴图。
2、动画辅助物体的制作:首先我们需要目标物体,根据我的实际经验,常常需用两个到三个目标物体,在本例中,我们使用两个虚拟物体来做目标物体,也可以用任何几何实体,但那样在渲染时需要将其隐藏,而虚拟物体是不会被渲染出来的(CreateHelpersDummy)。接下来我们需要为目标物体指定运动路径,这个路径是根据硬币的注视方向决定的,观察发现硬币所注视的方向是旋转的,因此我们采用螺旋线(Helix)。由于硬币在运动的开始和结束阶段的旋转频率不同,因此我们制作两条螺旋线来调整视角和旋转频率。将虚拟物体1指定路径约束动画,使用螺旋线1作为其路径,将虚拟物体2指定路径约束动画,使用螺旋线2作为其路径。
3、动画的分析和制作:经过反复的观察,我们发现硬币在整个运动过程中,开始时旋转较快,而且重心下降很慢,在中后期则相反,因此我们使用两个目标物体,而且两个物体使用不同的运动曲线,第一个虚拟物体主要用来控制硬币的早期运动,因此我们将它在顶部的旋转圈数加大,调整螺旋线1的参数如下:R1(528);R2(0);Height(-200);Turn螺旋线的圈数(20);Bias螺旋线的偏移(-0.45),这个值可以是螺旋线在顶部有较密的圈数;勾选CW(顺时针),也可使用CCW(逆时针),只要两个螺旋线同步即可。另外由于在运动的后期硬币与桌面的碰撞加剧,旋转变慢,但起伏波动加快,而螺旋线不能作出双向的偏移,因此我们使用另外一条螺旋线,来获得这样的效果,调整螺旋线2的参数如下:R1(16);R2(0);Height(-200);Turn螺旋线的圈数(20);Bias螺旋线的偏移(0.2),这个值可以是螺旋线在底部的圈数减少;勾选CW(顺时针)。完成后的整个场景的布局如图Coin01.jpg。所有物体的中心是对齐的。
4、动画的制作与调整:剩下的工作就是给硬币使用目标注视约束,并选取虚拟物体1,然后进入运动控制卷帘窗,在旋转动画参数栏,选择增加目标按钮,点取虚拟物体2,再添加一个目标。打开动画按钮,回到第0帧,在目标物体列表中选择虚拟物体1,将其权重值调整为100,选择虚拟物体2,将其权重值调整为0,到底100帧,将虚拟物体1的权重值调整为0,将虚拟物体2的权重值调整为100。完成后,还要选择好适当的Lookat轴,如果以上的步骤正确的话,应该是使用Z轴,读者也可以选择其它的轴向试试。由于硬币在整个运动过程中,不只是有旋转的运动,还有少量的重心下降的运动,读者需调整其位移运动使硬币的下沿始终在桌面上。为了便于调整,建议读者将硬币与两条螺旋线建组,或将螺旋线绑定在硬币模型上,以保证同时调整其在高度上的位移。最后将动画调至100帧,对齐两条螺旋线的轴心(X、Y方向)与硬币对齐,调整两条螺旋线的高度,使硬币平放在桌面上。
至此动画已基本完成,但由于篇幅所限,未能详尽阐述,不足之处请读者多多揣摩、见谅。
【来源:软件学院】
更多精彩教程,尽在web3D纳金网http://www.narkii.com/college/ |
|