jMonkeyEngine

为勇于创新的Java开发人员设计的跨平台游戏引擎

简介

jME3是什么?

jMonkeyEngine(简称jME)是一款免费、开源的游戏引擎,专门为那些希望用最新技术创作3D游戏的Java程序猿而制作。该引擎采用纯Java开发,目的是让更多人能够使用,并且软件部署时间也更短。

jME3为谁而来?

jME3与可视化的RPG Maker或FPS modder不同,你得懂一点编程知识才会得到jME的全力支持。大胆前进,jME将会是所有向往3D游戏开发人员的起点。

Java非常火爆!

一旦用对了,Java可以做得飞快!毫不客气地说,Java总是比C++更容易做好。我们为Java程序猿提供制作高性能3D游戏的工具,可以媲美任何其它3D游戏引擎,而且开发者再也不必担心编译代码的事了。

黑客的避难所

jME在设计之初就定义成可扩展的,它不会告诉你怎么制作游戏。同时jME采用新的BSD开源协议,意味着用户可以自由使用jME的代码做任何事情。如果你希望分享自己做的东西,可以通过jME3 SDK的专属插件把它共享,并且可以自动更新。

跨平台、跨设备

jME游戏可以发布在Windows,Mac和Linux系统上,也可以发布在Android和iOS系统上。不仅如此,jME还支持任何ARVR技术所需的外围新设备,最值得一提的是还支持Oculus Rift

丰富的文档和支持

我们没有理由不做好文档,事实上jME拥有极其丰富的文档,并且持续扩充。仔细研读jME的wiki网页,那儿有几百页的内容详细说明jME3的所有事项。不但如此,jME3还有开发者社区,那儿很热闹而且还有各种最新的帮助。

图形

光和影

jME3提供所有常规手段来模拟烛光、阳光、闪光和全局光照,阴影效果用类似PSSMSSAO等技术实现。对于Android系统,我们推荐使用烘焙阴影效果。

染色器和材质

jME3的材质系统完全基于染色器(Shader)技术实现,采用称为Shader Nodes的创新设计来将染色器超级模块化,使其能够在可视化编辑器中进行编辑。当然,你依然可以手动编写染色器代码。

滤镜和特效

jME3使用后置处理器滤镜以及粒子发射器等技术,能够实现多种多样的特效,比如水面、雾化、光照散射、爆炸特效等。

游戏逻辑

应用程序状态

应用程序状态(AppState)是创建应用程序的基本组件。它们可以帮你把应用程序分割成几个逻辑模块,也可以用来快速扩展基础应用程序。

AppState还可以在其它应用程序中复用,这样你就能迅速创建自己的AppState库,把其它扩展程序纳入到自己的应用程序里。

自定义控件

自定义控件(Custom Control)和AppState类似,但是它们是基于更小的场景对象级别的。用自定义控件,你可以给场景图中的对象添加功能,赋予它们生命,控制它,或者把它合并到另外的工作流中。

输入

基于统一标准的输入用具,jME3可以广泛应用于各种平台,允许用户使用键盘、手柄和触屏等不同方式来在操作同一界面。

通用组件

物理

jME3依赖jBullet实现物理仿真。jBullet是Bullet Physics Library的一个Java接口,业内顶尖高手都喜欢用它。

地形

JME3 SDK内嵌地形编辑器(TerraMonkey)可以用来创建地形。你也可以导入高度图,把它放在天空盒中,添加光照,享受自动LOD优化。

电影制作

借助几个电影制作工具,就可以用自己修剪的场景来创建小电影了。只需要几条协调好的动作路径和声音事件,不需要太多关键帧就能讲述一个好故事。

联网

SpiderMonkey可以帮助你开发联网游戏。如果你已经熟知UDP、TCP、压缩和线程安全等概念,就可以直接使用它了。

图形用户界面

NiftyGUI是一个独立的库,它与jME3整合在一起作为系统默认的GUI工具。设计人员和开发人员都可以用XML或者Java构建界面。不过由于每个程序猿都是不一样的,所以我们提供两套独立的GUI插件供选择。