最佳 3D Java 引擎
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/1197791/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Best 3D Java Engine
提问by Athena
Looking for an easy to use 3D Java Engine API (i.e. not wrapper) that has a good community and good development. Extra features (i.e. audio, input, etc.) are not necessary but nice.
寻找一个易于使用的 3D Java 引擎 API(即不是包装器),它具有良好的社区和良好的开发。额外的功能(即音频、输入等)不是必需的,但很好。
List of the most popular Java 3D graphics APIs I found:
我发现的最流行的 Java 3D 图形 API 列表:
Wrappers / Low Level
包装器/低级
- JOGL- Strong community / Good support / Active
- Java3D- Abandoned (or slowly dying), phased out Scene Graph (or re-tooling into JavaFX?)
- lwjgl- Open GL wrapper, with audio and input handling / Active
Engines
引擎
jMonkey Engine- Wikipedia- Active
- Branching between version 3.0 and 2.0 (may hurt community)
- 在 3.0 和 2.0 版本之间进行分支(可能会伤害社区)
Bindenlicht- No Wikipedia! - Not active
Bindenlicht- 没有维基百科!-不活跃
High Level (Not designed for gaming)
高级(不是为游戏设计的)
- Processing- Doesn't seem suited for gaming but for graphics visualizations and demos
- Jzy3d- An easy to use Java API for 3d charts (surfaces, scatters, bar charts, etc). Built on top of JOGL
Update: Please pick a JAVA engine and explain why its your choice! Thanks!
更新:请选择一个 JAVA 引擎并解释为什么选择它!谢谢!
回答by Harald Scheirich
You are mixing libraries and levels of libraries, Jogl and lwjgl are both pretty thin wrappers around OpenGl (IIRC lwjgl has more wrappers for OpenAL i.e. audio). While you can write a game using pure opengl you will probably spend a lot of time managing geometry, building (or reinventing) a scenegraph and other management functionality.
您正在混合库和库级别,Jogl 和 lwjgl 都是围绕 OpenGl 的非常薄的包装器(IIRC lwjgl 有更多的 OpenAL 即音频包装器)。虽然您可以使用纯 opengl 编写游戏,但您可能会花费大量时间管理几何图形、构建(或重新发明)场景图和其他管理功能。
Processing is mostly 2D oriented.
处理主要是面向 2D 的。
I don't have any experience with ogre4j, but the last time I looked JMonkey was under current development looking at the 2.0 repositorythere is a long list of changes that are current.
我对 ogre4j 没有任何经验,但上次我查看 JMonkey 时正在查看2.0 存储库的当前开发中,有一长串当前的更改列表。
If you are not too set on using Java consider some of the alternatives Torque(private Scripting Language) Panda3d(python) or the aforementioned OGRE using C++. I don't know what classes and constructs you are talking about in your first paragraph, but having a library or backend that takes care of the scene management, visibility calculations, sound management, game loop, possibly even networking might be a better driver for your decision than a specific language feature.
如果您不太愿意使用 Java,请考虑使用Torque(私有脚本语言)Panda3d(python)或前面提到的使用 C++ 的 OGRE。我不知道您在第一段中谈论的是什么类和构造,但是拥有一个负责场景管理、可见性计算、声音管理、游戏循环甚至网络的库或后端可能是更好的驱动力您的决定不是特定的语言功能。
回答by Charles Goodwin
I would look at Ardor3D and have another look at JMonkeyEngine.
我会看看 Ardor3D,然后再看看 JMonkeyEngine。
Ardor3D
阿朵3D
UPDATE:Ardor3D's developer ceased the project, but a subset of it continues to exist
更新:Ardor3D 的开发人员停止了该项目,但它的一个子集继续存在
Created by the original JMonkeyEngine developer(s) who decided a clean break was required so they could start over and use all the experience gained to create a better API and platform.
由最初的 JMonkeyEngine 开发人员创建,他们决定需要彻底打破,以便他们可以重新开始并利用获得的所有经验来创建更好的 API 和平台。
The people I know who have used Ardor3D have very positive things to say about its design and API. It is actively maintained and has a good community and good API documentation, although tutorials are a little short in supply and generally you'll have to be familiar with 3D programming concepts to be able to pick it up.
我认识的使用过 Ardor3D 的人对其设计和 API 有非常积极的评价。它得到积极维护,并拥有良好的社区和良好的 API 文档,尽管教程供应有点短缺,通常您必须熟悉 3D 编程概念才能掌握它。
JMonkeyEngine 3
JMonkeyEngine 3
A community-led rewrite of JMonkeyEngine 2, driven by dissatisfaction with JME2 design and related issues caused by said design, it has gone from strength to strength since its release.
社区主导的 JMonkeyEngine 2 重写,由于对 JME2 设计的不满以及由该设计引起的相关问题,它自发布以来不断发展壮大。
There is ample documentation including tutorials and plenty of projects using it. If you had issues with JMonkeyEngine 2 or earlier, it is well worth another look at version 3.
有大量的文档,包括教程和大量使用它的项目。如果您在使用 JMonkeyEngine 2 或更早版本时遇到问题,则非常值得再看看版本 3。