1、第第6 章章 计算机动画技术及应用计算机动画技术及应用 6.1 动画概述动画概述 6.2 计算机动画运动的控制和生成计算机动画运动的控制和生成 6.3 二维动画制作二维动画制作 6.4 三维动画制作三维动画制作 6.5 动画脚本语言动画脚本语言 6.6 数字动画创意与设计数字动画创意与设计返回6.1 动画概述动画概述动画,从字面意思来看是活动的图画,而从更深的角度来看,它是一动画,从字面意思来看是活动的图画,而从更深的角度来看,它是一种活动的、被赋予生命的图画。动画的应用范围广泛,除了作为电影种活动的、被赋予生命的图画。动画的应用范围广泛,除了作为电影的一种类型之外,还可用在电影特技制作、科学
2、教育、产品形象介绍的一种类型之外,还可用在电影特技制作、科学教育、产品形象介绍、游戏、远程教育、网页等。、游戏、远程教育、网页等。动画是艺术,同时也是技术。动画是艺术,同时也是技术。动画是基于人的视觉暂留原理创建的一系列静止图像。动画是基于人的视觉暂留原理创建的一系列静止图像。6.1.1 计算机动画的概念和分类计算机动画的概念和分类计算机动画是现代计算机图形技术高度发展所产生的一种动画形式。计算机动画是现代计算机图形技术高度发展所产生的一种动画形式。下一页返回6.1 动画概述动画概述在制作过程中,计算机动画将计算机作为制作工具,利用计算机技术在制作过程中,计算机动画将计算机作为制作工具,利用计
3、算机技术生成一系列可供实时播放的连续动态图像。计算机既可以制作二维平生成一系列可供实时播放的连续动态图像。计算机既可以制作二维平面动画,也可以生成三维立体动画效果。面动画,也可以生成三维立体动画效果。计算机动画根据不同分类依据有不同的分类方法。计算机动画根据不同分类依据有不同的分类方法。从美术设计视角来看,计算机动画有写实类动画,如美国动画片从美术设计视角来看,计算机动画有写实类动画,如美国动画片人人猿泰山猿泰山、日本动画片、日本动画片灌篮高手灌篮高手;写意类动画,如日本动画片;写意类动画,如日本动画片机器猫机器猫;抽象类动画(或称为超现实类动画),如动画片;抽象类动画(或称为超现实类动画),
4、如动画片钢丝恶钢丝恶作剧作剧。根据视听语言划分,计算机动画可以分为镜头语言表现风格和声音效根据视听语言划分,计算机动画可以分为镜头语言表现风格和声音效果表现风格两类。果表现风格两类。上一页 下一页返回6.1 动画概述动画概述根据创作题材划分,计算机动画可以分为艺术动画、娱乐动画、科教根据创作题材划分,计算机动画可以分为艺术动画、娱乐动画、科教动画和商业动画。动画和商业动画。根据传播途径划分,计算机动画可以分为最初的影院动画片、后来的根据传播途径划分,计算机动画可以分为最初的影院动画片、后来的电视动画、大众化的网络动画,目前最为时尚的当属手机动画。电视动画、大众化的网络动画,目前最为时尚的当属手
5、机动画。根据技术应用分类,计算机动画主要可以分为二维动画和三维动画。根据技术应用分类,计算机动画主要可以分为二维动画和三维动画。6.1.2 计算机动画的制作过程计算机动画的制作过程动画片的生产过程分为以下几个环节。动画片的生产过程分为以下几个环节。1.文学剧本文学剧本上一页 下一页返回6.1 动画概述动画概述文学剧本就是文字叙述的故事,它如同故事片一样,主要包括人物对文学剧本就是文字叙述的故事,它如同故事片一样,主要包括人物对白、动作和场景的描述。文学剧本中,人物对白要准确地表现角色个白、动作和场景的描述。文学剧本中,人物对白要准确地表现角色个性,动作的趋势和力度要生动、形象,人物出场顺序、位
6、置环境、服性,动作的趋势和力度要生动、形象,人物出场顺序、位置环境、服装、道具、建筑等都要写清楚,只有这样,脚本画家才能够进行更生装、道具、建筑等都要写清楚,只有这样,脚本画家才能够进行更生动的动画创作。通常,动画片叙述的故事要具有卡通特色,比如幽默动的动画创作。通常,动画片叙述的故事要具有卡通特色,比如幽默、夸张等,如果再有一些感人情节,就会更受大家的欢迎。、夸张等,如果再有一些感人情节,就会更受大家的欢迎。2.造型设计造型设计造型设计就是由设计者根据文学剧本,对人物和其他角色进行造型设造型设计就是由设计者根据文学剧本,对人物和其他角色进行造型设计,并绘制出每个人物或角色不同角度的形态,以供
7、其他工序的制作计,并绘制出每个人物或角色不同角度的形态,以供其他工序的制作人员参考。人员参考。上一页 下一页返回6.1 动画概述动画概述此外,设计者还要画出它们之间的高矮比例、各种角度的样子、脸部此外,设计者还要画出它们之间的高矮比例、各种角度的样子、脸部的表情、使用的道具等。在设计造型时,主角、配角等演员在服装、的表情、使用的道具等。在设计造型时,主角、配角等演员在服装、颜色、五官等方面要有很明显的差异,服装和人物个性要配合,造型颜色、五官等方面要有很明显的差异,服装和人物个性要配合,造型与美术风格要配合。考虑到其他工序的制作人员可能会有困难,造型与美术风格要配合。考虑到其他工序的制作人员可
8、能会有困难,造型不可太复杂、琐碎。不可太复杂、琐碎。3.故事脚本故事脚本在文学剧本完成后,要绘制故事脚本。故事脚本就是反映动画片大致在文学剧本完成后,要绘制故事脚本。故事脚本就是反映动画片大致概貌的分镜头剧本,也称为故事板(概貌的分镜头剧本,也称为故事板(Storyboard)。它并不是真正)。它并不是真正的动画图稿,而是类似连环画的画面,将剧本描述的内容以一组画面的动画图稿,而是类似连环画的画面,将剧本描述的内容以一组画面表达出来,详细地画出每一个镜头出现的人物、地点、摄影角度、对表达出来,详细地画出每一个镜头出现的人物、地点、摄影角度、对白内容、画面的时间、所做的动作等。白内容、画面的时间
9、、所做的动作等。上一页 下一页返回6.1 动画概述动画概述4.背景背景背景是根据故事的情节需要和风格来绘制的,在绘制背景过程中,要背景是根据故事的情节需要和风格来绘制的,在绘制背景过程中,要标出人物组合的位置、白天或夜晚,家具、饰物、地板、墙壁、天花标出人物组合的位置、白天或夜晚,家具、饰物、地板、墙壁、天花板等背景的结构都要清楚,使用多大的画面(安全框)、镜头推拉等板等背景的结构都要清楚,使用多大的画面(安全框)、镜头推拉等也要标示出来,以便人物可以自由地在背景中运动。也要标示出来,以便人物可以自由地在背景中运动。5.声音录制声音录制在动画制作时,动作必须与声音相匹配,所以声音录制需要在动画
10、制在动画制作时,动作必须与声音相匹配,所以声音录制需要在动画制作之前进行。作之前进行。上一页 下一页返回6.1 动画概述动画概述当录音完成后,编辑人员还要将记录的声音准确地分解到每一幅画面当录音完成后,编辑人员还要将记录的声音准确地分解到每一幅画面的位置上,即第几秒(或者第几幅画面)开始对白、对白持续多久等,的位置上,即第几秒(或者第几幅画面)开始对白、对白持续多久等,最后要把音轨分配到每一幅画面位置与声音对应的条表,供动画制作最后要把音轨分配到每一幅画面位置与声音对应的条表,供动画制作人员参考。人员参考。6.原画原画原画是动画系列中的关键画面,也叫关键帧。这些画面通常是某个角原画是动画系列中
11、的关键画面,也叫关键帧。这些画面通常是某个角色的关键帧形象和运动的极限位置,由经验丰富的动画设计者完成。色的关键帧形象和运动的极限位置,由经验丰富的动画设计者完成。创作原画时要将卡通人物的七情六欲和性格表现出来,但不需要把每创作原画时要将卡通人物的七情六欲和性格表现出来,但不需要把每一张图都画出来,只需画出关键帧就可以。原画绘制完成后交由动画一张图都画出来,只需画出关键帧就可以。原画绘制完成后交由动画师,动画师据此制作一连串精彩的动作。师,动画师据此制作一连串精彩的动作。上一页 下一页返回6.1 动画概述动画概述7.中间画中间画中间画是位于两个关键帧之间的画面。相对于原画而言,中间画也叫中间画
12、是位于两个关键帧之间的画面。相对于原画而言,中间画也叫作动画,它由辅助的动画设计者及其助手完成。这些画面根据角色的作动画,它由辅助的动画设计者及其助手完成。这些画面根据角色的视线、动作方向、夸张、速度、人物透视、人体力学、运动的距离、视线、动作方向、夸张、速度、人物透视、人体力学、运动的距离、推拉镜头的速度与距离,将间断的动作连缀起来,使其显得自然流畅推拉镜头的速度与距离,将间断的动作连缀起来,使其显得自然流畅。这是给平面人物赋予生命与个性的关键环节。这是给平面人物赋予生命与个性的关键环节。8.测试测试为了初步测定造型和动作,可将原画和中间画输入动画测试台进行测为了初步测定造型和动作,可将原画
13、和中间画输入动画测试台进行测试,检查画面是否变形,动作是否流畅,原画的原意是否正确地传达试,检查画面是否变形,动作是否流畅,原画的原意是否正确地传达,然后再请导演做最后审核。,然后再请导演做最后审核。上一页 下一页返回6.1 动画概述动画概述9.上色上色动画片通常都是彩色的,因此要用计算机技术给图画着色。动画片通常都是彩色的,因此要用计算机技术给图画着色。10.检查检查检查是动画合成的重要步骤。在每个镜头的每幅画面全部着色之后,检查是动画合成的重要步骤。在每个镜头的每幅画面全部着色之后,在开始编辑之前,动画设计师需要对每一场景的每个动作进行详细的在开始编辑之前,动画设计师需要对每一场景的每个动
14、作进行详细的检查。检查。11.画面编辑画面编辑编辑过程主要完成动画各片段的连接、排序和剪辑。编辑过程主要完成动画各片段的连接、排序和剪辑。12.后期制作后期制作上一页 下一页返回6.1 动画概述动画概述编辑完成之后,编辑人员和导演开始选择音响效果以配合动画的动作编辑完成之后,编辑人员和导演开始选择音响效果以配合动画的动作。在所有音响效果已选定并能很好地与动作同步之后,编辑人员和导。在所有音响效果已选定并能很好地与动作同步之后,编辑人员和导演一起对音乐进行复制,再把声音、对话、音乐、音响都混合到一个演一起对音乐进行复制,再把声音、对话、音乐、音响都混合到一个声道上。另外,字幕等后期制作工序也都是
15、必不可少的。声道上。另外,字幕等后期制作工序也都是必不可少的。6.1.3 计算机动画及其优势计算机动画及其优势计算机动画是指采用图形与图像的处理技术,借助于编程或动画制作计算机动画是指采用图形与图像的处理技术,借助于编程或动画制作软件生成一系列的景物画面,其中当前帧是前一帧的部分修改。它采软件生成一系列的景物画面,其中当前帧是前一帧的部分修改。它采用连续播放静止图像的方法来产生物体运动的效果。使用动画可以清用连续播放静止图像的方法来产生物体运动的效果。使用动画可以清楚地表现出一个事件的过程,或是展现一个活灵活现的画面。楚地表现出一个事件的过程,或是展现一个活灵活现的画面。上一页 下一页返回6.
16、1 动画概述动画概述其关键技术体现在计算机动画制作软件及硬件上。其关键技术体现在计算机动画制作软件及硬件上。相对于手工传统动画,计算机动画有很多优势:相对于手工传统动画,计算机动画有很多优势:更灵活简单。更灵活简单。更容易控制。更容易控制。更逼真。更逼真。总体来说,在媒体技术发达的今天,计算机动画有着传统手工制作的总体来说,在媒体技术发达的今天,计算机动画有着传统手工制作的动画无法比拟的优势。实时地预览即时的动画效果、补间动画的智能动画无法比拟的优势。实时地预览即时的动画效果、补间动画的智能生成以及一些特殊的运动等,都是传统动画所不能实现的。生成以及一些特殊的运动等,都是传统动画所不能实现的。
17、上一页返回6.2 计算机动画运动的控制和生成计算机动画运动的控制和生成运动表现是动画制作的核心。运动表现是动画制作的核心。6.2.1 关键帧技术关键帧技术在传统动画制作中,动画师常常采用关键帧(在传统动画制作中,动画师常常采用关键帧(Key Frame)技术来设)技术来设计角色的运动过程,出现在动画片中的一段连续的动作实际上是通过计角色的运动过程,出现在动画片中的一段连续的动作实际上是通过一系列的静态画面来表现的。如果把这一系列画面逐帧绘制出来,会一系列的静态画面来表现的。如果把这一系列画面逐帧绘制出来,会耗费大量的时间和人工。于是,动画师从这一段连续动作的画面中选耗费大量的时间和人工。于是,
18、动画师从这一段连续动作的画面中选出少数几帧画面,这几帧画面一般都选在对动作变化影响较大的动作出少数几帧画面,这几帧画面一般都选在对动作变化影响较大的动作转折点处,它们对这些连续动作起着关键的控制作用,这就是所谓的转折点处,它们对这些连续动作起着关键的控制作用,这就是所谓的“关键帧关键帧”。下一页返回6.2 计算机动画运动的控制和生成计算机动画运动的控制和生成使用关键帧技术创建的动画称为关键帧动画。在关键帧中创建图形,使用关键帧技术创建的动画称为关键帧动画。在关键帧中创建图形,播放动画时,随着时间推移依次逐帧播放图像,视觉残留现象使人们播放动画时,随着时间推移依次逐帧播放图像,视觉残留现象使人们
19、认为看到了连续的画面,这就是逐帧动画的原理。认为看到了连续的画面,这就是逐帧动画的原理。在在Flash 软件中制作逐帧动画时,首先创建多个关键帧,然后再依次软件中制作逐帧动画时,首先创建多个关键帧,然后再依次将图形放置在图层的每个关键帧中,播放动画时就可以看见将图形放置在图层的每个关键帧中,播放动画时就可以看见“花儿花儿”从幼苗到开放的过程。虽然这个过程非常短暂(比现实要快数百倍)从幼苗到开放的过程。虽然这个过程非常短暂(比现实要快数百倍),但是,人们还是能够通过每帧中的图形感受到是,但是,人们还是能够通过每帧中的图形感受到是“花儿花儿”是如何开是如何开放的,放的,如图如图6-1 所示。所示。
20、6.2.2 过程动画过程动画过程动画是指用过程来描述动画物体的运动或变形。过程动画是指用过程来描述动画物体的运动或变形。上一页 下一页返回6.2 计算机动画运动的控制和生成计算机动画运动的控制和生成在动画中,物体形变由动画师控制。制作过程中,物体基于一定的数在动画中,物体形变由动画师控制。制作过程中,物体基于一定的数学模型或物理规律变形。简单的过程动画是用一个数学模型去控制物学模型或物理规律变形。简单的过程动画是用一个数学模型去控制物体的几何形状和运动,比如水波随风运动;较复杂的过程动画包括物体的几何形状和运动,比如水波随风运动;较复杂的过程动画包括物体变形、弹性理论、动力学、碰撞检测等;另外
21、一类过程动画包括粒体变形、弹性理论、动力学、碰撞检测等;另外一类过程动画包括粒子动画和群体动画。子动画和群体动画。以下将从粒子系统、群体运动、布料动画、水波模拟四方面阐述过程以下将从粒子系统、群体运动、布料动画、水波模拟四方面阐述过程动画。动画。1.粒子系统粒子系统动画剧本不仅可以控制粒子的位置和速度,而且可以控制粒子的外形动画剧本不仅可以控制粒子的位置和速度,而且可以控制粒子的外形参数,如颜色、大小、透明度等属性。参数,如颜色、大小、透明度等属性。上一页 下一页返回6.2 计算机动画运动的控制和生成计算机动画运动的控制和生成粒子系统是一个有粒子系统是一个有“生命生命”的系统,它充分体现了不规
22、则物体的动态的系统,它充分体现了不规则物体的动态性和随机性,由此产生了一系列运动画面,这使得模拟动态自然景色性和随机性,由此产生了一系列运动画面,这使得模拟动态自然景色,如火、云、水等成为可能。,如火、云、水等成为可能。粒子系统的一个主要优点是数据库放大功能。粒子系统可以模拟由风粒子系统的一个主要优点是数据库放大功能。粒子系统可以模拟由风引起的泡沫或溅水动画,还能够模拟自然界中的闪电。引起的泡沫或溅水动画,还能够模拟自然界中的闪电。例如,例如,图图6-2 所示所示就是由粒子系统模拟的自然景观。就是由粒子系统模拟的自然景观。2.群体动画群体动画生物界中的许多动物,如鸟、鱼等以某种群体方式运动。这
23、种运动既生物界中的许多动物,如鸟、鱼等以某种群体方式运动。这种运动既有随机性,又有一定的规律性。有随机性,又有一定的规律性。Reynolds提出的群体动画成功地解提出的群体动画成功地解决了这一问题。决了这一问题。上一页 下一页返回6.2 计算机动画运动的控制和生成计算机动画运动的控制和生成Reynolds 指出,群体的行为包含两个对立因素:既要相互靠近,又指出,群体的行为包含两个对立因素:既要相互靠近,又要避免碰撞。他用要避免碰撞。他用3 条按优先级递减的原则来控制群体的行为:碰撞条按优先级递减的原则来控制群体的行为:碰撞避免原则,即避免与相邻的群体成员相碰;速度匹配原则,即尽量匹避免原则,即
24、避免与相邻的群体成员相碰;速度匹配原则,即尽量匹配相邻群体成员的速度;群体合群原则,即群体成员尽量靠近。配相邻群体成员的速度;群体合群原则,即群体成员尽量靠近。3.布料动画布料动画布料动画不仅包括人体的衣服动画,还包括旗帜、窗帘、桌布等动画布料动画不仅包括人体的衣服动画,还包括旗帜、窗帘、桌布等动画效果,效果,如图如图6-3 所示所示。布料动画的一个特殊应用领域是时装设计,它。布料动画的一个特殊应用领域是时装设计,它将改变传统的服装设计过程,让人们在衣服做好之前就可看到服装式将改变传统的服装设计过程,让人们在衣服做好之前就可看到服装式样和试穿后的形态。样和试穿后的形态。4.水波模拟水波模拟上一
25、页 下一页返回6.2 计算机动画运动的控制和生成计算机动画运动的控制和生成水波是动画设计时经常需要模拟的效果,水波是动画设计时经常需要模拟的效果,如图如图6-4 所示所示。要模拟这种。要模拟这种效果,一个简单而有效的方法是使用正弦波,动画效果可通过对诸如效果,一个简单而有效的方法是使用正弦波,动画效果可通过对诸如振幅、相位等参数的设置来实现。振幅、相位等参数的设置来实现。Schachter 用余弦函数调制平面颜用余弦函数调制平面颜色,并且用于飞行模拟。水波可以用平行波色,并且用于飞行模拟。水波可以用平行波一种三维空间的正弦一种三维空间的正弦波状曲面来造型。波状曲面来造型。6.2.3 变形技术变
26、形技术计算机动画运动控制变形技术是非常重要的动画理论。在自由格式变计算机动画运动控制变形技术是非常重要的动画理论。在自由格式变形的研究方面,形的研究方面,Vince、Parry、Sederberg 和和Coquillart 等人做出等人做出了重要的贡献。了重要的贡献。上一页 下一页返回6.2 计算机动画运动的控制和生成计算机动画运动的控制和生成1986 年,年,Sederberg 与与Parry 合作,在合作,在SIGGRAPH86 上发表了他上发表了他们的著名论文,他们在文章中提出了一种与物体表示无关的、非常实们的著名论文,他们在文章中提出了一种与物体表示无关的、非常实用的变形方法,即用的变
27、形方法,即Free-Form-Deformation(FFD)。这种方法适用)。这种方法适用面广,可以说是在同类变形方法中最好、最实用的方法。面广,可以说是在同类变形方法中最好、最实用的方法。FFD 方法提出之后,立即得到软件开发者的关注,并且在很短时间方法提出之后,立即得到软件开发者的关注,并且在很短时间内应用到商业软件中,成为一种非常重要的动画工具。对于计算机动内应用到商业软件中,成为一种非常重要的动画工具。对于计算机动画师来说,画师来说,FFD 方法已经成为他们最常使用的基本工具。应用方法已经成为他们最常使用的基本工具。应用FFD 方法变形时,被变形的物体首先以某种方式嵌入一个参数空间,
28、实际方法变形时,被变形的物体首先以某种方式嵌入一个参数空间,实际操作要兼顾计算量和可控性两方面。操作要兼顾计算量和可控性两方面。上一页 下一页返回6.2 计算机动画运动的控制和生成计算机动画运动的控制和生成随着图形工作站硬件的飞速发展,现在计算机已经可以实时地显示物随着图形工作站硬件的飞速发展,现在计算机已经可以实时地显示物体变形,这样进一步激励计算机动画师们去创造更加精彩和激动人心体变形,这样进一步激励计算机动画师们去创造更加精彩和激动人心的动画作品。的动画作品。6.2.4 基于物理模型的动画技术基于物理模型的动画技术基于物理模型的动画是基于物理模型的动画是20 世纪世纪80 年代后期发展起
29、来的一种计算机动年代后期发展起来的一种计算机动画技术,经过多年的发展,它已经成为一种在图形学中具有潜在优势画技术,经过多年的发展,它已经成为一种在图形学中具有潜在优势的三维造型和运动模拟技术。的三维造型和运动模拟技术。1.关键帧动画与基于物理的动画关键帧动画与基于物理的动画上一页 下一页返回6.2 计算机动画运动的控制和生成计算机动画运动的控制和生成传统动画技术要求预先描述物体在某一时刻的瞬时几何位置、方向和传统动画技术要求预先描述物体在某一时刻的瞬时几何位置、方向和形状,物体的运动往往通过前面介绍的关键帧技术来完成。要模拟一形状,物体的运动往往通过前面介绍的关键帧技术来完成。要模拟一个逼真的
30、自然运动,需要动画设计者细致、耐心地调整,要求设计者个逼真的自然运动,需要动画设计者细致、耐心地调整,要求设计者依赖对真实世界的直观感觉来设计物体在场景中的运动。依赖对真实世界的直观感觉来设计物体在场景中的运动。由于客观世界中真实物体的运动往往非常复杂,因此,采用传统动画由于客观世界中真实物体的运动往往非常复杂,因此,采用传统动画设计技术一般难以生成令人满意的运动。今天,许多动画师不得不采设计技术一般难以生成令人满意的运动。今天,许多动画师不得不采用一些特殊软件来模拟物体运动。基于物理模型的动画技术考虑了物用一些特殊软件来模拟物体运动。基于物理模型的动画技术考虑了物体在真实世界中的属性,例如质
31、量、转动惯矩、弹性、摩擦力等,并体在真实世界中的属性,例如质量、转动惯矩、弹性、摩擦力等,并且采用了动力学原理来自动产生物体的运动效果。且采用了动力学原理来自动产生物体的运动效果。上一页 下一页返回6.2 计算机动画运动的控制和生成计算机动画运动的控制和生成场景中的物体受到外力作用时,牛顿力学标准动力学方程可以用来自场景中的物体受到外力作用时,牛顿力学标准动力学方程可以用来自动生成物体在各个时间点上的位置、方向及其形状。此时,计算机动动生成物体在各个时间点上的位置、方向及其形状。此时,计算机动画设计者不必关心物体运动过程中的细节,只需要确定物体运动所需画设计者不必关心物体运动过程中的细节,只需
32、要确定物体运动所需的物理属性及约束关系,如质量、外力等。的物理属性及约束关系,如质量、外力等。2.刚体运动模拟刚体运动模拟最近几年,已有许多研究者对动力学方程在计算机动画中的应用进行最近几年,已有许多研究者对动力学方程在计算机动画中的应用进行深入而广泛的研究,提出了许多有效的运动生成方法。总体来说,这深入而广泛的研究,提出了许多有效的运动生成方法。总体来说,这些方法大致分为三类,即刚体运动模拟、塑性物体变形运动以及流体些方法大致分为三类,即刚体运动模拟、塑性物体变形运动以及流体运动模拟。运动模拟。上一页 下一页返回6.2 计算机动画运动的控制和生成计算机动画运动的控制和生成在刚体运动模拟方面,
33、研究重点集中在采用牛顿动力学方程模拟刚体在刚体运动模拟方面,研究重点集中在采用牛顿动力学方程模拟刚体系统运动。由于真实的刚体运动中任意两个刚体不会相互贯穿,因而系统运动。由于真实的刚体运动中任意两个刚体不会相互贯穿,因而在运动过程模拟时,必须进行碰撞检测,并对碰撞后的物体运动响应在运动过程模拟时,必须进行碰撞检测,并对碰撞后的物体运动响应进行处理。进行处理。3.碰撞检测和响应碰撞检测和响应碰撞检测在机器人领域曾得到过广泛的研究。碰撞检测在机器人领域曾得到过广泛的研究。Hahn 采用层次包围盒采用层次包围盒技术来加速多面体场景的碰撞检测,而技术来加速多面体场景的碰撞检测,而Moore 和和Wil
34、helms 则提出两则提出两个有效的碰撞检测算法,一个用来处理三角剖分过的物体表面,另一个有效的碰撞检测算法,一个用来处理三角剖分过的物体表面,另一个用来处理多面体环境的碰撞检测。由于任一物体表面均可表示成一个用来处理多面体环境的碰撞检测。由于任一物体表面均可表示成一系列三角面片,因而该碰撞检测算法具有普遍性。系列三角面片,因而该碰撞检测算法具有普遍性。上一页 下一页返回6.2 计算机动画运动的控制和生成计算机动画运动的控制和生成Moore 和和Wilhelms 算法的基本思想是利用一个运动刚体上的各顶点算法的基本思想是利用一个运动刚体上的各顶点的运动轨迹与另一运动或静止刚体上的每一个三角面片
35、进行求交测试的运动轨迹与另一运动或静止刚体上的每一个三角面片进行求交测试。若存在有效交点,则说明两刚体在该时间段将碰撞,否则将不相碰。若存在有效交点,则说明两刚体在该时间段将碰撞,否则将不相碰。为提高算法的计算效率,为提高算法的计算效率,Moore 和和Wilhelms 根据运动刚体各顶点位根据运动刚体各顶点位置建立空间八叉树。对要测试的另一刚体的每一个三角片,由其运动置建立空间八叉树。对要测试的另一刚体的每一个三角片,由其运动前后的位置建立包围盒,并用运动速度最快点所走过的距离扩展该包前后的位置建立包围盒,并用运动速度最快点所走过的距离扩展该包围盒。用该包围盒对八叉树进行递归测试,若某一点落
36、在包围盒内,围盒。用该包围盒对八叉树进行递归测试,若某一点落在包围盒内,则进行细致的判别,否则予以拒绝。则进行细致的判别,否则予以拒绝。上一页 下一页返回6.2 计算机动画运动的控制和生成计算机动画运动的控制和生成4.塑性物体变形运动塑性物体变形运动在真实物理世界中,许多物体并非完全是刚体,它们在运动过程中会在真实物理世界中,许多物体并非完全是刚体,它们在运动过程中会产生一定的形变,即所谓的柔性物体。传统的表面变形均是基于几何产生一定的形变,即所谓的柔性物体。传统的表面变形均是基于几何的,其形变状态完全由人为给定,因而变形过程缺乏真实性。的,其形变状态完全由人为给定,因而变形过程缺乏真实性。1
37、986 年,年,Weil 首次讨论了基于物理模型柔性物体变形问题,当时仅首次讨论了基于物理模型柔性物体变形问题,当时仅仅是用来模拟布料悬挂在钉子上的形态。之后,仅是用来模拟布料悬挂在钉子上的形态。之后,Feynman 提出了一提出了一个更完善的布料悬挂模型。个更完善的布料悬挂模型。Miller 用质点用质点-弹簧系统模拟了蛇和虫子等无腿动物的蠕动动画。他弹簧系统模拟了蛇和虫子等无腿动物的蠕动动画。他用弹簧的收缩来模拟肌肉的收缩,并考虑了动力学模型中的方向摩擦用弹簧的收缩来模拟肌肉的收缩,并考虑了动力学模型中的方向摩擦。上一页 下一页返回6.2 计算机动画运动的控制和生成计算机动画运动的控制和生
38、成由于高度逼真性,他制作的蛇和虫子的动画引起了很大反响。由于高度逼真性,他制作的蛇和虫子的动画引起了很大反响。5.自然景物的模拟自然景物的模拟对于自然景物动画模拟,随机方法非常有效。对于自然景物动画模拟,随机方法非常有效。Shinya 基于随机过程基于随机过程和物理学原理提出了一个自然景物在风影响下的随机运动模型。该模和物理学原理提出了一个自然景物在风影响下的随机运动模型。该模型包括三个部分:风模型、动力学模型和变形模型。型包括三个部分:风模型、动力学模型和变形模型。该模型的优点在于它应用于树、草、叶子等自然景物随风飘动的动画该模型的优点在于它应用于树、草、叶子等自然景物随风飘动的动画的一般性
39、和一致性。的一般性和一致性。Stam 采用水平对流扩散方程,模拟了火、烟等气体现象。采用水平对流扩散方程,模拟了火、烟等气体现象。Dobashi 等人基于细胞自动机来简化云彩的动态演化,提出了一个模拟云彩动等人基于细胞自动机来简化云彩的动态演化,提出了一个模拟云彩动画的简单计算模型。画的简单计算模型。上一页 下一页返回6.2 计算机动画运动的控制和生成计算机动画运动的控制和生成用该方法生成的云彩不仅真实感强,而且能实现地面投射阴影。用该方法生成的云彩不仅真实感强,而且能实现地面投射阴影。Fearing 提出了下雪现象的模拟方法,其中积聚模型决定一个表面能提出了下雪现象的模拟方法,其中积聚模型决
40、定一个表面能接收到多少雪,而稳定性模型则根据表面性质把表面的雪进行重新分接收到多少雪,而稳定性模型则根据表面性质把表面的雪进行重新分布。布。6.破裂爆炸模拟破裂爆炸模拟玻璃和陶瓷类物体的破裂模拟是动画中的复杂问题,玻璃和陶瓷类物体的破裂模拟是动画中的复杂问题,Norton 等人提等人提出了基于物理的破裂动画模拟方法。他们采用三维质点网表示物体动出了基于物理的破裂动画模拟方法。他们采用三维质点网表示物体动力学结构,质点间用弹簧连接,并考虑碎片间的碰撞检测和响应。通力学结构,质点间用弹簧连接,并考虑碎片间的碰撞检测和响应。通过计算有限元模型的压力张量,模拟物体在三维体内的破裂和传播,过计算有限元模
41、型的压力张量,模拟物体在三维体内的破裂和传播,该模型能判断在何处破裂及破裂的传播方式。该模型能判断在何处破裂及破裂的传播方式。上一页 下一页返回6.2 计算机动画运动的控制和生成计算机动画运动的控制和生成7.流体运动模拟流体运动模拟一般从流体力学中选取适当的流体运动微分方程,然后将其适当简化一般从流体力学中选取适当的流体运动微分方程,然后将其适当简化,再通过数值求解获得各个时刻流体的形状和位置。现在已有许多模,再通过数值求解获得各个时刻流体的形状和位置。现在已有许多模拟水流、波浪、瀑布、喷泉、溅水、船迹、气体等流体效果的模型,拟水流、波浪、瀑布、喷泉、溅水、船迹、气体等流体效果的模型,其中,很
42、多模型采用基于元球造型和基于散射绘制的方法。其中,很多模型采用基于元球造型和基于散射绘制的方法。6.2.5 位移动画位移动画位移动画提供了一种简单而实用的动画制作方法,它通过在物体表面位移动画提供了一种简单而实用的动画制作方法,它通过在物体表面的定点上设置向量的办法来实现动画。该向量定义了与之相关的定点的定点上设置向量的办法来实现动画。该向量定义了与之相关的定点运动路径,运动路径,如图如图6-5 所示。所示。上一页 下一页返回6.2 计算机动画运动的控制和生成计算机动画运动的控制和生成这个路径参数可以由用户给出,也可以由曲面上的两个中间位置生成这个路径参数可以由用户给出,也可以由曲面上的两个中
43、间位置生成。这个路径向量是两个或者多个位移的。这个路径向量是两个或者多个位移的“和向量和向量”。6.2.6 运动学和反运动学模拟运动学和反运动学模拟动画设计时,当出现一组关联影响对象协同运动时,将涉及正向运动动画设计时,当出现一组关联影响对象协同运动时,将涉及正向运动和反向运动。正向运动与反向运动的概念虽存在较大差异,但都是为和反向运动。正向运动与反向运动的概念虽存在较大差异,但都是为了有效地给物体设置和谐而有序的动作。物体之间,特别是物体局部了有效地给物体设置和谐而有序的动作。物体之间,特别是物体局部与主体之间做相互关联动作时,对象之间的连接方式及组成结构对运与主体之间做相互关联动作时,对象
44、之间的连接方式及组成结构对运动结果影响很大。动结果影响很大。上一页 下一页返回6.2 计算机动画运动的控制和生成计算机动画运动的控制和生成正向运动是子物体跟随父物体的运动规律,即在正向运动时,子物体正向运动是子物体跟随父物体的运动规律,即在正向运动时,子物体的运动跟随父物体的运动,而子物体按自己的方式运动时,父物体不的运动跟随父物体的运动,而子物体按自己的方式运动时,父物体不受影响。受影响。正向运动中父物体运动影响子物体的运动,而逆向运动中子物体运动正向运动中父物体运动影响子物体的运动,而逆向运动中子物体运动影响父物体运动。下面以创建的一个机械手为例,演示父、子物体层影响父物体运动。下面以创建
45、的一个机械手为例,演示父、子物体层次连接后的正向运动,次连接后的正向运动,如图如图6-6 所示所示。机械手的逻辑关系是:当底座移动时,其他物体都跟随运动;垂直长机械手的逻辑关系是:当底座移动时,其他物体都跟随运动;垂直长轴运动时,除底座保持不动外,其他连到垂直长轴上的物体都跟着运轴运动时,除底座保持不动外,其他连到垂直长轴上的物体都跟着运动。动。上一页 下一页返回6.2 计算机动画运动的控制和生成计算机动画运动的控制和生成反向运动与正向运动刚好相反,它是父物体跟随子物体运动的系统。反向运动与正向运动刚好相反,它是父物体跟随子物体运动的系统。3D Studio Max 拥有一套完善的三维空间反向
46、运动系统(拥有一套完善的三维空间反向运动系统(Three-Dimensions Inverse Kinematics,IK),使用),使用IK 系统,只需移系统,只需移动层次连接中的单一物体,便可使整个物体出现复杂的层级运动。动层次连接中的单一物体,便可使整个物体出现复杂的层级运动。IK 在设计制作复杂的人物、动物或机械运动时,体现出不可替代的在设计制作复杂的人物、动物或机械运动时,体现出不可替代的优势。优势。和正向运动相比较,和正向运动相比较,IK 系统要花一定时间用于参数设置工作,同时系统要花一定时间用于参数设置工作,同时需要用到物理学、数学方面的知识及丰富而敏锐的想象力和观察力。需要用到
47、物理学、数学方面的知识及丰富而敏锐的想象力和观察力。上一页 下一页返回6.2 计算机动画运动的控制和生成计算机动画运动的控制和生成如果经验丰富且善于联想,动画设计者能够很快制作一个生动而逼真如果经验丰富且善于联想,动画设计者能够很快制作一个生动而逼真的三维人物行走动画。具体步骤是先拨动人物活动关节,再摆出所需的三维人物行走动画。具体步骤是先拨动人物活动关节,再摆出所需初始姿态,然后移动到另一个关键帧,最后确定某一时刻的动作姿态初始姿态,然后移动到另一个关键帧,最后确定某一时刻的动作姿态,依此类推,然后由相关软件自动生成关键帧之间连贯的行走动作动,依此类推,然后由相关软件自动生成关键帧之间连贯的
48、行走动作动画序列。画序列。对于正向运动与反向运动来说,层级命令面板很重要。经过层级命令对于正向运动与反向运动来说,层级命令面板很重要。经过层级命令连接,父物体与子物体均以层次连接的树形结构呈现。树形结构层次连接,父物体与子物体均以层次连接的树形结构呈现。树形结构层次连接使得正向运动或者反向运动的动画效果有所不同。连接使得正向运动或者反向运动的动画效果有所不同。上一页返回6.3 二维动画制作二维动画制作 6.3.1 二维动画制作软件二维动画制作软件二维动画制作软件还有二维动画制作软件还有Ulead GIF Animator、TBS 等,它们各自的等,它们各自的功能特点不同,因而制作的动画风格也不
49、同。最常用的二维动画文件功能特点不同,因而制作的动画风格也不同。最常用的二维动画文件格式是格式是FLI、FLC、SWF。图图6-7 所示所示为为Ulead GIF Animator 的工作的工作界面。界面。Flash 是一款功能强大的二维动画制作软件,有很强的矢量图形制作是一款功能强大的二维动画制作软件,有很强的矢量图形制作能力,它提供了遮罩、交互的功能,支持能力,它提供了遮罩、交互的功能,支持Alpha 遮罩的使用,并能对遮罩的使用,并能对音频进行编辑。音频进行编辑。下一页返回6.3 二维动画制作二维动画制作Flash 采用了时间线和帧的制作方式,不仅在动画方面有强大的功能采用了时间线和帧的
50、制作方式,不仅在动画方面有强大的功能,在网页制作、媒体教学、游戏等领域也有广泛的应用,在网页制作、媒体教学、游戏等领域也有广泛的应用,Flash 是交是交互式矢量图和互式矢量图和Web 动画的标准。使用动画的标准。使用Flash 能创建漂亮的、可改变能创建漂亮的、可改变尺寸的以及极其紧密的导航界面。无论是对专业的动画设计者还是对尺寸的以及极其紧密的导航界面。无论是对专业的动画设计者还是对业余动画爱好者,业余动画爱好者,Flash 都是一个很好的动画设计软件。都是一个很好的动画设计软件。图图6-8 所示所示为为Flash 工作界面。工作界面。6.3.2 二维动画制作实例二维动画制作实例下面以用下