最佳3D Java引擎 [已关闭]

2022-09-01 04:01:31

寻找一个易于使用的3D Java引擎API(即不是包装器),它有一个良好的社区和良好的开发。额外的功能(即音频,输入等)不是必需的,但很好。

我发现的最流行的Java 3D图形API列表:

包装机/低液位

  • JOGL - 强大的社区 / 良好的支持 / 活跃
  • Java3D - 被遗弃(或慢慢消亡),逐步淘汰Scene Graph(或重新工具进入JavaFX?
  • lwjgl - 开放式 GL 包装器,带音频和输入处理/活动

发动机

jMonkey引擎 - 维基百科 - 活跃

  • 在 3.0 和 2.0 版本之间分支(可能会损害社区)

ogre4j - 维基百科 - 活跃

Bindenlicht - 没有维基百科!- 未激活


高级(不是为游戏而设计的)

  • 处理 - 似乎不适合游戏,但适合图形可视化和演示
  • Jzy3d - 一个易于使用的Java API,用于3D图表(表面,散点图,条形图等)。建在乔格之上

更新:请选择一个JAVA引擎,并解释为什么它是您的选择!谢谢!


答案 1

我会看看Ardor3D,再看看JMonkeyEngine。


阿多尔3D

更新:Ardor3D的开发人员停止了该项目,但其中的一个子集仍然存在。

由最初的JMonkeyEngine开发人员创建,他们决定需要一个干净的休息,以便他们可以重新开始,并利用获得的所有经验来创建更好的API和平台。

我认识的那些使用Ardor3D的人对其设计和API有非常积极的看法。它得到了积极的维护,并拥有良好的社区和良好的API文档,尽管教程供应有点短缺,通常您必须熟悉3D编程概念才能获得它。


JMonkeyEngine 3

社区主导的JMonkeyEngine 2重写,由于对JME2设计的不满以及由所述设计引起的相关问题,自发布以来,它已经变得越来越强大。

有充足的文档,包括教程和大量使用它的项目。如果您在使用JMonkeyEngine 2或更早版本时遇到问题,则非常值得再看一下版本3。


别人


答案 2

您正在混合库和库级别,Jogl和lwjgl都是OpenGl的非常薄的包装器(IIRC lwjgl有更多的OpenAL包装器,即音频)。虽然你可以使用纯 opengl 编写游戏,但你可能会花费大量时间来管理几何体、构建(或重新发明)场景图和其他管理功能。

处理主要是面向 2D 的。

我对ogre4j没有任何经验,但是我最后一次查看JMonkey是在当前开发中查看2.0存储库时,有一长串最新的更改。

如果你不太喜欢使用Java,请考虑一些替代方案 Torque(私有脚本语言)Panda3d(python)或前面提到的使用C++的OGRE。我不知道你在第一段中谈论的是什么类和结构,但是拥有一个负责场景管理,可见性计算,声音管理,游戏循环甚至网络的库或后端可能是比特定语言功能更好的决策驱动因素。


推荐