我想创建一个 MMO 3D 游戏,我正在寻找一个 3D 引擎,我的问题是关于javaFX 8,我可以用它来渲染大量 3D 立方体、模型和动画而不会损失性能还是最好使用lwjgl?
最后一个问题是:javaFX 8可以用作3D引擎吗?
要回答您的问题:
我可以用它来渲染大量的 3D 立方体、模型和动画而不损失性能吗?
这对很多人来说(我认为)是一个问题……虽然没有明确的答案,但有办法让它发挥作用。
例如,我最近构建了一个简单的 Cloth-Simulator,(第一个 Spheres 用于顶点,然后是一个实际的 TriangleMesh)起初我采用了使用 AnimationTimer 进行更新循环的方法,它可以工作,但只能达到一定的计算范围.
我的第二种方法是创建一个 Timer,以固定的 timeStep 间隔使用 ScheduledService,并将其设置为在完成时更新 UI。
在性能开始摇摆之前,我几乎可以将顶点数量增加一倍。这是一个相当大的改进,因为我能够拥有 20k 个顶点(不是我推荐的)。
你可以在 youtube 上看到结果:
所以实际上,这完全取决于您希望花费多少时间来创建解决方案。
javaFX 8可以用作3D引擎吗?
再一次,这真的完全取决于你想花多少时间来开发框架。我个人一直在尝试为此目的构建一个工具集,并不是每件事都能成功,但旅程是解决方案的一半。
如果您有兴趣了解我的布料模拟方法,您可以在此处找到所有来源:F(x)yzLib以及许多其他有用的功能/形状等...
是的,我认为 JavaFX 8 对于 3D 游戏来说已经足够快了,但在着色器方面它并不是当前 3D 的最前沿。我一直在尝试掌握它,但它缺少像您在 Three.js 中获得的 Camera lookAt 方法。
Lwjgl 和 JMonkeyEngine 是目前 Java 3D 游戏开发的更好选择。
I'm making this 3D space shooter with JavaFX: http://lightspeedpatrol.weebly.com/features-and-info.html So I can tell you that it mostly works, but the lighting options are really limited as Allan mentioned. It was a good learning tool since it was the first time i've done anything related to 3D, but in the long run I think I'd be better off using LWJGL.
javaFx 非常适合简单的 2D 游戏,但在 3D 游戏中 lwjgl 或 jmonkeyEngine 比 javafx 更好,我认为它对于 3D 游戏来说太慢了(但在非常简单的事情中它可能很好)