上次说到Maya中模型的创建以及变换方式,创建方式又分为NURBS以及Polygon两种建模方式。变换方式一共有位移、缩放、旋转三种,它们的快捷键分别是W、E、R,在键盘上它们的位置是相连的。可以多加练习以熟练各种快捷键的使用以及基本几何体的创建。
今天来认识3D动画组成原理以及影格的基本概念和基本操作。
动画组成原理以及影格的基本概念
有时候我们在拍照时,为了取得一张效果比较好的照片,会使用连拍模式,而这种模式可以让我们得到一组动作连贯的照片。如果事后用很快的速度按顺序将这些照片连起来播放,看起来这些照片上的人就会像是动起来了一样,这种现象与动画的原理是一样的,利用的都是Persistence Of Vision(视觉暂留)。
一般来说,当图像以十张以上每秒的速度连续播放时,我们看起来画面上的人物动作就不会出现卡顿。目前主流的视频编辑默认的播放速度基本上为24帧每秒或者25帧每秒,不过由于目前主流的日漫多以二维画面为载体呈现,如果播放速度很快的话绘制画面的工作量将会很大,所以一般日漫都会将主流视频中三帧的画面用一张图来呈现,这样一秒钟就只有八张图的工作量了,所以有些日漫看起来动作之间会缺乏一些连贯就是这个原因。
PS.上面所说的影格和帧是一个意思。
在这个连续播放的图像中,每一张画面都被称为Frame(影格)。
由于上述原因,传统动画中一段视频的产生,绘制工作量非常大。所以早期动画制作中有一种较为有效率的技术,就是先由资深的动画师将一个动作中最重要的几个影格绘制完成,再由助理将中间的过渡影格加上。这些由资深动画师绘制的影格就称为Keyframes(关键影格)。
而用来在关键影格之间过渡的画面,则称为Inbetweens(中间影格)。
3D动画的制作,多半就是使用关键影格设定的方式。关键影格由动画师指定,而中间影格则由电脑来计算完成。
当我们为一个模型的动作进行Keyframe设定时,通常会应用到Maya中时间轴的概念。
时间轴上面以影格为单位,上面的每个影格都可以定义成关键影格,举个例子:
假设我们想要让一个立方体在五十个影格的时间内移动五个单位的距离,那么我们只需要设定第一个影格,也就是第一个影格立方体所在的位置为关键影格,并在第五十张影格中将立方体移动至目标位置,并设置第五十张影格同样为关键影格,那么接下来电脑将会自动计算出这个立方体在其他影格中移动的位移,并制作成为一段完整的动画。
同样的概念我们也可以利用到影视后期中,AE的很多动画效果也是这样制作出来的,这个有时间我也会做教程的~
而上述让电脑计算产生画面的过程被称为Interpolations(插补),产生的数值称为Interpolating(插补值)。
刚刚也说过了,实际的动画中,一段剧情有可能包含数百个画面,而每个物体用到数十个关键影格是很正常的,越精致的动作就一定会有越复杂的设定,不过好在不论有多复杂,基本原理都是一样的。
在Maya中,使用关键影格来建立动画的方式称为Keyframe Animation(关键影格动画)。
一般来说,除了模型的变换数值之外,表面格点、灯光、摄影机以及其他场景中定义的参数,都可以用来设置关键影格。
关键影格的设置
在操作之前,我们要先确认Time Slider、Range Slider与Channel Box是开启状态,Main Menubar是在Animation的模式中(不知道从哪里开启请看教程二)如下图。
在场景中建立一个位在世界坐标系原点的NURBS Sphere:
Time Slider左端有一个浅灰色标示着1的方块,这个方块称为CurrentTime Indicator(目前时间指标),1代表目前显示的是第一影格的画面,如图:
只要在Time Slider任意处单击鼠标左键,就可以改变时间指标的位置。但是有时候一段视频比较长,影格比较多,我们又需要精确指定影格的时候,可以从Time Slider右边的输入框中输入影格的数值跳到指定影格位置:
另外,也可以在Time Slider上按住鼠标左键拖动时间指标,以此来改变它的位置。
由于目前并没有对这个Sphere指定任何的动作,所以每一个影格的画面看起来都是一样的。由于每一个模型的动作相对来说都是独立的,并且可以单独进行设定,因此,如果需要设置某一个模型的动作的话,首先应该选定这个模型,再来设定关键影格。
使用Select Tool选取场景中的球体。
选取之后,在Channel Box中可以看到这个模型详细的变换值。也就是Translate、Rotate、Scale的各项数值。最下方则是Visibility可见性:
变换值的部分可以输入相应的单位长度,角度,或者比例。而Visibility则可输入ON或者OFF或者1、0来指定显示与否。这些格子中的每一个数据都是这个模型的Channel。
在设定关键影格的动作之前请确认已经选择了想要设定的模型,将时间指标移动到第一张影格,点选Channel Box中的任意一个Channel,演示中我使用Translate Y这个Channel。
按下鼠标右键并点选Key Selected,这样就可以为你所选择的Channel设置关键影格了:
设置成功以后如图所示,第一影格的时间指示位置会出现一条红色的刻线,代表这一张影格是关键影格。而Channel Box中经过设置的Channel也会变成粉红色的底色,表示这个参数已存在关键影格的设定。
第一步设置好以后,我们来设置第二个关键影格。
将时间指示指标移动到第十张影格上,再将Translate Y数值改为5,接着,再一次在Translate Y这个Channel上点击鼠标右键,点选Key Selected,设置好以后如图:
这个时候再点击1到10之间的任何一个影格,你就会发现这个模型的位移插补值已经计算完成。如此关键影格就设置好了。
接下来再来设置第三个影格。
因为在实际应用中,设置一个模型动作的时候,关键影格会非常多,不会像这个演示一样只有一两个。那么在众多的影格数值都需要设置的情况下,逐一设置将会花费比较多的时间和精力,所以我们可以使用Auto Key Frame(自动设置影格)的功能来提高效率。
这项功能启动方法是:按下Range Slider右方的Auto Key Frame图示:
现在,将时间指标移动至第二十张影格处,将Translate Y的数值改为0:
我们可以看到,在更改数值的同时,的二十张影格处出现了一条红色的刻线,并不需要我们再另外按右键定义它为关键影格。
要注意的是,Auto Key Frame只对已经设置过关键影格的Channel产生作用,如果调整没有粉红底色的Channel数值并不会将它自动设置为关键影格,而是会改变所有影格的数值。
设置完关键影格后,可以使用Time Slider右边的Playback Controls(播放控制器)对自己设置的这段动画进行预览。
如果设置成功的话可以看到这个球体会在原地跳跃。
Maya中的播放动画这个命令,会让这段动画重复不停地播放Time Slider中设置好的所有影格。如果只想要看某一段的动作,可以使用Range Slider的功能。
Range slider中间的长方形部分代表全部动画的长度,其中的浅灰色滑块代表的是目前time slider中显示出来的部分,调整滑块两端的方块,就可以调整这个滑块的大小,改变time slider的显示。
由于目前我们只需要查看前20张影格的内容,因此可以将Range Slider的显示范围缩小,直接用鼠标左键按住上图所示的滑块两端的部分不放并移动鼠标,就可以改变查看范围。
和Time Slider一样,在Range Slider的两端也有输入框,我们同样可以通过输入准确的数值来改变range Slider从而改变time Slider的显示范围。
如果在使用自动影格工具的时候不小心产生了不相关的影格,也可以直接在time Slider上将它删除。删除方法是用鼠标点击想要删除的关键影格,将时间指标移动到想要删除的影格上方,直接按键盘上的delete或者鼠标右键选择delete都可以。
同样的方法我们可以指定不同的channel或者同时指定几个channel数值来制作关键影格,从而完成一部完整的动画。
在制作完一个完整的动作以后,一定要养成随手保存的习惯。
保存快捷键Ctrl+S,或者在Main Menubar中打开File,点击Save Scene并指定路径,并将文件类型指定为Maya Binary,然后按下Save即可保存。
下一次将会使用今天制作的球体动画来调整影格与播放速度关系以及关键影格参数编辑。