Quest3d教程6:实现动画
来源:第三维度
Quest3D力器之一就是您可以实现各方面的动画效果。比如三维物体可以被移动、旋转及随时间而变化。另外,所有的表面属性都可以加以动画效果,例如颜色及透明度。三维人物模型也可以通过激活其内部的虚拟骨架而被赋予生命。音乐和声音在特定的场所和时间也可被触发。菜单窗口可以被移动或渐显、渐隐于屏幕中。
Envelopes 曲线控制器
在Quest3D中,动画意味着随着时间的改变而改变相关值。通常情况下Value模块只能存储一个值。为了存储动画数据,就要用到Envelope模块。
Envelope模块的界面看起来象是一个数学图表,实际上其工作原理也很类似。水平轴代表输入值(经常是时间值),输入方法是把一个Value与Envelope的子连接相连。垂直轴代表输出值。通过(X, Y)对值和内插,就可以将任何输入值转换成一个输出值。
Timers定时器
Timer Value模块和Timer Command模块能够很好的实现动画控制。Timer Command命令的功能有‘Play’, ‘Stop’, ‘Rewind’ and ‘Play & Loop’。请看下图,一个Timer Value模块作为输入被连接到一个Envelope模块。并使用Timer Command模块来控制定时器。
在Timer Value模块的属性窗口中可以指定以有的动画或新建一个动画。您可以根据需要来设置多个动画定时器。Timer Value模块是根据计算机的速度自动进行调整的。在Quest3D中25帧/秒。
任何一个模块的基本类型变量(Value)都可被用作动画效果制作。例如基于鼠标动作的触碰特效,基于复杂计算的状态栏长度,以及人工智能行为的相互作用。在动画区内有很好的动画控制和测试,操作界面如下图示:
(1) Start frame起始帧;
(2) Current frame当前帧;
(3) End frame末帧;
(4) Timer List定时器;
(5) Timer List定时器(如果场景有多个定时器时注意选择要调整的定时器);
(6) Record录制;
(7) Play (and loop)播放(及循环);
(8) Next keyframe下一帧;
(9) Delete keyframe button帧删除钮;
(10) Insert keyframe button帧插入钮;
(11) Envelope controls Envelope控制。
下面将通过一个实例学习在Quest3D制作动画:
上图所示即是在一个3D空间内制作了两个球的动画效果,动画制作都在动画编辑器内完成,同时搭建一个逻辑结构来控制动画。
Quest3D虽然有很好的动画编辑功能,但跟专业的动画软件相比还是有所差距,很复杂的动画在Quest3D中制作很费时,或者根本不能完成,比如骨骼动画,还好多数专业的动画软件制作的动画能够直接导入到Quest3D,下面我们就来学习3Dmax制作动画然后导入到Quest3D的方法。
物体只有位移、旋转和缩放的矩阵变化的动画导出,首先确保物体只有矩阵变化,没有物体的顶点变化的动画,下图即是在3Dmax内制作的一个简单的球的跳动动画。
当动画制作完成后用导出插件输出动画,要注意在输出十改成每秒25针,如下图示:
当导入到Quest3D后在Motion的Parent Matrix连接的Matrix中存储着物体的动画信息,可以在这个Matrix下连接一个Time Value以方便控制这段动画,如下图所示: