`
windybell
  • 浏览: 15578 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

学习JME3的第一次小结

 
阅读更多
折腾JME3已经有一段时间了,目前已经基本掌握了这么几个技能:
1、3D数学知识
(1)用向量Vector3f、Vector2f、Vector4f表示顶点、位移、方向、速度等;
(2)用矩阵Matrix3f、Matrix4f描述空间变换;
(3)用四元数(Quaternion)描述旋转轴和旋转角度;
(4)3D模型概念Spatial、Node、Geometry、Mesh、Material、Texture;
(5)场景树rootNode
(6)Tranlation、Rotate、Scale
2、游戏资源管理
(1)3D模型、天空盒、音乐、贴图、动画等资源文件的加载和使用。
(2)资源加载、资源定位和资源打包
(3)使用AssetLoader加载自定义资源格式
3、GUI
(1)Nifty-gui
(2)tonegod-gui
(3)Picture类的使用
(4)BitmapFont字体制作
(5)在内存中直接操作jme3的Image对象,进行计算机图形学运算:灰度、二值化、Alpha通道等处理
4、动画
(1)动画控制:AnimData、AnimControl、AnimChannel
(2)骨骼动画:Bone、Skeleton、Track、Keyframe
5、特效
(1)光影
(2)水反
6、物理
(1)理解物理空间、碰撞箱、刚体/软体等概念
(2)熟悉了Bullet物理引擎在JME3中的用法
7、游戏核心(core)
(1)Application和SimpleApplication的应用程序生命周期
(2)AppStates、Control生命周期
8、输入/输出
(1)InputManager
(2)按键绑定、事件监听器
(3)键盘输入汉字
(4)对象持久化:Savable/Readable接口,序列化和反序列化

目前客户端技术基本上看了一圈,暂时不深入研究了,开始考虑游戏的逻辑结构。
除了JME3以外,接下来还要开始研究这么几个技术:
1、实体系统框架 Entity-System Framework
http://www.richardlord.net/blog/what-is-an-entity-framework
http://www.richardlord.net/blog/why-use-an-entity-framework
2、Marauroa,一款用Java语言编写的开源MMORPG游戏框架
http://sourceforge.net/projects/arianne/files/marauroa/
3、Stendhal,使用Marauroa开发的游戏
https://stendhalgame.org/
0
2
分享到:
评论

相关推荐

    JME3学习文档

    #### 编写第一个JME3程序 创建`HelloJME3`类,继承自`SimpleApplication`,并实现基本的3D图形显示。 ```java import com.jme3.app.SimpleApplication; import com.jme3.material.Material; import ...

    jme3 api(精华chm)

    com.jme3.animation com.jme3.app com.jme3.app.state com.jme3.asset com.jme3.asset.pack com.jme3.asset.plugins com.jme3.audio com.jme3.audio.joal ...jme3tools.preview

    JME3中文教程(ZBP第一版)

    **JME3中文教程(ZBP第一版)** Java Media Engine 3,简称JME3,是一个基于Java的开源3D游戏引擎,专为开发高质量的2D和3D游戏而设计。它提供了丰富的功能,包括图形渲染、物理模拟、音频处理、网络通信等,使得...

    JME3 中文教程(ZBP翻译第一版)

    《JME3 中文教程(ZBP翻译第一版)》是一个专门为Java Media Engine 3 (JMonkeyEngine 3,简称JME3)爱好者和开发者准备的教程资源。JME3是一个开源的3D游戏开发框架,它基于Java编程语言,为开发者提供了高效、便捷...

    2015jme3指南

    《2015jme3指南》是一份关于Java Media Engine 3 (JME3)的详细教程,主要面向对游戏开发感兴趣的开发者。JME3是Java平台上的一个开源3D游戏开发框架,它提供了丰富的功能,使得开发者可以快速创建高性能的3D应用和...

    jme3游戏demo rise-of-mutants

    然而,随着技术的进步,Java也逐渐进入了游戏开发的舞台,其中JMonkeyEngine(简称jme3)就是一个强大的3D游戏开发框架。本篇将深入探讨基于jme3开发的“Rise of Mutants”游戏Demo,以及它所涉及的关键技术和知识点...

    JME中文教程.pdf

    - **定义与特点**:jMonkeyEngine3(简称JME3)是一款纯Java编写的免费3D游戏引擎,具备丰富的功能集,适用于各类游戏开发需求。该引擎不仅功能全面,其API设计简洁明了,易于学习掌握。 - **应用场景**:主要应用...

    jme3材质基础知识

    其中,材质系统是jME3的核心部分之一,用于控制模型表面的外观,包括颜色、反射、透明度等属性。 材质在jME3中由`Material`类表示,它包含了多个`Texture`和`ShaderProgram`。`Texture`用于存储图像数据,如颜色、...

    JME3 JAVADOC

    JME是一个高性能的3D图形API,采用LWJGL作为底层支持。它的后续版本将支持JOGL。JME和Java 3D具有类似的场景结构,开发者必须以树状方式组织自己的场景。JME有一套很好的优化机制,这使得它得运行速度要比Java 3D快...

    JME教程.rar

    Java Micro Edition(JME,前身为Java 2 Platform, Micro Edition,J2ME)是一个针对嵌入式设备和移动设备的Java平台。本教程将深入探讨JME的基础知识及其在开发移动应用程序中的应用。 JME的目标是为资源有限的...

    JME程序设计实例教程

    **JME程序设计实例教程详解** Java Micro Edition(JME),又称为Java 2 Micro Edition...通过学习,开发者不仅能够理解JME的编程模型,还能熟练运用其API,解决实际问题,为移动和嵌入式领域的软件开发打下坚实基础。

    JME的文件格式及支持的文件格式

    JMonkeyEngine 3(简称JME3)是一款开源的游戏开发引擎,专为构建3D游戏和应用而设计。它支持多种文件格式,使得开发者能够方便地导入和管理游戏资源。以下是对JME3支持的文件格式的详细解释: 1. **j3o**:这是JME...

    JME学习文档—中文版.rar

    JME的核心在于它的可移植性,它允许开发者编写一次代码,就能在多个平台上运行,这得益于其“Write Once, Run Anywhere”(WORA)的原则。JME包括几个关键组件,如Configuration、Profile和Feature Set,它们定义了...

    联想的JME2207P键盘驱动

    标题中的“联想的JME2207P键盘驱动”是指专门为联想品牌的一款键盘型号为JME2207P的设备设计的驱动程序。在计算机硬件系统中,驱动程序是连接操作系统与硬件设备的关键软件,它使得操作系统能够识别并控制特定硬件,...

    相关技术\游戏引擎,JME

    6. **社区支持**:JME有一个活跃的开发者社区,提供了许多教程、示例项目和第三方库,帮助开发者解决问题并加快开发进度。 7. **轻量级**:与一些大型游戏引擎相比,JME的体积小,启动速度快,适合开发移动设备上的...

    JME初级教程(持续跟新)

    Java Media Engine (JME), 也称为jMonkeyEngine 3 (JME3), 是一个开源的游戏开发引擎,专为快速创建3D游戏而设计。它基于Java编程语言,提供了丰富的功能,包括图形渲染、物理模拟、音频处理以及网络通信等。JME3是...

    JME商业游戏进阶二 (地表层的神秘面纱1)源代码

    JME是Java平台上的一个高性能、轻量级的游戏开发框架,它为游戏开发者提供了丰富的图形、音频以及物理模拟等功能,使得创建复杂的3D游戏变得可能。 源码在"ditu_example"这个文件夹中,我们可以从中学习到以下几个...

    jme8002b蓝牙键盘驱动

    jme8002b蓝牙键盘驱动

    JME试题及答案 socket 多线程 高级UI

    - **解析**:RMS(Record Management System)是JME中用于存储小量数据的简单数据库系统,而MS Access是一种桌面级的关系型数据库管理系统,两者之间不存在直接的相似之处。 **3. Sprite使用`paint()`方法** 正确...

Global site tag (gtag.js) - Google Analytics