时间:2022-09-20 16:06:50
引言:寻求写作上的突破?我们特意为您精选了4篇动画设计论文范文,希望这些范文能够成为您写作时的参考,帮助您的文章更加丰富和深入。
Flash 由macromedia公司推出的交互式矢量图和 Web 动画的标准。网页设计者使用 Flash 创作出既漂亮又可改变尺寸的导航界面以及其他奇特的效果。
flash涉及到的领域:动画游戏制作,网络构件,学习课件,网站广告设计及全flash网站,工控界面等等。主要特点是制作简单,通用性比较大,涉及的领域多,制作出的东西效果都可以做到非常精致。缺点在于有些效果需要别的软件辅助制作等等,不是所有效果都能制作出来。(比如些3d效果,flash就很难制作,只能通过导入的方式或者针并针的方式)
FLASH有三重意义:1) FLASH英文本意为“闪光”;2)它是全球流行的电脑动画设计软件;3)它代表用上述软件制作的流行于网络的动画作品。Flash是一种交互式矢量多媒体技术,他的前身是Futureplash,早期网上流行的矢量动画插件。后来由于Macromedia公司收购了Future Splash以后便将其改名为 Flash2,到现在最新的flashcs3。现在网上已经有成千上万个Flash站点,著名的如Macromedia专门ShockRave站点,全部采用了Shockwave Flash 和Director。可以说Flash已经渐渐成为交互式知量的标准,未来网页的一大主流。
Flash 最早期的版本称为Future Splash Animator,当时Future Splash Animator最大的两个用户是微软(Microsoft)和迪斯尼(Disney)。1996年11月,Future Splash Animator卖给了MM(Macromedia.com),同时改名为Flash1.0 。 Macromedia 公司在1997年6月推出了 Flash 2.0 ,1998年5月推出了Flash3.0。但是这些早期版本的Flash所使用的都是Shockwave 播放器。自 Flash 进入4.0 版以后,原来所使用的 Shockwave 播放器便仅供 Director 使用。Flash 4.0开始有了自己专用的播放器,称为“Flash Player”,但是为了保持向下相容性,Flash仍然沿用了原有的扩展名:.SWF(Shockwave Flash)。 2000年8月Macromedia 推出了Flash5.0 ,它所支持的播放器为 Flash Player 5。Flash 5.0中的ActionScript已有了长足的进步,并且开始了对XML和Smart Clip(智能影片剪辑)的支持。ActionScript的语法已经开始定位为发展成为一种完整的面向对象的语言,并且遵循ECMAScript的标准,就像javascript那样。 2002年3月 Macromedia 推出了Flash MX支持的播放器为 Flash Player 6。Flash 6开始了对外部jpg和MP3调入的支持,同时也增加了更多的内建对象,提供了对HTML文本更精确的控制,并引如SetInterval 超频帧的概念。同时也改进了swf文件的压缩技术。之后Macromedia有相继推出了Flash 8,Flash 9及现在的Flash CS3。相信Flash的软件以后还会在不断的更新,使其更加完美。
2 flash相关概念阐述
2.1 什么是flash动画
动画是将静止的画面变为动态的艺术.实现由静止到动态,主要是靠人眼的视觉残留效应.利用人的这种视觉生理特性可制作出具有高度想象力和表现力的动画影片。动画以人类视觉的原理为基础。 如果快速查看一系列相关的静态图像,那么我们会感觉到这是一个连续的运动。 每一个单独图像称之为帧。帧是动画电影中的单个图像。
3 flash在当今社会中的应用
3.1 flash在动态网页中的作用
Flash是MacroMedia公司专为网络应用设计的一个交互性矢量动画设计软件。网站设计者可以使用Flash为网站设计各种动态Logo动画、导航条以及全屏动画,还可以加入动感音乐,完全具备多媒体的各项功能。Flash以其体积短小,流体播放的特点迅速打开市场,将WWW上的站点页面设计带上了一个全新的高度。实现Web数据库的应用一般有两种方法:一种是Web服务器端提供中间件,连接Web服务器与数据库服务器;另一种是把应用程序下载到客户端直接访问数据库。最常用的中间件技术有通用网关接口(CGI)和应用程序编程接口(API)两种。CGI程序存在效率低、速度慢等缺点;而API很大程度上克服了CGI的缺点,但其兼容性差,开发难度大也让许多开发人员望而却步。客户端访问数据库主要包括JavaScript和数据库连接器(IDC)等。用JavaScript和IDC开发Web数据库虽然简单,但也存在功能有限、不能完全控制其过程等缺点,所以它们也无法胜任较复杂的Web数据库的开发。微软推出的ASP方案很好地解决了这些难题。ASP(Active Server Page)是Microsoft公司推出的一种基于服务器端的脚本编程语言,它很容易和数据库连接。Flash与ASP的组合使网页功能更加强大,可以通过它们和数据库连接,能使我们的网站不仅具有强大的数据支持而且具有完美的交互界面。
3.2 flash中实现与数据库连接
为了实现Flash与数据库的连接,需要把Flash和ASP联系起来。变量可以通过URL传递给Flash,这是一种GET方法,把变量传递给一个swf 接着文本"Text of my variable"将会出现在Flash的动画中指定的位置,我们只要把Flash所需要的数据准备好就可以实现与数据库的连接,然后利用Flash中的动画功能就可以做出既具有强大的数据处理能力又具有强大的交互能力的美观网页。ASP和数据库的连接可用如下语句实现。 Set Connection = Server.CreateObject("ADODB.Connection")
Set Recordset = Server.CreateObject("ADODB.Recordset")
Connection.Open "people"
这样数据库就和ASP连接上,从而 Flash与数据库连接上去了。在Flash中使用ASP必须满足以下条件:服务器端server必须支持Active Server Pages并且支持数据库;客户端必须安装Flash插件。3.3 如何在flash中使用数据库
第一步要做的是建立数据库。我们使用Access数据库为例,表名为Staff,有三个字段:ID (自动编号), Known(Text) ,name (Text) 。这是一个用来示范用户名的数据库。
第二步就是建立一个Flash 5的动画。步骤如下:
(1)建立三个text field.它们是用来显示数据用的。
(2)把第一个text field的name设置为Input,它是用来接收输入数据的。
(3)另外两个text field分别命名为KnownAs和Surname。
(4)其它设置先为默认。
(5)最后,从Flash的library中选择增加一个按钮 (应该是一个可重用的组件 ScrollBarButton ) 。这是很重要的一步,按钮将把输入的变量传递给ASP页面。到按钮的属性(Properties)上单击Action页,单击"+"号和On MouseEvent.勾上Release框。
(6)再次单击"+"号和Load/Unload Movie.选择"Load Variables Into Location"在URL输入框内输入你的ASP文件名(例如flash.asp). 选择Target。
(7) 最后,选择Variables中的Send using POST, 单击"+"号来设置变量在Variable输入框内输入 "Input"(就是第一个text field的name) 。当上面的工作都完成后,可以在action box内看到如下内容:
On (Release)
Load Variables ("flash.asp", "", vars=POST)
Set Variable: "Input" = ""
End On
这样当在动画过程中这个按钮被点击并释放后,Input输入框中的内容将被传递给flash.asp文件。注意Form是使用的post方式传递变量的。
(8) 建立一个HTML页面,在其中包含这个Flash动画文件。
第三步:ASP文件的代码
Set Connection = Server.CreateObject("ADODB.Connection")
Set Recordset = Server.CreateObject("ADODB.Recordset")
Connection.Open "people"
SQL = "SELECT * FROM Staff WHERE ID=" & Request.Form("Input") & ";"
Recordset.Open SQL,Connection,1,2
If Recordset.EOF Then
KnownAs = "Not"
Surname = "Found"
Else
KnownAs = Recordset ("Known")
Surname = Recordset ("name")
End If
Recordset.Close
Connection.Close
response.write("KnownAs="+Server.URLEncode(KnownAs))
response.write("&Surname="+Server.URLEncode(Surname)
%>
需要注意的是在把KnownAs和Surname传递回去的写法,将是这样的Known=Data1&Surname=Data2
使用Server.URLEncode(VariableName)来保证传递过去变量的是按照 URL格式编码的。
4 flash动画的概念
4.1 什么是动画与动画设计
动画与动画设计(即原画)是不同的概念,原画设计是动画影片的基础工作.原画设计的每一镜头的角色、动作、表情,相当於影片中的演员.所不同的是设计者不是将演员的形体动作直接拍摄到胶片上,而是通过设计者的画笔来塑造各类角色的形象并赋予他们生命、性格和感情。
4.2 什么是动画片中的动画
动画片中的动画一般也称为"中间画".这是指两张原画的中间过程而言的.动画片动作的流畅、生动,关键要靠"中间画"的完善.一般先由原画设计者绘制出原画,然后动画设计者根据原画规定的动作要求以及帧数绘制中间画.原画设计者与动画设计者必须有良好的配合才能顺利完成动画片的制作。
4.3 动画绘制时需要的一些工具
动画绘制需要的工具一般有:拷贝箱工作台、定位器、铅笔、橡皮、颜料、曲线尺等.方法是:按原画顺序将前后两张画面套在定位器上,然后再覆盖一张同样规格的动画纸,通过台下拷贝箱的灯光,在两张原画动作之间先画出第一张中间画(称为第一动画),然后再将第一动画与第一张原画叠起来套在定位器上,覆盖另一张空白动画纸画出第二动画.依此方法,绘制出两张原画之间的全部动作。
4.4 flash动画影片制作的步骤
1、由编导(可以是你自己)确定动画剧本及分镜头脚本;
2、美术动画设计人员设计出动画人物形象;
3、美术动画设计人员绘制、编排出分镜头画面脚本;
4、动画绘制人员进行绘制;
5、导入到flash进行制作;
6、剪辑配音。
在分镜头画面脚本绘制过程中,应养成填表的好习惯,在表格中注明画面的景别,画面景别使用的专业术语有:大特写、特写、近景、中景、全景、远景、全远景、纵深景等。画面 镜头号 景别 秒数 内容摘要 对白 效果 音乐
5 flash动画时间的技巧
5.1 时间与帧数
对动画时间的基本考虑是放映速度:电影和电视的放映速度是24帧/秒,而动画片一般有12帧就可以了,然后录制或拍摄时进行双格处理。如果绘制动作较快的动画最好进行单格处理,即每秒要绘制24个画面。对於快速奔跑的动作,一般采用8帧单格画面。对於物体发生震动用单格处理两端的动作就可以了。
5.2动画的间格距离表现
物体的静止到移动到静止都有类似的规律:静止开始时速度慢、运动中的速度快、运动停止时的速度慢.表现在帧数上则是:从静止到运动帧数逐渐减少,从运动到静止帧数逐渐增加,中间运动过程的速度最快,帧数也最少。
5.3 flash动画中循环动作的时间
动画中经常会有循环动作,但不同的情况需要的帧数也是不同的。如:快速飘扬的旗需要6帧画面循环;又如火焰的循环,大火的动作循环从底部烧到顶部可能需要几秒,而小火的循环只需要几帧;下雨的循环动作最好设置两层,前层雨水穿过屏幕,一般需6帧画面,后层雨水穿过屏幕的时间慢於前层,循环的帧数也相应多於前层;下雪的动画则至少需要有3种大小不同的雪花,循序的时间约需要2秒;一个急速跑步动作需4帧画面,快跑动作需8帧画面,慢跑动作则需12帧,超过16 帧,画面就失去冲刺感觉;大象需要1~1.5秒完成一个完整的步子;小动物如猫的一个动作只需0.5 秒或更少;鹰的翅膀一个循环需要8帧;小麻雀的翅膀循环动作有2帧画面就可以了。
5.4 flash 背景透明和层次问题
#flash背景透明,在flash语句中加入这句或者:
选中刚才已插入的flash动画,右击鼠标选择参数,在弹出的对话框中点击+加号图标,在左侧的参数中键入wmode在右侧的值框内键入transparent点击ok,按f12进行预览,ok!我们所要的透明效果就出现了!
在Mozilla,Firefox浏览器中起作用的是这个标签 那这样,在标签内加入属性 wmode="transparent" 就可以实现flash背景透明,如
embed好像不提倡使用(网景发明的),w3c推荐用object代替。
也可以尝试加到object中让flash不要漂到最高层:
6 flash动画的相关概念和制作过程
6.1 形状补间动画的概念
在Flash的时间帧面板上,在一个时间点(关键帧)绘制一个形状,然后在另一个时间点(关键帧)更改该形状或绘制另一个形状,Flash 根据二者之间的帧的值或形状来创建的动画被称为“形状补间动画”。
6.2构成形状补间动画的元素
形状补间动画可以实现两个图形之间颜色、形状、大小、位置的相互变化,其变形的灵活性介于逐帧动画和动作补间动画二者之间,使用的元素多为用鼠标或压感笔绘制出的形状,如果使用图形元件、按钮、文字,则必先“打散”再变形。
6.3 形状补间动画在时间帧面板上的表现
形状补间动画建好后,时间帧面板的背景色变为淡绿色,在起始帧和结束帧之间有一个长长的箭头,如图所示
6.4 创建形状补间动画的方法
在时间轴面板上动画开始播放的地方创建或选择一个关键帧并设置要开始变形的形状,一般一帧中以一个对象为好,在动画结束处创建或选择一个关键帧并设置要变成的形状,再单击开始帧,在【属性】面板上单击【补间】旁边的小三角,在弹出的菜单中选择【形状】,此时,时间轴上的变化如图3-3-1所示,一个形状补间动画就创建完毕。Flash的【属性】面板随鼠标选定的对象不同而发生相应的变化。当我们建立了一个形状补间动画后,点击时间帧,【属性】面板如图所示。
6.5 歌词的制作
6.5.1 文字的遮罩效果
6.5.2 文字的淡入淡出效果
6.6 元件的制作与素材的引用
6.7 flash音乐导入与播放控制
7 flash中声音和声道平衡的控制
7.1 音乐的播放和停止
(1)首先从外部导入一个音乐,也就是用File>Import导入。或直接从Window>Common Libraie>Sounds中拖一个到舞台上。
(2)然后选择Window>Library。从中选中你刚导入的音乐,并按鼠标右键,选中其中的Linkage,如下图:
(3)在跳出的Symbol Linkage Properties对话框中,在Linkage中选Export this symbol,在identifier中输入你想要取的音乐名字,如"likesound"。如果你用的是flash mx,则选择Export for ActionScript。如下图:
(4)接着从库中选择两个按钮,并放在舞台上,如下图:
(5)在第一个开始按钮上捆绑如下代码:
on (release) {
s=new Sound();
s.attachSound("likesound");
s.start(0,6);
}
(6)在第二个停止按钮上捆绑如下代码:
on (release) {
s.stop()
}
7.2 音量的控制
(1)从库中选一个按钮放在舞台上,把这个按钮转换成MovieClip。这样做的目的是能把这个按钮既可以接受电影事件也能接受按钮事件,如下图:
(2)在这个按钮的电影剪辑上加入以下代码:
onClipEvent (load) {
top = _y;
left = _x;
right = _x;
bottom = _y+100;
}
onClipEvent (enterFrame) {
if (dragging=true) {
_root.s.setVolume(100-(_y-top));
}
}
7.3 调节声音的平衡
(1)从库中选一个按钮放在舞台上,把这个按钮转换成MovieClip。这样做的目的是能把这个按钮既可以接受电影事件也能接受按钮事件。(此例是最下的那个按钮,既横向的那个)做好后如下图:
(10)在这个按钮的电影剪辑上加入以下代码
onClipEvent (load) {
top = _y;
bottom = _y;
left = _x-50;
right = _x+50;
center = _x;
}
onClipEvent (enterFrame) {
if (dragging=true) {
_root.s.setPan((_x-center)*2);
}
}
(11)通过双击这个电影剪辑,或通过选中这个电影后再选Edit>Edit Symbol,进入该电影剪辑地编辑状态,选中按钮本身,在这个按钮上捆绑以下代码(和上次的操作完全相同)。
on (press) {
startDrag ("", false, left, top, right, bottom);
dragging = true;
}
on (release) {
stopDrag ();
dragging = false;
}
8 总结flash动画的根本
Flash动画说到底就是“遮罩+补间动画+逐帧动画”与元件(主要是影片剪辑)的混合物,通过这些元素的不同组合,从而可以创建千变万化的效果。
三大基本功能之外的延伸Flash动画的三大基本功能是一切Flash动画应用的基础。但现在Flash已经是一个非常强大的平台,他是一个富媒体环境。在Flash 4时他加入了MP3声音的支持,Flash 3及以前的版本对音频支持是很匮乏的,从那个时候起你可以设计多媒体的Flash动画了。在Flash 6时他加入了视频的支持,Flash 5及以前的版本不支持视频(不包括链接的Quicktime),这时,你可以嵌入视频,也可以播放外部的Flv格式的视频。甚至,你还可以捕做到来自麦克风和摄像头的实时音频和视频。虽然Flash 4以前的版本中也有简洁的脚本代码,但应该不算有严格意义上的Actionscript,充其量只能算是Action,因为他仅有简单的几条语句,连加减乘除运算符都没有。增强的图形处理功能目前Flash对位图的处理功能还比较弱,因为它最初是从矢量处理起始的,加之矢量图形是Flash GUI设计之基石,所以估计还会沿着矢量处理的道路继续前进。
不过最近的滤镜和图像混合模式也向位图处理领域迈出一大步。相信未来会有更多更好的这方面的功能加进来。
Flash的功能可能越来越复杂,如何系统地掌握这项技术就显得非常重要。系统地掌握一门技术有两个好处:一个是对目前的功能有清晰的认识;第二,就是能够从容应对更复杂的知识。
了解这些对于一个初入门的动画设计者是非常有意义的,正是将这些功能逻辑的整理出来,有利于用户建立正确的、逻辑的知识体系,而不是再在黑夜里徘徊了。
参考文献
一部完美的三维动画作品是一项复杂的系统工程,动画的场景设计需要的不仅仅是绘景,同样为三维动画设计而服务,并且将故事情节有效的展现出来,从而完成戏剧漫画的冲突。同时还会对人物性格动作造型进行有效的刻画。设计者不仅要投入到动画场景设计实践过程中,而且还要努力去克服技术上的难题,同时还要对其理论进行全面的研究,尤其是探讨造型设计形式、空间的设计形式以及色彩设计形式。在对三维动画进行设计时,要加入人性化关怀,只有这样才能更好的吸引观众的兴趣,满足观众的要求。其一,促使镜头的表现力得以提高。三维动画最开始主要应用于科技领域,并且其最大的用途还是对真实情况的仿真,目前三维动画更多的应用于艺术领域,特别是影视行业,并且已经出现了很多优秀的作用,创造了巨大的经济财富。在三维动画中,摄影机一般是虚拟的,它能够顺利实现现实电影中摄影机所不能完成的工作,并且获得比较生动的图画。以前,很难拍摄到极近镜头或者长距离的鸟瞰镜头,但是现在利用三维虚拟摄影机都能够轻松的完成。其二,提高角色运动与空间的表现力。在进行三维动画设计时,虚拟的立体空间就是我们一直追求的空间效果,角色在其中可以实现任何方式以及任意角度的运动,除了三维软件自身所具备的动力学系统外,还可以顺利的实现与动捕仪相配合起来,最终带给观众一种逼真的、激烈的视觉运动画面。
二、三维动画设计中的视觉形式的构成规律
计算机三维动画的视觉设计主要是利用造型的手段来进行传达信息。视觉上的美感是视觉语言的一大特征。与普通的语言相比较,视觉语言具有明显的区别。视觉语言本身具有独特的规律,只有遵循这些规律才可以将视觉语言的表现优势发挥出来。
(一)对称
美学形式的原理之一就是指对称。自然界中的叶子、花瓣以及鱼鳞的排列中都可以遇到线、面对称的多种多样规律性。在建筑物上,对称也是非常重要的。然而在绘画中也会将对称作为艺术表现组成的因素而出现,比如达芬奇的《最后的晚餐》其实就是一个对称构图的范例,对称给人一种安定、严肃的感觉。在古典主义作品中,对称成为构成艺术形式的最重要的规则。
(二)比例与分割
比率其实比例或者相互分割的意思。在希腊罗马时代,比例几乎与对称做间义语而使用。希腊语中“类似”的意思应该是“依照比例”。其中所说的比例或者相互分割是指长度。比如:美丽的人体具有某一种比例。比例成为美学史上最早提出的法则之一。在文艺复兴时期,比例美成了神圣的法则。达芬奇认为美是完全建立在各部分之间的神圣比例关系上,这实际是说比例法是美感的基础。在古希腊的雕塑中也经常可以看到这种黄金分割的比例。达芬奇的代表作《蒙娜丽莎》就是按照黄金分割的比例来构图的,现代画家也将黄金分割的比例运用到他们的创作构图中。在创作构图中,恰当的运用比例原理是非常有意义的,但是仅仅具备严密的数理逻辑性的绘画并不一定是佳作。如果不考虑到内容,过于追求化,这就会影响到创造性的发挥。
(三)节奏与韵律
节奏是一个有秩序的过程,其可以提供着可靠的步调以及格局。如果构建起了节奏,我们就能够预见到它的连续性。通过保持节奏,可以感受到其中的愉悦。节奏是一种有次序和有规律的变化,其中可以被理解为在形式结构上所形成的视觉效果。秩序规律的模式影响着造型的节奏。人的每一个活动都与某种节奏形式有着非常密切的联系。走路的步态、双膀的摆动都有明显的节奏,不同年龄的人、不同性别的人,其走起路来的节奏也是不相同的。节奏一词本有规律地重复出现的意思。比如:在音乐中曾经被定义为“相互连接的音所经实践的秩序”。对于音乐而言,节奏是非常重要的一个因素。在不具备时间要素的创造作品中,有不少情况都会将节奏作为反复的形态以及构造,比如连续的线等。虽然有时候是静止的作品,观察的视线应该要追求其中所说的线、形与形态要素之间的排列。节奏是一种较为特殊的表现手段,有时候具有直接描绘意义,并且节奏在某种艺术中起着非常重要的作用。如:节奏的视觉、重复形成的节奏、交替形成的节奏以及渐变形成的节奏,所以要合理的控制好节奏。
几乎所有的网格变形技术,无论是基于表面的还是基于体积的,都可以用来作为基于骨架运动动画中的对表面进行蒙皮。④⑤不幸的是,到目前为止,这些方法都不能实现实时的动画。Baran等的线性混合蒙皮(LBS)具有简单高效并且能够利用GPU进行运算,并可以根据骨架进行子空间变形等优点。虽然在质量上的不能够达到很好的效果,但是它仍然成为在实践应用中最常用的方法。所以我们的系统采用该方法。⑥
二、原型系统设计设计过程
对于输入的三维角色模型,我们首先嵌入骨架,然后通过定义骨骼运动对表面网格上每个顶点的变化的影响权值,将表面皮肤依附在骨骼上。对于不同的角色,我们建立不同的罚函数去惩罚那些我们不期望的骨架嵌入方式。基于样本用支持向量机的方法求得最大边缘解,然后对不同罚函数赋予不同的权值。用人工智能中A*启发式的方法在指数级的搜索空间里加速寻找最优的骨架嵌入方式。在蒙皮阶段用热扩散方程的方法去计算骨架运动时每一块骨骼对表面网格上顶点的影响权值。据骨架的变化情况,插值计算出骨架的“蒙皮”模型的各个顶点的位置变化。对于某个特定骨骼,“蒙皮”模型的顶点变换矩阵=初始姿势的变换矩阵的逆×姿势变换后的矩阵。另外还要考虑到一个顶点可能受多个骨骼运动的共同影响。
1.骨架嵌入
由于骨架嵌入需要将骨架重新定义大小和定位使得它能够正确的嵌入到模型当中,所以它能公式化为一个优化的过程:计算关节点的位置和朝向使它能够更好的适合于给定的模型。但是这个优化是一个三维空间的问题,所以连续优化的方法是不可行的。因此可以建立一个用顶点表示潜在关节点,用边表示独立的骨骼的图来简化优化问题。建立这样一个图是具有一定挑战的,因为我们可以用未知数量的顶点和边来表示相同模型的关节和骨架。我们在近似模型垂直等分的平面上建立中轴面,并且建立圆心在中轴面上的圆的一个特定的集合,将这些图的圆心连接起来形成一个图。然后使用自定义的离散的罚函数来最优化的骨架嵌入这个图。为了帮助优化,在给定的骨架中可以包括一些关节点的额外的信息。比如说对称的部位应该以相同的名称命名,又比如如果一个关节被命名为脚,那么就表示它应该事在模型中位置最低的一个关节。由于定义的罚函数是独立于具体的模型的,所以并没有减弱它的通用性。
2.简化骨架
前面的步骤建立了几何图G=(V,E)来表示骨架,我们需要将它嵌入到我们给定的骨架当中。给定骨架原先是以有s个节点的树的形式给出(在一般人形的骨架上会取s=18),但是如果这s个节点没有经过简化,嵌入的优化过程是很难处理的。因此我们需要一个简单的骨架,所以在嵌入骨架之前,需要将骨架简化。所有的自由度为2的关节都将被除去(比如说膝关节),关节两端的骨骼块被连在一起。简化后的骨架将会只有r个连接点。那么骨架嵌入以后缺少某些必要关节的骨架怎么让角色动起来呢?我们根据未简化骨架上关节在整条边上的比例,重新计算出该关节在简化骨架上的位置,然后插入到骨架中。在我们的系统中,简化的骨架中r=7。简化后的结果就是我们可以将简化的骨架嵌入到系统中以最小化罚函数惩罚的对象。否则这样的工作是很难实现的。
3.离散的嵌入骨架和优化
一般不可能计算离散的嵌入方式时使罚函数最小,因为嵌入的数量是指数级的。但是可以用类似分支定界的方法在问题的解空间树T上搜索问题解。我们使用这样一种方法:首先根据部分嵌入的下界估计保存优先级队列。然后在每一步,取出在队列中最好的部分嵌入,将它展开,与下一个关节进行计算,然后将结果保存在队列中。所以,第一个被完整展开的嵌入就是最好的嵌入。为了加速算法并且尽可能少的占用内存,如果部分嵌入有一个很高的下界,那么它将被立即拒绝并不在嵌入到队列中。虽然这种算法在最坏的情况下依然是指数级的,但是在我们测试实际情况它都是很快的。
在骨架嵌入前将骨架进行了简化,省略了很多的关节,比如说膝关节,但简单骨架嵌入以后,要让角色真正的动起来,还是需要重新插入这些关节。在这里可以通过按比列分割骨架图中路径最短的边来得到。我们希望嵌入后的骨架能够很好的满足角色的形态比列,但是,有时候骨架并不能很好的适应我们的角色。同时,一些小的被忽略的骨骼块并没有被赋予正确的朝向。骨架优化的过程就是为了解决这些问题的提出的。
4.蒙皮
我们的角色和嵌入的骨架在将皮肤依附到骨架上之前是没有任何关联的。骨架并不能够驱动角色运动。因此我们需要指定骨架运动与角色表面网格变化之间的联系。虽然在这里我们可以用很多的网格编辑技术来进行网格变形,但是我们选择标准的LBS方法:假设表示网格顶点j的坐标,表示第i块骨骼的变形矩阵,表示第i块骨骼对第j个网格顶点的变形权值。LBS把j变形后的位置表示为。我们的目标就是找到每一块骨骼变化对所有顶点的影响权值。我们所期望权值有以下几个特性:首先它应该与网格的大小无关,其次权值的变化应该平滑,最后关节间两块骨骼的移动宽度必须与关节到表面网格的距离成一定的比例。即使有一个方案能够得到权值使得骨骼能够满足这些特性,但是它们很可能失败因为他们忽略了角色的的几何学特性。作为代替,我们用热平衡原理来寻找权值。假设我们把角色的体积认为是一个不占容积的热导体,然后我们强迫骨骼i的温度为1,而其他骨骼的温度为0。当热平衡以后,我们就可以把表面上每个顶点的温度值作为该骨骼对它影响的权值。
三、实验结果
盼盼动画系统设计时主要依照三个标准:①广泛性。适应于尽可能多的模型。对一些结构比较特殊,或者会产生歧义的模型能够尽可能的正确嵌入骨架。②质量。关键在于蒙皮的技术,让表面皮肤能根据骨架运动驱动正确的位和形变,以期与视频游戏中的模型相媲美。③性能。运行在大多数的家用计算机上。在盼盼动画系统里对采用的模型进行了一些简单的限制:模型必须是全封闭的,并且是以最自然的姿势站立,这样能大幅度的提高骨架嵌入的准确性。当然模型需要是一个有四肢能被嵌入人体骨架的。
图3为盼盼三维角色动画系统的一张截图画面。系统主要包括模型选取、BVH运动数据选取、运行、视图操作、工具条等功能。该系统的运行环境为英特尔酷睿双核CPU,主频为1.73Mhz,内存为1GB。因为盼盼动画系统是单线程的,所以双核的CPU几乎没有什么影响。测试发现,计算的主要消耗花费在分离过程中距离场的计算上。
4、展望
虽然盼盼动画系统在人体动画领域取得了一定的进展,但是它依然存在着不足,限制着它的应用范围。在技术方面,建立骨架图的时候可以用椭圆来建立初始骨架图。在应用方面,首先它的蒙皮质量在某些地方还可以改进,可以通过在骨架上自动蒙皮的技术来提高质量;其次,它的骨架中的关节与一般人体的关节有出入,不能由一般人体骨架运动的数据来驱动,这样就不能很好地利用网络上大量的表现复杂运动的运动数据。另外,盼盼动画系统依然不能够表现手部动画、脸部动画这些需要细节的动作。如果能在后期中加入这些方面的应用,一定能够得到更为广泛的应用,并且大大减少人体动画开发的整个周期。
注释
①LiuP,WuF,MaW,LiangR,OuhyoungM,“Automaticanimationskeletonusingrepulsiveforcefield”,Proc.ofPacificGraphics’2003,pp.309-413.
②TeichmannM,TellerS.“Assistedarticulationofclosedpolygonalmodels.”Proc.ofComputerAnimationandSimulation’98,pp.87-102.
③KatzS,TalA,“Hierarchicalmeshdecompositionusingfuzzyclusteringandcuts”,ACMTransactionsonGraphics,2003,22(3):954-961.
④WadeL.Automatedgenerationofcontrolskeletonsforuseinanimation.PhDthesis,TheOhioStateUniversity,2000.
⑤BaranI,Popovi?J,“Automaticriggingandanimationof3Dcharacters”,ACMTransactionsonGraphics,2007,26(3):72.
2、教学内容上要技术与艺术统一Flash作为一门综合性艺术,涉及了文学、美术、音乐、戏剧等诸多领域,综合了摄影、计算机等许多科学技术手段,所以Flas制作上既要使用视频、音频、摄影等工具,也要应用戏剧、动哂美学等艺术原理,以期达到技术与艺术的统一。从这一方面看,Flas设计课程教学脱离艺术只重技术是不行的。诚然,实践教学有不可比拟的重要作用,但也不能忽视对学生艺术修养和文学素养的培养,所以教学内容要更丰富,多囊括一些文史内容,使技能课与文史科交相呼应,使教学内容达到技术与艺术的统一。比如,开设赏析课、美术课、文学课等,使学生受到艺术与文化的熏陶。在互联网时代里,教学资源是开放共享的,作为一种依托于计算机技术存在的课程,建议构建属于Flash教学的教学资源库,它不仅能不断更新教学内容,也具有较强大的教学影响力。因为它的成立,让原本单方面的书本知识传授转变为灵活的互动教学,建立师生互动课堂,这对提高学生的实战能力是有所裨益的。
3、教学方法上要多样化与多元化为培养学生的动手操作和创新能力,Flas设计与制作课程的教学方法要摆脱传统教学方法的枷锁,针对该门课程的特点,采用陈案例法、项目教学法、任务驱动方法等教学法,力求做到多样化和多元化,更利于学生理解知识。目前,案例教学法是Flash教学最常用的方法,运用有趣味的实例讲解启发学生,引发学生讨论,鼓励学生一起参与教育教学活动,以达到寓教于乐的目的。案例法实施步骤:第一步,案例演示,学生观看;第二步,案例分析,引导学生理清设计思路;第三步,案例讲解,让学生掌握Flas设计技能,并融会贯通;第四步,案例设计,让学生运用所学技能去设计与制作Flas,以锻炼学生的动手操作能力。此外,教学中要着力培养学生的创新力和创造力,学会从周围生活中寻找创作灵感,搜寻素材,清楚知道如何运用自身所掌握的专业知识及软件、工具等去制作Flas。至于怎么做?如何做?等一系列问题,则需要教师因材施教,善于运用教学渠道、教学工具去达到目的,如下面提到的创业园,让学生结合园内项目独立设计、创作,一点一滴的促进自身创新能力的提升。
4、教学手段上要电教化和网络化众所周知,Flas是一种数字动画,以计算机技术为依托,其教学手段自然也应采用符合自身特殊性的多媒体网络教学,所有的教学活动都必须在多媒体教室进行,或计算机机房。例如,在实例教学法中,利用多媒体作案例演示,能让学生更直观的看到整个操作过程,分析讲解后,也可让学生立即进行机上操作。与此同时,多媒体机房链接互联网,随时搜索需要资源,实现资源共享,最大限度的为学生提供设计资源。当然,为防止学生玩电脑游戏,教师要严格机房管理,演示阶段控制电脑,练习阶段巡视课堂,确保课堂教学质量和效果。同时,还可利用网络远程授课,例如建立学习论坛,Flas制作相关技术、软件等,为学生提供充足的学习素材供。最为重要的是,师生、生生之间通过学习论坛可实现无障碍的交流互动,这样的学习方式利用调动学生的学习兴趣和积极性,亦可增进师生间的情感交流,构建和谐平等的教学环境。
5、课堂考核要综合化Flash作为一门实践性很强的课程,有必要通过课程考核来考核学生对Flash工具的实际操作和创意能力,督促学生学习。在考核上采用模块化、项目测试相结合的方式,重点测试学生对基础知识、基恩技能的掌握程度,以及学生的创新能力和综合能力是否达到了能把设计技能学以致用的水平。除了阶段性考试之外,还要关注学生在每一节上机课上的学习过程、学习成果,并及时给予学生反馈,及时肯定学生的学习成果,或更正学生的错误。总之,考核模式以过程考核、期中和期末考试为主,教师评价与小组内评价相结合,给学生一个客观、公正的考核成绩。在考试形式上,可以采用机试,内容包括填空、选择、问答,以及实践操作题,既测试学生的理论知识掌握情况,也考研学生的实际操作能力。例如,考试题目:制作动画短片或MV。考试要求:主题的表达形式新颖,构思独特,有一定的技巧;情节人物、语言等设计引人入胜;人物角色生动,富有艺术想象力;画面美观,色彩和谐;结构设计独到,想象力丰富。这样的考试题目及要求,旨在夯实学生对Flas制作技术的操作能力,提高Flas的制作水平。
6、深化校企合作,成立创业园一直以来,校企合作都是高校动画设计专业加强实践教学的主要方式,也是锻炼学生动手操作能力的重要渠道。对此,校方要持续深化校企合作,与动漫公司保持密切联系。比如,校方派遣专业教师到企业学习、交流经验,指导初入动画制作岗位职员理论,而企业可定期派遣动画制作方面的专业人才到高校客座授课,传授给学生一些成功经验和设计技能。另一方面,校方联同动漫企业成立创业园或工作室,搭建实践与创新平台,实现高校教学与企业岗位之间的有效对接。在这种体系下,建立以工作过程为导向的课程教学体系,让学生了解实际的Flas制作岗位的工作流程、操作技能、注意事项,掌握汇融自己思维及创意制作完整作品的基本方法和过程,能够制作运动动画、变动动画和逐帧动画,全面提升学生的动手操作能力,成为对口企业真正需要的人。