第5章动画动画(animation)是运动的艺术,运动是动画的本质。本章先介绍动画的基本原理、发展历史与主要应用,然后讲解传统动画和计算机动画的基本内容。重点放在图形动画的描述语言和计算机动画的制作上,主要介绍VRML、X3D和SVG标准,以及位图动画和OpenGL的编程。5.1概述动画与电影和电视都是利用人的视觉滞留现象所产生的错觉来实现连续运动视觉的。历史上,动画的发明要早于电影和电视。计算机动画在电子和网络游戏、电影特技和动画片制作等方面起着决定性的作用。5.1.1视觉滞留原理电影、电视与动画都是利用人的视觉滞留[残留/暂留](persistenceofvision)现象的原理来工作的。在上一章的眼睛与视觉部分的4.1.2小节已经讲过,由于人眼感光细胞中的生物化学和生物物理学反应、以及视神经和视觉中枢的信号处理都需要一定的时间,所以物体在眼睛的视网膜中成像后,并不会立即消失,而会保留25~200ms(毫秒=1/1000秒),相当于5~40帧/秒。因此,如果快速播放一系列相关的离散画面,就会使人产生连续的运动视觉(幻觉)。下面电影、电视和动画的典型帧率:电影:老片——16帧/秒、普通——24帧/秒、数字——30帧/秒电视:PAL——25帧/秒、NTSC——30帧/秒、HDTV——25或30帧/秒动画:10~100帧/秒虽然动画与电影电视的工作原理相同,但电影和电视主要是用摄影机和摄像机拍摄出来的画面,而动画则是人工或计算机画出来的。5.1.2动画发展简史传统动画1820年英J.Paris:圆盘两面画的旋转设备——thaumatrope(幻影转盘,西洋镜)1831年法J.Plaleau:转盘狭缝——phenakistoscope(转盘活动影像镜,诡盘玩具)多媒体技术与应用教程•2•1834年英W.Horner:转笼——zoetrope(西洋镜,回转画筒)[1839年法:照相术——银版摄影术][1884年P.Nipkow:电视——罗盘旋转扫描器][1891年美T.Edison(爱迪生):活动电影视镜][1895年法L./A.Lumiere兄弟——电影放映机]1906年美J.Blackton:第一部动画片——滑稽的面孔1928年美W.Disney(迪斯尼)第一部商用动画片[1937年英国开始黑白电视广播]可见,动画的发明要早于电影和电视。计算机动画1963年Bell实验室:第一部计算机动画1974年P.Foldes:动画片“饥饿”在戛纳电影节上获奖1991/1993年:终结者II/侏罗纪公园均获奥斯卡最佳视觉特效奖随着计算机硬件设备和三维图形技术的飞速发展,计算机动画,特别是其中的三维模型动画,在动画行业起着越来越重要的作用。5.1.3应用领域传统动画主要用于动画电影的制作,也少量用于电视广告和电化教学等方面。计算机动画则渗透到运动视觉媒体的方方面面,应用领域十分广泛,包括电子/计算机/网络游戏、电影和电视特技、(二维辅助和三维模型)动画片制作、动态广告、模拟器(飞行/汽车)、教育(MCAI多媒体计算机辅助教学)、科研(可视化)等等方面。5.2传统动画传统动画历史悠久,技术已经非常成熟。在现代计算机技术的帮助下,现在仍然充满活力。而且,计算机动画,也是在传统动画的基础上发展起来的,借鉴了很多传统动画的技术和概念。所以,在讨论计算机动画之前,有必要简单介绍一下传统动画的基本内容。本节先引进动画的传统概念及其改进,然后讨论传统动画的制作过程,最后介绍动画的相关术语和常用特技。5.2.1动画的概念动画的英文是animation,基本含义为生气活泼、热情兴奋。其词根anima具有生命,灵魂的意思(派生词animate:活的、有生命的;animal:动物)。下面是动画的若干定义:简单定义:动画是动态生成系列相关画面以产生运动视觉的技术。复杂定义:(传统)动画(片)是一门通过在连续多格的胶片上拍摄的一系列单个第5章动画•3•(绘制)画面,并以一定的速度放映,从而产生运动视觉的技术。定义的修改:(以适应现代[计算机]动画)画面纪录:胶片上→磁盘、磁带、光盘等存储介质;放映设备:银幕→电视、显示器、投影仪等;运动对象:实体运动→颜色、纹理、灯光等的改变。动画片(animation)又叫卡通片(cartoon,[报刊上的政治性]漫画)是利用动画技术制作的动画影片或电视节目。注意,虽然动画与电影电视都是利用系列相关图片来产生运动视觉,但是在上面的动画定义中,都强调动画中的图片帧是人工绘制或计算机生成的[图形]画面(而电影和电视中的图片帧则主要是用摄影机和摄像机拍摄出来的实物影像[图像])。5.2.2动画的制作传统动画的制作过程(参见图5-1)图5-1传统动画的制作过程在传统动画的制作过程中:“设计稿”的制作是最困难的,因为它包括了包括人物、造型、动作、色彩、气氛等等的设计。“测试”中一般使用的是铅笔稿。“后期制作”包括编辑、剪接、对白、配音、字幕等等内容。在动画制作过程中,与电影和电视剧差别最大的一步是“声音节拍”。电影和电视一般都是后期配音或同步录音,而动画则是绘制画面之前,先确定声音和节拍,这主要是为了减少画面的绘制工作量。在电影和电视制作中,往往需要拍摄大量实物影像作为素材,在后期制作中再进行大刀阔斧的裁剪,最后播出的胶片和磁带往往只是全部拍摄内容中的一小部分。而动画中的一幅幅画面,都是技师和画工辛辛苦苦一笔一笔画出来的,耗时费力。一秒剧本故事板设计稿声音节拍关键帧中间画测试描线上墨上色检查拍摄后期制作多媒体技术与应用教程•4•钟的动画需要24到30幅画面,一个半小时(90分钟)长的一部动画片则需要画约13万到16万多张图画,工程浩大。因为动画的画面内容,必须与声音匹配和同步,所以先期确定声音节拍,就是为了在后期制作时,减少裁剪,从而节省画面绘制的工作量,同时也节省了时间和费用。常用动画名词格——一个画面,动画片的最小单位。十分钟的动画(24帧/秒)需14,400格。幅——每个画面通常由若干张[透]明片叠合而成,每张“明片”为一个对象(的某一部分),称之为幅关键帧——动作的极限(主要/转折)位置,通常由老师傅来画小原画——两个关键帧之间的若干小关键帧,由小画师画中间画——两个关键帧之间的若干过渡画面,可由普通画工来画动画特技常用的传统动画特技有:摇转、推拉、翻转、渐显/隐、淡入/出、卷切等。5.3计算机动画5.3.1概念计算机动画(computeranimation)是用计算机生成一系列可供实时演播的连续画面之技术。计算机动画,可以按照所使用技术的高低,分成如下几个等级:图形编辑(叠加、着色、特技)中间画生成(变形)活动对象操纵(位置、属性、算法、运动)角色定义(语义级,术语规定)智能动画(故事动画,可学习和扩充)5.3.2分类可以依据不同特征来对计算机动画进行分类:按计算机所起的作用,可以分为:计算机辅助动画——传统二维动画的补充,利用计算机辅助工作。如填色、叠加、生成中间画、制作特效等,如动画片花木兰和二维游戏;模型动画——三维造型、动作设计、场景渲染等。如动画片玩具总动员和三维第5章动画•5•游戏。按使用技术的等级,可以分为:低级——需人工显示规定每个物体和人物的位置、属性、各种运动参数,如现有动画系统和软件;高级——可用通用术语来规定运动、智能化。正在研制开发。按播放时间,可以分为:逐帧动画——先生成后播放,对硬件性能要求不高。如早期的动画系统和软件;实时动画——边生成边播放,对硬件性能要求较高。如早期的SGI工作站和现在普通的PC机,电子游戏。按控制方法,可以分为:关键帧动画——简单运动学;算法动画——复杂运动学,部分动力学;物理动画——自动控制,动力学(落体、流体、变形、爆炸),随机、分形。按动画的维数,可以分为:2D——简单,平面美术设计。如软件Flash和动画片花木兰;3D——复杂,三维造型、动作设计、透视、消隐、光照、材质、场景渲染等。如软件3DS和动画片玩具总动员。二维动画和三维动画的分类,与辅助动画和模型动画的分类是一致的。按生成的方式,可以分为:矢量——采用图形学的方法生成动画,记录的是图形的各种参数。在演播时,可以实时渲染,也可以先渲染好(称为位图系列)后再播放。如Flash和3DS;位图——动画以位图形式出现,可以是矢量动画渲染后的结果。如GIF动画、fli、avi、mov。按画面的分辨率,可以分为:低——320*240(VCR/VCD级);中——1K*1K(16mm胶片/DVD级);高——2K*2K(35mm胶片级);超——4K*4K(70mm胶片级)。常用的计算机动画分类方法,是辅助/模型或2D/3D动画。5.3.3技术技术基础:计算机图形学、数字图像处理、三维几何造型、真实感图形、物理造型、人体动画等等相关学科:美术、绘画、力学、人体运动学、机器人学、生物学、生理学、心理学、人工智能、计算机科学等等研究内容:形体造型、运动控制与描述、图形绘制、动态模拟、集成环境、关节/人体运动、动画语言系统、硬件接口、特技多媒体技术与应用教程•6•三维图形学三维图形学是三维造型、三维动画和虚拟现实的基础和核心。三维造型:物体表面/三角形、简单物体/自然物体/人体真实感图形:透视、消隐、材质、纹理、光照、渲染3D标准常见的三维图形、动画、以及虚拟现实系统的标准有:国际标准:开放图形库——OpenGL(OpenGraphicsLibrary);虚拟现实建模语言——VRML(VirtualRealityModelingLanguage);可扩展三维——X3D(eXtensible3D,基于XML)。事实标准:直接三维——Direct3D(MicrosoftDirectX的组成部分);爪哇三维——Java3D(Sun领导的JCP)2D标准常见的二维网页图形动画的标准有:国际标准:可伸缩矢量图形——SVG(ScalableVectorGraphics,基于XML);事实标准:闪光——Flash(Macromedia公司的产品)。5.4动画制作的软件、语言和接口动画制作可以分成两类:用户级——使用现成的商用动画制作软件和描述性的动画描述语言,进行复杂的3D造型和简单的动画设计。对使用者要求不高,但是产品的交互性不够、效率也不高。程序员级——使用高级语言和图形动画API,进行简单的3D造型和复杂的动画设计。对程序员要求较高,但是产品的交互性好、效率也很高。这两类方法各有特点,具有一定的互补性,且各有自己不同的主要应用领域。下面列出常见的动画制作软件、描述语言和API。5.4.1动画制作软件常见的动画制作软件有:二维动画位图动画(GIF)台湾友立公司的UleadGIFAnimator微软公司早期的MicrosoftGIFAnimator第5章动画•7•Liatrosoft公司的BabarosaGifAnimatorgamaniproductions公司的GIFMovieGearRighttoLeftSoftware公司的AnimagicGIFAnimator矢量动画(Web)Macromedia公司的Web二维矢量动画软件MacromediaFlashMXDJJHoldings公司的Swish三维动画台湾友立公司的三维文字制作软件UleadCool3DAutodesk公司之多媒体子公司Discreet的三维造型与动画软件Discreet3dsmaxAlias|Wavefront公司的三维动画软件MayaAmabilisSoftware公司的自由三维动画软件3DCanvas5.4.2动画描述语言动画描述(标记)语言主要有如下三种基于Web网(,World-Wide-Web万维网)的国际标准:三维图形动画和虚拟现实的Web3D标准VRML(VirtualRealityModelingLanguage虚拟现实建模语言)