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

收藏 分享

资源预览需要最新版本的Flash Player支持。
您尚未安装或版本过低,建议您

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模块)有两个问题在这里需要讨论第一个是保存什么的讨论,在这里有两个选择,保存每个帧,或者保存关键帧。前
编号:201311181527511171    类型:共享资源    大小:589.00KB    格式:DOC    上传时间:2013-11-18
  
5
关 键 词:
专业文献 学术论文 精品文档 基于java
  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:基于java3D的模型动作引擎毕业论文.doc
链接地址:http://www.renrendoc.com/p-101171.html

当前资源信息

4.0
 
(2人评价)
浏览:45次
网游小王子上传于2013-11-18

官方联系方式

客服手机:17625900360   
2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   

精品推荐

相关阅读

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

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

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

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