《基于脚本语言的三维动画技术的研究与实现.pdf》由会员分享,可在线阅读,更多相关《基于脚本语言的三维动画技术的研究与实现.pdf(62页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 0 9 1 8 2d学号:2 Q 鲤1 3 Q!Q 2 罾级:公珏分类号:鱼塑学校代码:!逝四川师范大学硕士学位论文基于脚本语言的三维动画技术的研究与实现蒋洪林指导教师丞拴职称副数援掌科专业熬直基盔堂研究方向垫主佳基撞盔量苎盔:论文完成日期2 Q Q Z 生3 目1 5 目基于脚本语言的三维动画技术的研究与实现教育技术专业研究生蒋洪林指导教师张松摘要三维动画技术是一个综合利用计算机图形图像学、数学、物理学、生理学、艺术和其他相关学科知识,用计算机生成连续的具有虚拟真实感画面的技术。随着计算机硬件技术以及计算机软件技术,尤其是图形图像技术的发展,三维动画技术在影视特技、游戏、教育和科研等领域
2、中逐渐成为了一种崭新的、不可缺少的手段。本文主要对计算机三维动画制作技术在教育中的应用做了深入的研究。主要研究了利用传统手工交互方式的三维动画技术在三维动画的制作中存在的一些问题、困难和不足之处:分析了三维动画中脚本语言的优势所在:提出用脚本语言编程的方法如何解决三维动画制作中存在的问题。本文在综合比较了动画制作方法及过程的基础上,考虑到脚本语言在制作一些复杂动画过程中所具备的突出优势,利用三维动画软件3 D M A X 中的脚本语言进行了深入分析,实现了三维场景建模,解决了在三维动画制作中的一类基于物理动画实现的问题,开发出了机构运动教学中有关机械零件齿轮的初步模型插件,从而完成了利用脚本语
3、言进行三维动画的设计和开发并实现相关案例。关键词:三维动画技术;脚本语言;M A X S C R I F r;脚本插件;知识发生过程B a s e do nS c r i p tL a n g u a g eT h r e eD i m e n s i o n a lA n i m a t i o nT e c h n o l o g yR e s e a r c ha n dR e a l i z a t i o nM a j o r:E d u c a t i o n a lT e c h n o l o q yP o s t g r a d u a t e:J i a n gH o n
4、gL i nI n s t r u c t o r:Z h a n gS o n gn 坞t h r e ed i m e n s i o n a la n i m a t i o nt e c h n o l o g yi sac o m p r e h e n s i v eu t i l i z a t i o nc o m p u t e ri m a g eg r a p h i c s,m a t h e m a t i c s,t h ep h y s i c s,t h ep h y s i o l o g y,a r ta n do t h e rr e l a t e dd
5、 i s o i p h n eb O w】e d g e,w h i c hm a k e sc o n t i n u o u sh y p o t h e s i z e dt h i r dd i m e n s i o np i c t u r ew i t ht h ec o m p u t e rp r o d u c t i o n A l o n g、i t ht h ec o m p u t e rh a r d w a r et e c h n o l o g ya sw e l la St h ec o m p u t e rs u R w a r et e c h n
6、 o l o g y,i np a r t i c u l a rd e v e l o p m e n to ft h ei m a g eg r a p ht e c h n o l o g y,t h et h r e ed i m e n s i o n a la n i m a t i o nt e c h n o l o g yi nd o m a i n so ff i l m,t e l e v i s i o ns t u n t,g a m e,e d u c a t i o na n ds c i e n t i f i cr e s e a r c hh a sb e
7、c o m eg r a d u a l l yo n ek i n do fb r a n d-n e wa n de s s e n t i a lm e t h o d 1 1 1 i sa r t i c l em a i n l yh a sd o n eat h o r o u g ht 略c a r c ht ot h ec o m p u t e rt h r e ed i m e n s i o n a la n i m a t i o nm a n u f a c t u r et e c h n o l o g yi ne d u c a t i o na p p l i
8、 c a t i o n H a v es t u d i e dt h et h r e ed i m e n s i o n a la n i m a t i o nt e c h n o l o g yu s i n gt r a d i t i o nm a n u a li n t e r a c t i v ew a y,W h i c hc o m e so u tw i t hs o m eq u e s t i o n s,d i f f i c u l t i e sa n dd e f i c i e n c yw h i l ec o m p u t e rp r o
9、d u c t i o no f3 Da n i m a t i o n A n a l y z e di nt h et h r e ed i m e n s i o n a la n i m a t i o nt h es c r i p tl a n g u a g es u p e r i o r i t yt ob ea 1 a n dp r o p o s e dw i t ht h es c r i p tl a n g u a g ep r o g r a m m i n gm e t h o ds o l u t i o nt h eq u e s t i o nw h i
10、c he x i s t e di l lt h et h r e ed i m e n s i o n a la n i m a t i o nm a n u f a c t u r e T h i sd i s s e r t a t i o nh a sc o m p a r e dt h ea n i m a t i o nm a n u f a c t u r em e t h o da n dp r o c e s sf o u n d a t i o ni nt h es y n t h e s i s,c o n s i d e r e dt h ep r o m i n e
11、n ts u p e r i o r i t yo ft h es c r i p tl a n g u a g ei nm a n u f a c t u r i n g8 0 m ec o m p l e xa n i m a t i o n M a k i n gu s co ft h i e ed i m e n s i o n a la n i m a t i o ns o f t w a r e3 D SM A X S c r i p tl a n g u a g e,h a v ec a r r i e dO nat h o r o u g ha n a l 删s r e a l
12、 i z i n gt h et h r e ed i m e n s i o n a ls 湖em o d e l l i n g,h a v es o l v e d2s o m ep r o b l e m so fp h y s i c a la n i m a t i o nr e a l i z a t i o ni nt h et h r e ed i m e n s i o n a la n i m a t i o nm a n u f a e t u r i gh a v ed e v e l o p e dm o d e lp l u g-i nu n i to ft h
13、em a c h i n ep a r t sg e a rf o ro r g a n i z a t i o nm o v e m e n tt e a c h i n g,c o m p l e t i n gt h ed e s i g na n de x p l o i t a t i o nb yt h et h r e ed i m e n s i o n a la n i m a t i o na n dr e a l i z i n gt h er e l a t e dc a s e K e y w o r d s:3 DA n i m a t i o nT e c h n
14、 o l o g y;S c r i p tL a n g u a g e;M A X S c r i p t;S c r i p tP l u g i n;K n o w l e d g eP r o c e s s四川师范大学学位论文独创性及使用授权声明本人声明:所呈交学位论文,是本人在导师韭丝指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体己经发表或撰写过的作品或成果。对本文的研究做出重要贡献的个人和集体,均己在文中以明确方式标明。本人承诺:己提交的学位论文电子版与论文纸本的内容一致。如因不符而引起的学术声誉上的损失由本人自负。本人同意所撰写
15、学位论文的使用授权遵照学校的管理规定:学校作为申请学位的条件之一,学位论文著作权拥有者须授权所在大学拥有学位论文的部分使用权,即:1)已获学位的研究生必须按学校规定提交印刷版和电子版学位论文,可以将学位论文的全部或部分内容编入有关数据库进行检索;2)为教学和科研目的,学校可以将公开的学位论文或解密后的学位论文作为资料在图书馆、资料室等场所或在校园网上供校内师生阅读、浏览。劲物论文作者签名葫泓矿嘲年多月舳第一章绪论1 1 研究背景,计算机三维动画技术是以计算机图像图形学为基础的,综合计算机科学、心理学、数学、物理学等各种科学为一体的新型技术,它实现了从传统静态图形技术向实时图形技术的转变。计算机
16、三维动画技术主要包括运动控制技术以及与动画有关的三维造型、绘制、渲染、合成等技术。它是通过对真实世界的模拟和对想象世界的创造再现,综合各门学科知识,利用人体视觉暂留,在人眼面前生成一系列连续的图像,使视觉产生动态而逼真效果的一项技术。近年来,利用计算机制作三维动画是目前国内外计算机应用中非常广泛和热门的领域之一。随着计算机硬件技术和软件技术的日新月异的发展,计算机动画,尤其是计算机三维动画已经广泛地深入到了军事,科研、商业和娱乐等诸多领域,并取得了领人瞩目的成就。国内外许多影视、广告以及游戏等领域都利用计算机三维动画技术制作出了非常优秀的作品,这些作品产生出了令人赏心悦目的视觉效果。由于三维动
17、画形象、生动,其作品体现了丰富的想象力、具有极强的表现力和吸引力,计算机三维动画技术也被广泛应用在教育领域,并发挥着越来越突出的作用。在今天的电视、多媒体教材、C 越课件制作中,三维动画技术的应用更加普及和广泛。1 2 国内外三维动画发展概况计算机三维动画技术的发展过程可以体现在国内外的不同发展阶段中,每个阶段都有相应的代表作品问世。1 2 1 国外三维动画发展历程1 9 8 2 年,迪斯尼(D i 啦e y)推出第一套电脑动画的电影一一T r o n(电脑争霸),与此同时,美国麻省理工学院及纽约技术学院利用光学追踪技术记录人体动作,在演员身体的各部份都安上发光物体,在指定的拍摄范围内移动,同
18、时有数部摄影机拍摄其动作,然后经电脑系统分析光点的运动,再产生立体的活动影像。1 9 8 4 年,出现了由R o b e r tA b e l 等人创建的第一个数字化的三维人物形象,1 9 8 6 年,J o h nL a n c a s t e r 等人创作了第一部荣获奥斯卡奖的计算机动画短片。1 9 9 8 年囊括了1 4 项奥斯卡大奖的泰坦尼克号、获得2 0 0 0年奥斯卡最佳数视觉效果奖提名的星球大战前传:幽灵的威胁以及后来的精灵鼠小弟、黑客帝国等影片,都大量地引进了计算机三维动画技术并借此获得了极大的成功。计算机三维动画技术在这短短2 0 多年中取得了迅速并长足的发展。正如A C M
19、S i g g r a p h 计算机图形杰出奖获得者M i c h a e lEC o h e n 在其S i g g r a p h 论文前言所述,在S i g g r a p h 过去的2 5 年历史里,我们的世界发生了翻天覆地的变化。在电影屏幕上,当恐龙以不可思议的真实朝我们走来时,很少有人会表示惊讶。对穿梭于电视屏幕上闪闪发光的三维标志人们已经习以为常。计算机三维动画不仅在应用技术上得到了广泛的发展,而且,在理论上也得到了深入的研究。在每年的全球图形学盛会S i g g r a p h和每年的计算机动画国际学术会议C O M P U T E RA d A T I O N 上,不仅有大
20、量的高质量的三维动画展现,还有大量的代表业界最高水平的计算机动画技术的论文宣读和发表。这些成果有力地推动了计算机三维动画的应用和发展。三维计算机动画的制作在技术上对硬件和软件的要求相当高。随着近年来计算机硬件和软件的发展,计算机三维动画的制作主要依赖于S G I(美国硅谷图像计算机技术公司)和N T 两大平台,并且与此对应的软件也非常多。在上个世纪9 0 年代以前,三维动画的制作主要是运行于S G I 硬件系统下,其软件主要有:I n f e r n o*、F l a m e*、F i r e*、S m o k e*。在这些高端软件的支持下,1 9 9 1 年的终结者、1 9 9 3 年的侏罗
21、纪公园等应用这些软件的实时环境中的二维和三维视觉效果、多层合成图像、图像运动的稳定和跟踪、人物复制和场景延伸、变形等高端技术,在电影屏幕上展现了领人眩目多彩的动画世界。1 9 9 5 年1 1 月,D i s n e y 与P i x a r 合作,诞生了划时代的全3 D制作电影玩具总动员其制作过程中运用了电脑动画软件S o f l i n m g e,在面部动画、水波模拟,及大场面制作上都有不小的突破。尤其是对水纹的处理,每格胶片上都有数百万颗数字化的水滴,呈现出动画片中前所未有的模拟水景。特别值得提出的是,1 9 9 8 年获得多项奥斯卡大奖的泰坦尼克号,它的成功在很大程度上还归功于计算机
22、三维动画的大量应用:利用基于S G I2平台下的三维动画创作系统S o f t i m a g e l 3 D,制作出了几百个在船甲板上的乘客、利用动作捕获系统捕捉演员表演的各种动作,利用影视后期特技效果制作系统嗍R N 圳E,F L I N T 等把所拍摄的轮船模型镜头合成在由三维动画制作的场景中。其杰出的三维动画制作获得了影视和传媒界的一致好评,由此宣告了计算机三维动画时代的到来【I】。1 9 9 9 年由哥伦比亚电影公司出品的精灵鼠小弟荣获奥斯卡最佳视觉奖提名。在这部电影中的小老鼠s t u a r t 熠熠生辉的毛发和表情的制作使用了m a y a 的多种技术,如:使用鼬曲线生成毛发、
23、利用“关键控制毛发”插件刻画毛发的不同状态(湿、干、发光、油腻)、快速渲染毛发技术、丰富的表情生成技术等,其中大量的数据处理还用到了m a y a 中的内嵌脚本语言m e n。此外,2 0 0 5 年上映的星战前传3 也充分利用了m a y a 所拥有的三维动画技术,其主要演员的刻画和场景的布置都是用m a y a 来完成的。由于S G I 缺乏兼容性和技术复杂,在计算机三维动画制作中长时间占据垄断地位。而随着微软对S o R i m a g e 的收购,原来只有在S G I 下完成的三维动画制作开始普及到N T 系列。随之而来的面向N T 系列的高端软件也应运而生,这其中非常优秀的有S o
24、R i m a g c3 Df o rN T 版、l i g h t w a v e 3 D 以及E d i t*、C o m b u s t i o n+、3 D SM a x 等,这些都标志着三维动画的高端软件进入P C 机。而A r i a s W a v e F r o n t 公司的M a y a 的推出,又标志着P C 机进入三维动画历史的一个新的里程碑。目前,制作三维动画的软件主要有:S o f i i m a g e、M a y a、L i g h t W a v e、3 D SM A X 等,大多数主要适用于S G I 和N T 平台,其中在我国最为常见的和流行的是S o f
25、 i i m a g e3 D、3 D SM A X 和M a y a。S o f t i m a g e3 D 它是由S G I 工作站移植到P C 机上的软件它应用于W i n d o w sN T 平台,功能极其强大,最擅长卡通造型和角色动画啪。它可以说在三维动画领域中无入不知,电影侏罗公园纪、泰坦尼克号都是它的代表作。它最大的特点是它的M e n t a lr a y 超级渲染器,其独特的无损角色生成工作流程以及能达到的照片级的真实感的制作工具,都给人们以深刻的印象。它可以着色出照片级的图像,同时它还具有强大的动画能力,可以产生非常逼真的运动。3 D SM A X 主要运行于P C w
26、 i l l d o w s 9 5 9 8 及W i n d o w sN T 下具有多线程运算能力、支持多处理器的并行运算。它的特点是具有丰富的建模和强大的动画功能,材质编辑系统也很出色。兼容性非常好,广泛的支持第三方插件。其中许多插件是非常专业的,如专用在设计火、烟、云效果的A f t e r-b u m 插件、制作肌肉的M e t a r e y e 等,利用这些插件可以制作出更加精彩的效果。它的第一部成名作品就是广为人知的迷失太空,在电影迷失太空中的绝大多数太空镜头和特技都是由3 D SM A X 来设计完成的。而M a y a 既可以在S G I的平台上运行,又可以在P C 的w
27、协d o w sN T 下运行。它除了具有般三维软件的大多数功能外,还包括自身特有的艺术家工具、特效集和高级建模工具等,尤其是在影视的角色动画制作中,更有其独特之处。无论在精灵鼠小弟还是在星球大战前转:幽灵的威胁中我们都能看到它杰出的表现。1 2 2 国内三维动画发展历程从国内计算机动画的发展过程来看,上个世纪中国第一部动画大闹画室的诞生到今天已经整整有8 0 周年,在这期间,中国产生了大量优秀的动画作品,如五十年代大闹天宫、哪吒闹海,八十年代的西游记、黑猫警长、葫芦畦、宝莲灯等,这些动画片在二维动画世界电影中均占有自己的一席之地。到了九十年代,1 9 9 0 年北京第十一届亚运会为我国计算机
28、动画带来了关键性契机。中央电视台、北京电视台在当时电视转播中首次采用了计算机三维动画技术来制作电视片头。从此以后,计算机动画技术开始在我国迅速发展。随后,北方工业大学与北京科教电影制片厂、北京科协合作,于1 9 9 2 年制作了我国第一部完全用计算机编程技术实现的科教电影相似,并正式放映。1 9 9 5 的秦颂是一部制作精良、场面恢弘、明星荟萃的历史大片,其中气势庞大的阿房宫就是由计算机三维动画技术制作完成的。1 9 9 8 年北京三辰动画公司制作的蓝猫淘气3 0 0 0 问动画片中有4 0 以上的镜头是用三维动画技术制作而成的。在该动画片中利用这些三维动画技术再现和还原了许多人们无法亲眼目睹
29、或亲身经历的精彩画面:天体运动、大陆漂移、原子弹爆炸、火山、地震,细胞分裂、纳米技术等,使人如临其境,融知识与娱乐予一体,极大地增强了国产卡通的艺术感染力、视觉冲击力。1 9 9 9 年是中国c G(计算机图形)电影史上相当重要的一年,一批敏感的电影导演,开始尝试在自己的影片中应用C G 技术。在拍摄紧4急迫降时,有二十多分钟的特技镜头,其中使用了五分钟的三维动画影像,以及大量的模型与数字处理相结合的影像,创造了波音飞机空难危机的奇观效果。2 0 0 2 年的极地营救力争将该片的视觉效果达到国内领先、国际流水平,主要应用三维软件M a y a,还涉及了三维人体扫描、动态捕捉、大型的粒子特效等三
30、维动画技术,后期合成又使用了I n f e r n o、F l a m e、S h a k e 软件等。2 0 0 5 年荣获第十四届中国金鸡百花电影节“最佳美术片”提名的魔比斯环,是我国首部全3 D 高清动画电影,其制作历时5 年,使用了三维动画软件M a y a,在制作过程中,研究和开发多个插件,比如,在3 D 动画中加入线条(原创漫画有很强的线条风格)等m。在2 0 0 7 年,位于杭州国家动画产业基地的杭州玄机科技信息技术有限公司制作的全三维武侠动画长篇秦时明月,在动作上,为了打造电影级的武打场面和镜头效果,投巨资采用M o t i o nC a p t u r e 技术,捕捉角色的动
31、作场面,并首次在国产动画片中采用最新的3 D 渲染技术,其渲染效果兼具手绘动画的精美细腻和三维动画的强烈动态演出效果,带给观众新鲜完美的观影体验。它的上映标志着我国三维动画技术的应用达到一个崭新的水平。但是对比国际动画的发展水平,我国动画产业只是刚刚起步。尤其是三维动画技术,无论在三维动画的应用制作上。还是在理论的研究水平上,都和国外存在相当大的差距。一方面,国内的三维动画技术起步较晚。从世界范围看,三维动画技术自2 0 世纪7 0 年代产生到今天只有短短3 0 多年的时间,但是发达国家如美国、加拿大、日本凭借自己的经济和科技优势,无论在三维动画的制作技术水平上还是在其软硬件的研发上都处于遥遥
32、领先的地位。2 0 世纪9 0 年代3 D SM A X 才刚刚进入中国,到今天只有短短十多年时间,在技术和设备上落后,还处于模仿阶段1 6 1,因此要赶上发达国家还需要一个很长的时间。另一方面也是因为传统动画技术在我国一直占有非常大的优势,利用计算机技术实现三维动画的设计和制作对于国内以手工见长的老一辈动画师来说非常陌生和不适应,尤其在观念上存在着相当大的差异。第三,由于资金和技术上的问题,我国三维动画还远远未形成规模,三维动画制作技术没有自己的核心技术,还处于模仿阶段。尽管在国内的电影、电视以及广告上常常也有三维动画的身影,但是至今还未有一部完整的三维动画影片出现。以上诸多因素影响甚至制约
33、着我国三维动画的发展。但是近年来,有众多三维动画公司和企业在国内如雨后春笋一样迅速崛起,一些跨国公司也纷纷进入中国,国家相继建立了一批动画基地和成立了一批国家重点实验室,并且在政策上大力扶持,大量投入资金,积极支持人才培养,这对我国动画产业尤其是三维动画制作的发展起到了非常大的推动作用。1 3 脚本语言简介在计算机三维动画制作中,常常涉及到一些非常复杂的建模和动画的设计。尽管现行的三维动画软件如m a y a、3 d sm 酝等在一定程度上都已经具备了复杂的设计功能,但是这些软件仅仅靠手工交互的方式来完成模型和动画的设计常常令人感觉繁琐和不便、甚至有时无法解决一些具体问题。利用这些系统自带的脚
34、本语言解决利用手工交互方式制作三维动画中所遇见的困难是一种非常好的方法。下面我们简单介绍脚本语言。早期计算机系统几乎全部采用汇编语言编制。随着计算机的硬件的发展和成本的降低,软件的可移植性和可维护性渐渐突出出来。并且超过了对软件执行效率的需求,这便促进了高级语言的发展”1。而如今,计算机速度不断提高,编程技术和方法不断演变,计算机编程人员在编写计算机程序时所使用的方法正在发生一场根本性的变化,这就是从使用系统编程语言如c 和c+,逐渐向脚本语言发展如:j a v a s c r i p t、V B s c r i p t、p e r l 等。不论是操作系统、各种应用的工具软件、还是现在广泛应用
35、的网络技术,到处都能看见脚本的身影。脚本语言是一种通常可以进行编辑和运行、具有极高抽象级别的编程语言棚。脚本语言(s c r i p tl a n g u a g e s)建立在系统程序语言所编写的一系列组件上,是系统程序语言的一个子集。它用一种自然语言描述的方式,把这些组件(功能模块)连接组合在一起,而实现更加强大的功能。一方面它语义明确,具有非常好的可读性。同时又是一种解释性的语言,不需要编译时间,缩短了传统的程序语言的编写、编译、链接、运行的过程,通过允许用户运行时编写应用程序,使应用程序更加灵活【9】。现在,随着计算机的发展,所有计算机系统的各个层次都有种脚本语言。包括操作系统层,如计
36、算机游6戏,网络应用程序,各种应用软件等。在许多方面,高级编程语言和脚本语言之间互相交叉,二者之问没有明确的界限。脚本语言的特点:1、无类型语言,脚本语言对数据类型约束非常少,使组件更容易连在一起。在使用时没有优先级限制,并且所有的组件及其值都用统一的方式描述“2、解释型语言,脚本语言无需编译过程,通常只需编辑和运行。这样更容易把组件进行连接,从而达到更加简洁、快速、高效的完成任务的目的。3、采用自然描述语言,语法简单,更容易掌握和使用,技术门槛底。这也是现在越来越多的人使用脚本语言来开发设计产品原因之一。、4,具有动态性,脚本语言一般支持即时编写即时执行,这对一些图形用户即时生成结果尤为重要
37、。1 4 课题意义通过对现有的三维建模作品的了解和三维建模和动画技术资料的收集研究,我们发现,现有的三维作品中大量的三维动画设计和创作主要是借助一些当前比较流行的工具软件进行手工交互完成,尽管实现计算机三维动画的方法和途径很多,但大体可以归纳为两种:一种是用工具软件直接进行手工制作,另一种是通过计算杌语言(如:c、c+)来实现。但是由于利用编程来实现三维建模必须要有良好的编程语言基础和非常高的编程能力,抽象性较高,这种方法一般由计算机专业人员才能实现,而利用三维工具软件不受这样的限制,只要熟练的掌握三维动画设计工具软件的各项功能就可以实施,而且由于它的方便快捷,以及它的可视化程度高,因此,不管
38、是在国内还是国外,利用工具软件进行三维动画的设计和创作存在着大量的三维动画设计和创作的从业人员,这些人员利用现有的三维动画工具如:3 D M A X、A u t o C A D、X S I、M A Y A、P r o E 等制作出了大批优秀的作品,通过现有的影视、广告、游戏作品,以及近年来出现的虚拟实验室、虚拟多媒体教室、虚拟演播室等我们都不难看到它们的身影。另一方面,虽然利用工具软件进行手工交互的方法进行设计创作快捷方7便,可视化程度高,但是这种方法在某些方面也存在着缺陷,特别是在三维场景中生成复杂的具有无限细节的自然景物图像(如:花草、山脉、烟云等),或者制作那些大量相似而不相同的三维物体
39、(如昆虫的触须、人体的毛发、繁星闪烁的夜空等)都显得非常困难和不便。虽然有些建模可以借助与第三方插件如:造树插件t r e e s t o r m、肌肉塑型建模插件m e t a r e y e s、模型修改编辑器插件p a i n tm o d i f i e r、毛发插件o r n a t r i x z 等可以实现其中的部分功能,但是对于一些高级用户想要打造属于自己的个性化界面,生成属于自己特有的U I 工具和插件以及扩展工具软件的功能都是很难完成的。正是基于这样的问题,我们应该即要利用三维动画工具软件的强大功能,同时又要找到解决在计算机三维动画中用手工交互时所遇见的困境的方法。正是基于
40、这样的思考和研究,我们利用脚本语言对三维动画的制作及其方法做出探索。脚本语言有很多类型,不同的计算机应用系统都有不同的脚本语言。针对不同的任务,脚本语言也可以不同。三维动画的设计软件很多,我们比较了现在国内普遍应用的三维制作软件,而3 D M A X 现在国内应用最为广泛,功能非常强大,支持大量的插件,所以我们以3 D M A X 为平台,用其内嵌的脚本语言M A X s c r i p t 作为我们的研究和开发的工具。1 5 本文研究的主要内容计算机动画的研究仍然面临着许多亟待解决的困难,其中一些困难是目前整个计算机领域所面临的困难。如运动的真实性与运动的可控制之间的矛盾、运动物体的行为规划
41、、任务描述的抽象方法以及环境的认知过程、运动的自适应性、自学习功能和进化功能等。尽管利用手工交互的方法也可以设计出众多的动画效果,而惩要解决这些问题,如果仅仅只靠手工交互的方法显然是不够的。另一方面,针对脚本语言而言,它本身采用的是程序设计的方法,需要有一定的程序设计的知识和基础,因此对于大多数习惯于手工交互设计的人员来说,用脚本语言进行动画设计成为了一种禁区。目前,只有少数高端用户在应用和研究它。针对这些问题,本课题研究的主要任务是下面几个方面:1、研究脚本语言功能特点、利用脚本语言在制作三维动画中的优势所:荏。2、-l A X S c r i p t 建模技术。如何利用脚本语言的优势特点解
42、决三维动画建模中一类关于大量物体建模的问题、研究一些随机事件的处理方法。3、M A X S c i r p t 动画技术。利用脚本语言解决在三维动画的制作中关于运动学和动力学的教学动画问题。4、1 4 A X S c r i p t 脚本语言插件实现。5、脚本语言在知识发生过程中应用的理论探讨。9第二章脚本语言的建模技术2 1M A X s c ri p t 脚本语言的特点2 1 1M A X s c r i p t 脚本语言功能M A X S c r i p t 脚本语言是3 d sM A X 完全基于O p e n G L 以及V c 核心的内建编程语言,同时也是为了扩展3 d sM A
43、X 功能而专门设计的一种脚本语言。用户根据3 d sm a x 提供的命令集,自己编写程序段,功能限制在软件内部资源的使用,主要是调用3 d sm a x 提供的各种功能来实现所需要的功能和二次开,发。它为用户提供了以下功能:(1)将脚本集成在用户应用面板卷展栏工作界面上,给脚本一个标准的M A X用户接口;(2)集成了3 D S M A X 的绝大部分功能:建模、材质编辑、动画设置、灯光设置、渲染处理等:,(3)使用插入的文件的I O,建立用户输入输出工具:(4)通过命令行编辑窗口(M A X S c r i p tE d i t)和监听器窗口(M A X S c r i p tL i s
44、t e n e r)实现程序的交互控制,以人机对话方式进了操作:(5)建立了可以访问场景对象的修改器和全部场景状态的过程控制器;为对象的修改和场景的动画控制提供了强有力的工具:(6)通过O L EA u t o m a t i o n,与外部系统建立活动接口。M A X 脚本语言是为完成3 DS t u d i oM A X 功能专门设计的。它是像3 DS t u d i oM A X 一样面向对象的,有许多对于M A X 用户界面中特征和结构,带动画关键帧的动画模式,并通过层次改变场景对象对应于M A X 的对象层次。2 1 2M A X S c r;p t 脚本语言的优势尽管3 d sM
45、A X 在传统手工制作时,方便和直观,可视化程度高的特点,但是M A X s c r i p t 脚本语言是使用3 d sm a x 制作动画和进行三维开发设计的方便工具,能够使用手工调整制作的模型和动画基本都能使用脚本语言完成,而且,使用脚本语言实现起来更加简单方便。在有些三维场景和模型中利用手工很难甚至无法完成的工作,比如:模拟上千个球体的星系,完成群体动画的设计,还有一些重复性的工作,特定规律的动画控制等,利用传统的手i o工交互式很难完成的恰好利用脚本语言更加方便快捷。(1)具有交互操作过程的能力。(2)可以运用3 D 矢量、矩阵、四维数等代数工具完成高级复杂的设计任1 0(3)建立批
46、处理工具,可以把3 d sm a x 从业人员从一次次简单重复的工中解脱出来。例如建立一次可以渲染多个场景的M A X S c r i p t 脚本语言程序。(4)提供随机函数,用于随机不确定事件。(5)提供大量数学函数和数学运算功能,用于对象精确定位和符合数学规律及物理规律的动画实现和控制。(6)提供插件接口,用于具有特定功能的插件的开发和修改(7)利用M A X S c r i p t 语言和可视化工具定制用户应用程序面板U I 和管理卷展栏。2 2 三维建模技术简介,模型的建立是任何动画的基础。因此,三维动画中三维模型的的建立是一项非常重要的工作和技术。三维建模技术主要包括:多边形建模、
47、N U R B S建模、面片建模以及一些特殊建模,此后的所有关于材质、贴图、灯光等制作都是在这些模型上完成的。其中的每一种建模技术都集成了许多模型的修改方法和参数的设置(修改器),正是这样的修改器,可以把本来租糙的模型变得更加生动而具有真实感。通过这几种建模技术的综合运用所得到的三维模型可以是各种形状:物体、人体、生物模型、自然景观等等。但是每种方式都有自己的优点和不足之处。因此,需要根据模型的特征,考虑用上述方法中一种或几种方法综合利用创建模型。尽管利用传统交互式方法创建模型非常直观,但是利用M h X S c r i p t 脚本语言创建模型显得更加方便快捷,特别是在建立多个对象,对象的参
48、数化控制和精确定位更显其灵活性和突出的优势。正如前面我们所谈到的,M A X S c r i p t 脚本语言本身可以完成M A X 的绝大部分功能。在M A X 建模中,M A X 中创建对象的基本简单几何体、简单形状、样条曲线以及各种修改器,M A X S c r i p t 中是利用其相对应的函数来实现,当然也就可以利用这些函数来进行三维物体的创建、编辑和修改。,。:,、72 3 利用脚本语言建模的方法下面介绍几种在利用脚本语言建模中用到的函数和命令3 d sn l a x 中N o d e 节点类包括了所有的场景对象如:G e o m e t r y、C a m e r a、S h a
49、 p e 等。每一种3 d s l l l a X 场景对象类都是由N o d e 类派生出来的“”。M a x s c r i p t中有很多构造器(构造函数),利用构造器可以创建节点或对象,其实质为函数调用,功能就是通过这样的构造器创建一定空间的几何体,即对象。通过构造器可以创建3 d sm a x 中用鼠标创建的几乎所有简单几何体,常见的有b o x,s p h e r e。t o r u s,c i r c l e,m e s h 等。构造器由两部分组成,基类名和创建参数。整个构造器就是一个函数调用,函数名就是基类的名字,这样做的目的是非常简洁直观。创建参数由参数名后跟一个冒号及相应的
50、参数,例如:B o xl e n g t h:5 0w i d t h:3 0h e i g h t:4 0属性命令,可以指定对象的各种属性或改变对象的属性值。位置属性:p o s=:长度属性:1 e n g t h=宽度属性:w i d t h=,h e i g h t=尺寸属性:s c a l e=等。移动命令:m o v e 对象名称,其中x、Y、Z 为对象的空间坐标的差值复制命令包括c o p y、i n s t a n c e 或r e f e r e n c e 三个,它们与m a x 中的相应操作功能完全相同。需要说明的是,这三种复制方法都会同时复制源对象的t r a n s f