欢迎来到人人文库网! | 帮助中心 人人文库renrendoc.com美如初恋!
人人文库网
首页 人人文库网 > 资源分类 > DOC文档下载

基于java3D的模型动作引擎毕业论文.doc

  • 资源大小:589.00KB        全文页数:13页
  • 资源格式: DOC        下载权限:游客/注册会员/VIP会员    下载费用:5
游客快捷下载 游客一键下载
会员登录下载
下载资源需要5

邮箱/手机号:
您支付成功后,系统会自动为您创建此邮箱/手机号的账号,密码跟您输入的邮箱/手机号一致,以方便您下次登录下载和查看订单。注:支付完成后需要自己下载文件,并不会自动发送文件哦!

支付方式: 微信支付    支付宝   
验证码:   换一换

友情提示
2、本站资源不支持迅雷下载,请使用浏览器直接下载(不支持QQ浏览器)
3、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

基于java3D的模型动作引擎毕业论文.doc

1基于JAVA3D的模型动作引擎中文摘要本工程着重对既有三维模型的复用,和对模型动画的制作。现在业界很少有基于JAVA3D的动画引擎,本工程也是对JAVA3D在动画方面的创新。工程围绕对3DMAX文件格式的解析,动画帧的设计,动画文件的存储,动画的驱动,以及用户界面的设计做了详尽的说明,并提供了可运行的范例代码。在工程的尾声部分,着重说明了代码的重构过程和调试方式。使代码更加精简,易读。英文摘要THISPROJECT,TOALREADYHAVINGTHEREPLYINGANDUSINGOFATHREEDIMENSIONALMODELEMPHATICALLY,ANDTHEMAKINGOFTHEMODELANIMATIONSELDOMTHEREISAENGINEOFANIMATIONBASEDONJAVA3DINTHEINDUSTRYNOW,THISPROJECTISINNOVATIONINANIMATIONTOJAVA3DTOOTHEPROJECTCENTRESONTHEANALYSISOF3DMAXFILELAYOUT,THEDESIGNOFTHEANIMATIONFRAME,THEMEMORYOFTHEANIMATIONFILECORRECTLY,DRIVEOFANIMATION,ANDDESIGN,USEROFINTERFACEMAKEEXHAUSTIVEEXPLANATION,HAVEOFFEREDTHEEXAMPLECODETHATCANBEOPERATEDINSOMEOFCODAOFTHEPROJECT,HAVESTATEDCONSTRUCTINGTHECOURSEANDDEBUGGINGTHEWAYAGAINOFTHECODEEMPHATICALLYMAKETHECODESIMPLIFIEDFURTHER,LEGIBLE关键词JAVA3D、GUI、SWING、GUI、重构1、概述11需求分析在3D愈来愈普及的情况下,了解并掌握相关知识已经成为从业者的当务之急。12开发工具选择目前开发三维图形有几种工具WINDOWS上的DIRECTX,支持多平台的OPENGL。论资源,OPENGL和DIRECTX都有很多的可参考编程实例可以参考。其中DIRECTX由于有比较快的更新速度,集成程度比OPENGL高。OPENGL由于是硬件接口,比DIRECTX的硬件映射模式速度略高。据我观察,DIRECTX的普及率比OPENGL略高。可以说两者不相伯仲,可以任选其一。我选择用JAVA开发,因为有一个系统的3D程序设计结构有利于以后向其他语言转变。而JAVA的系统化正是他的优点。13可行性分析现在用JAVA开发3D游戏有两种途径/1JAVA3D这里面还分基于OPENGL和基于DIRECTX两种。/2JOGL。也就是JAVAOPENGL的缩写JAVA3D的结构继承了JAVA的严谨。条理性趋近于完美。其结构如下VIRTUALUNIVERSE||LOCALE|/\BGBG2||TGTG|\SHAPEVIEWPLATFORMVIEWCANVAS3DSCREEN3D|\/\APGEVIEWERENVIORMENTBGBRANCHGROUP分支节点TGTRANSFORMGROUP变换节点,可以用变换矩阵控制APAPPEARANCE物体外观数据GEGEOMETRY物体形状数据效率问题JAVA3D最大的问题就在于效率,实现同样的东西,FPS远不及用VCD3D实现的高。这就是JOGL产生的原因。缺陷动态加载就很成问题。14工程定位及概念设计我选择制作模型动画引擎,并选择最著名的模型制作软件3DMAX制作出来的模型(3DS)作为我的引擎导入模型格式。这不仅因为3DS模型逼真,而且这种模型在网上有很多共享资源可以使用。2、基于JAVA的模型动作引擎的选定和系统总体设计有人说种纯OO的语言JAVA,C在程序设计上强制OO,不仅仅带来了条理性和可靠性,在可重用方面更是其他语言不能比拟的。21工程的划分主模块/驱动模块ANIMATIONEDITORJAVA功能一切模型和视角动作的驱动(用主循环实现),程序入口(MAIN方法和SETUP方法),GUI部分及响应(SWING类库和LISTENER的使用)。IO模块MODELLOADERJAVA,FRAMEIOJAVA,LOCALDAOJAVA功能负责模型的导入(3DS格式的解析,形成JAVA3D格式模型),动画的导入和导出(采用对象导入导出技术,对动作组进行反射压栈),本地数据库访问。对象模块AFRAMEJAVA,MOVEMATRIXJAVA,MODELSTRUCJAVA功能帧结构,动画结构,模型结构功能模块FRAMEACCESSERJAVA,FRAMEPLAYERJAVA,MODELCUTTERJAVA,功能帧结构访问代理类,动画播放类(插值器),模型切分类(反射机制实现)辅助模块AXISJAVA,LANDJAVA,SRCNAMECHECKJAVA功能坐标轴,三维地面参考,源路径检测。控制模块GAMECONTROLJAVA,PICKHIGHLIGHTBEHAVIORJAVA功能编辑器视图控制,被选择部分模型高亮显示。资源模块3DS,ANI功能模型资源,动画资源22结构流程图323数据存储方式选择由于采用3DMAX的3DS作为导入资源,所以用平面文件存储数据比用数据库更具有灵活性和可扩展性。用户可以方便的通过复制粘贴,或者指定路径来编辑指定模型的动画。每个模型的动画被存为单独的文件,便于传播和拷贝。24设计环境采用IDEECLIPSE环境WINDOWSXPPROFESSIONALEDITION,JAVASDK1412,JAVA3D1_3_1WINDOWSI586OPENGLSDK3、数据结构分析与设计31导入数据结构分析属于IO模块3DS文件数据是由块(CHUNKS)组成的。块描述了紧接着的数据的信息,和数据的组成,以及数据块的ID和下一个块的位置。如果有不明数据块,就忽略他。下一个块的指针在这个不明块的开始就有说明。3DS文件的二进制信息使用非常特殊的方式写的,也就是汇编方式,与正常的高位和地位正好相反。比如4A5C,那么5C是高位,4A是地位。如果一个长整数为4A5C3B8F,那么5C4A是低位,8F3B是高位。对于数据块,被定义为STARTENDSIZENAME012CHUNKID254POINTERTONEXTCHUNKRELATIVETOTHEPLACEWHERECHUNKIDIS,INOTHERWORDSTHELENGTHOFTHECHUNK块有一个用ID表明的层次关系。3DS文件的主块ID是4D4DH。这个块永远是文件的第一个块。4下面的表就是块树的层次关系,不同的块ID就表明了他们的属性和位置。每一个块都被起了一个名字,这样是为了更便于将其放在源代码中。MAIN3DS0X4D4D|EDIT3DS0X3D3D|||EDIT_MATERIAL0XAFFF|||//详见3DMAX文档|KEYF3DS0XB000|KEYF_UNKNWN010XB00A0X7001VIEWPORT,SAMEASEDITOR32模型结构拆分(属于功能模块)在导入3DS模型的时候形成了以整体模型为根节点的BRANCHGROUP,其模型的树状结构如下TG整体模型|BG|\\BGBG|\TGTG|\SHAPESHAPE这些是模型最小分割|\GEOAP在JAVA树中,我们可以用父节点枚举子节点。利用反射原理,将整个的模型分割成最小的块。下面的MODELCUTTER类用来分割模型。PUBLICCLASSMODELCUTTER33帧结构设计(属于对象模块)对于模型的每一个最小细分,一个帧应该记录这个最小细分的三维位置向量,三维旋转量,和三维比例。除了这些,帧还应该有自己在整个动画里面的序号,指向前一个帧和后一个帧的指针。作为辅助,应该加上TOSTRING函数,这样随时可以获取当前帧的信息。最后提供了一个方便的构造函数,可以便捷的将输入帧作为上一帧。PUBLICCLASSAFRAMEIMPLEMENTSSERIALIZABLE34动画结构ANI的设计(IO模块)有两个问题在这里需要讨论第一个是保存什么的讨论,在这里有两个选择,保存每个帧,或者保存关键帧。前

注意事项

本文(基于java3D的模型动作引擎毕业论文.doc)为本站会员(网游小王子)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网(发送邮件至[email protected]或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。

关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

网站客服QQ:2846424093    人人文库上传用户QQ群:460291265   

[email protected] 2016-2018  renrendoc.com 网站版权所有   南天在线技术支持

经营许可证编号:苏ICP备12009002号-5