欢迎来到学术参考网

基于嵌入式系统的人工生命动画引擎关键技术研

发布时间:2015-11-30 10:39

摘 要:本文提出了基于人工生命的方法,进行动画引擎的设计,是一种理论上的新尝试,将为现有动画引擎设计增添新方法、提供新思路。考虑到嵌入式系统的存储容量问题,将就如何提高动画运行速度、提高动画效率,以及嵌入式系统中软硬件配置、3D场景与动画的无缝连接等方面进行研究。包括嵌入式系统目标平台和开发平台的介绍、选择和搭建,适应嵌入式系统的人工生命动画新方法,以及动画引擎架构设计流程,并重点分析了动画引擎中图形渲染

关键词:嵌入式系统;人工生命;动画引擎;图形渲染引言
  嵌入式设备上动画的开发,是近年来众多机构争相抢占的市场。为实现界面的友好、美观、趣味性,为解决传统娱乐、游戏模式固定、情节单一的缺点,研究一种真正智能的动画是科技发展的必然产物。基于人工生命方法开发出来的动画,动画主角是一个个“智体”(Agent),动画情景由Agent根据感知到的环境信息,自主进行决策,以驱动行为。研究基于人工生命方法实现嵌入式动画引擎的开发,是嵌入式产品智能化、娱乐化、产业化的发展方向,是追赶世界先进水平的一项基础研究工作。
1、智能终端嵌入式系统开发
  嵌入式系统的开发包括两部分,一个是嵌入式系统的软件部分,包括了所使用的嵌入式操作系统以及上层所使用的应用程序,用以控制整个嵌入式系统的操作流程。另一个所要考虑的开发重点就是所选择使用的嵌入式系统硬件。嵌入式系统与一般桌上型计算机在开发的硬件环境上的最大差异就是它分为两个平台,一个是开发平台(Host),一个是目标平台(Target)。开发平台多指桌上型计算机,是开发人员进行软件设计开发的工具。而目标平台(Target)才是最终的实际应用的嵌入式硬件系统。
1.1目标平台设计
  智能终端是一个嵌入式系统,具有操作系统软件和硬件的平台。嵌入式系统的硬件是以嵌入式处理器为核心,配备必要的外围接口设备。在嵌入式系统中,应尽可能选择适于系统功能要求的处理器和最少的外围部件构成一个应用系统。本课题硬件平台采用的是三星公司的ARM处理器S3C2410X,S3C2410X是采用ARM920T内核的32位RISC嵌入式处理器和一个GPRS Modem。
  一个完整的嵌入式系统不仅包含有硬件平台,还有运行于该硬件平台的操作系统和基于该操作系统的应用软件。目前智能终端设备的操作系统有多种,较为流行的开放式操作系统有Symbian、Windows Mobil、Palm OS、Linux等。由于Linux操作系统具有源代码开放、适应于多种硬件平台、内核功能强大、系统稳定、性能高效、多任务、强大的网络功能、高度的模块化等优点,本项目选择了嵌入式Linux操作系统。
1.2开发平台设计
  本引擎的开发平台是基于pc进行的,实验平台采用的是BREW2.0.1和OpenGL  ES1.02。BREW应用程序的开发主要分为四个步骤,第一步,创建BREW应用程序;第二步,在VC6环境下调试程序,通过在Emulator上执行代码可以看到程序运行效果;第三步,将代码编译成mod文件;第四步,将生成的mod文件通过高通公司下载的Apploader直接上载到手机,从而完成BREW程序的开发。
  在环境搭建中,除了要有BREW SDK以外,还需要一个OpenGL ES扩展工具包。本实验的BREW SDK安装在c:BREWSDK,因此需要对扩展包中的文件进行如下拷贝:将工具包中inc目录下的所有文件拷贝至c:BREWSDKinc目录下;将工具包中src目录下的所有文件拷贝至c:BREWSDKsrc目录下;将工具包中devices目录下的所有文件拷贝至c:BREWSDKdevices目录下;将工具包中的BREW 2.X目录下的dll文件拷贝至c:BREWSDKbinmodules目录下,由于本实验使用的是2.0.1版本的BREW SDK,在这个版本中bin目录下并没有modules目录,所以我们需要创建一个modules目录在进行拷贝。
2、动画引擎架构
  动画引擎是用于控制所有动画功能的主程序,从算法计算、物理系统和物体的相对位置,到接受用户的输入,以及按照正确的音量输出声音、提供各种工具和插件等等。将基于人工生命的动画引擎架构分为三层,底层提供硬件抽象和所有支持平台上的一套标准功能。中层将人工生命方法表达的智体在虚拟环境下进行实现,定义智体接受和映射控制、渲染、及设备事件驱动的标准方式。上层提供全3D特性的引擎和动画世界中需管理的图形对象模式,即动画图形引擎。
  本引擎用到的主要类与数据结构有:
  (1) OGLES_DEMO类    (负责与设备相关的工作)  Void Init(void);负责初始化设备 Static boolean HandleEvent(OPENGL_EGL*pt;AEEEvent eCode;unit16 wParam;unit32 dwParam);负责键盘事件的处理
  (2) RenderSystem类(负责设备上绘制场景)Virtual bool  CreateRenderSystem();创建渲染系统 virtual bool  BeginScene();开始绘制场景  virtual bool LoadFromFile();载入纹理资源  virtual bool DrawTexture();绘制纹理
3、适应嵌入式系统的人工生命动画新方法
  基于人工生命方法的动画在PC机上已经成功实现,但是在嵌入式系统中,由于受到CPU速度、存储器容量等的限制,需要重点提高动画运行效率,因而提出了嵌入式系统下人工生命动画的设计新方法。由于遗传规划算法具有在事先不需要知道解的规模、类型和结构复杂性等情况下,解的属性可以根据问题的需要由求解过程来确定,而且基因编码长度动态可变,这些优点使得遗传规划算法特别适合用于人工鱼实时避障,另外一方面,它的内核占用的空间少,易于用硬件实现特别适合嵌入式设备中,因此本文采用遗传规划算法来实现基于人工生命方法的动画,重点研究在嵌入式系统中,感知系统、决策系统、运动系统;研究基于行为驱动的感知决策融合算法、碰撞检测算法等使动画效率成数量级提高的算法,使动画与设备实现无缝连接。
4、动画引擎中图形渲染的设计
  图形渲染引擎是动画引擎中最关键的部分,超过50%的CPU处理时间花费在渲染引擎上面。如果没有它,众多应用将无法使用。动画让游戏场景可视化,让用户可以看见3D场景,从而让用户能够根据屏幕上所看到的场景做出适当的决断。
  本引擎中进行图形渲染的基本流程如下:第一步:程序开始后初始化设备;第二步:初始化场景;第三步:消息循环;第四步:渲染整个场景;第五步:捕获消息。对各种消息进行处理。按下END将退出系统,使用上、下、左、右四个方向键改变视点位置,可漫游整个场 景;第六步:对于更改过的场景信息进行再次渲染,然后进入第二步,整个系统都是在一个无限的消息循环的当中,一旦接受到键盘消息,就会重新绘制整个场景。
  图形渲染是是引擎中最重要的模块之一,负责基本图元的绘制,光线处理和纹理处理等。进行图形渲染时,考虑到嵌入式平台的图形硬件资源有限,因此将渲染图元选为三角形。因为选择三角形作为基本图元不仅能够方便建模,简化引擎的API,而且在一定程度上大大提高渲染的效率。
  光照是计算机图形学中一个庞大主题,它研究的是光子。当光照射到物体表面上时,光线可能被吸收、反射和投射。被物体吸收的光转化为热,反射和透射的光进入人的视觉系统,使我们能看到物体。为了模拟这一现象,可以建立一些数学模型来代替复杂的物理模型,这些模型就称为光照模型。图形经过消隐以后,再进行明暗效应的处理,可以近一步提高图形的真实感。在光照模型中影响物体表面的色彩和明暗变化主要因素有两个,即光源特性和物体表面特性。光源特性:光的色彩 Color_light =(Ir,Ig,Ib);光的强度 I=0.30Ir+0.59Ig+0.11Ib;物体表面特性:反射系数,物体表面的反射系数由物体表面的材料和形状所决定。显示屏幕上的颜色是使用RGB或颜色索引来表示的,本为是采用RGB模式。在本模式下,漫反射系统K有三个分量K、K、K分别代表RGB三原色的漫反射系数,它们是反映物体颜色的,通过调节它们,可以改变物体的颜色等。
  纹理映射的原理是:预先定义纹理模式,然后建立被映射的多边形表面点与纹理模式点间的对应关系,这种对应关系通常都是通过一个投影函数来实现的。当物体表面的可见点确定之后,依据所确定的两个坐标空间的转换方式,将物体表面点对应的纹理空间中纹素的颜色信息计算出来,并以其作为参与光照模型计算的物体表面材质计算出其对应的光强。纹理映射的整个过程可以用一个通用的纹理管线来表示。通常在建模中使用的投影函数有三角形、球形、圆柱以及平面投影。投影函数的目的就是生成纹理坐标,用位置函数获取纹理坐标只是其中一种途径。
5、结束语
  本文借鉴了基于PC的动画引擎技术的理论基础和实现思路,将人工生命理论与嵌入式系统的图形/动画生成技术相结合,凸现了嵌入式设备的智能性与娱乐性,有着重要应用价值和意义。
  参考文献:
  [1] 吴明. 嵌入式系统中多媒体应用软件的设计开发[D]. [硕士学位论文]南京:东南大学,2005
  [2] 莫军. 基于嵌入式的3D游戏引擎技术的研究与实现[D]. [硕士学位论文]成都:电子科技大学,2006
  [3] 左鲁梅. 三维图形引擎中的关键技术研究[D].中国优秀博硕士论文全文数据库(硕士),2004,(03)
  [4] 黄文高.潘志庚.  人工生命在计算机图形学中的应用[J]. 计算机辅助设计与图形学学报,2005,(07)
  [5] 高翔. 嵌入式三维图形引擎的设计与实现[D]. [硕士学位论文] 成都:电子科技大学,2005

上一篇:单片机教学改革的研究与实践

下一篇:从发展的视野论网络时代高等教育的变革