使用Java开始简单3D用户界面的最佳方式?

时间:2009-01-01 15:53:48

标签: java 3d

我正在编写一个时间管理应用程序,我有一个在3D中呈现时间轴和待办事项的想法。在视觉上,我想象这是沿着3D走廊或高速公路向下看,即将到来的截止日期和任务表示为路标 - 更重要的项目更大,即将到来的最后期限更近。

我想用Java做到这一点,但我不知道如何开始。例如,我希望能够在corridoor的地板/墙壁上以及任务项目上渲染文本和2D图形(日期,日历等)。任务本身可以是简单的块。然而,我看到的3D代码示例都看起来都在非常低的水平上运行,而我无法弄清楚的是要使用的适当坐标,或者用户如何通过选择与视图交互使用鼠标的项目(例如,单击展开或信息按钮以使用常用的摇摆组件获取/编辑任务属性)。

我可以使用更高级别的API,还是执行此类操作的示例代码?关于如何最好地解决这个问题的任何其他想法?

编辑:删除了Java3D要求 - 我只需要在Java中执行此操作。

3 个答案:

答案 0 :(得分:2)

说实话,大多数“聪明”的用户界面由于多种原因而无效:

  • 他们赞成复杂性(为了凉爽)而不是简单性和可用性。
  • 他们可能对用户完全不熟悉。
  • 你必须自己实施它们而不需要一些图书馆为你做过艰苦的工作。

我认为您描述的界面存在陷入此陷阱的风险。当前界面有什么问题?由于前景的问题阻碍了概述,难道不是很难得到概述吗?当然,你现在可以更进一步,缩小/旋转以获得概述,但这会使事情变得复杂。

说了这么多,如果你能让它易于使用而且真的光滑,那么它就可以成为一个应用程序。用户对“奇特”用户界面失败的容忍度较低,因此这可能不是最好的第一个3D项目。

我认为需要更多面向可视化而不是游戏的示例。

答案 1 :(得分:1)

老实说,尝试过这两种方法,如果你使用JOGL而不是你会发现有大量的OpenGL例子来复制那种东西,你就不必围绕场景图的限制来编写Java3D给出的您。几年前我在一个简单的线框查看器中尝试过Java3D,让相机控制正确并且渲染到任何接近OK的位置都是如此痛苦,我放弃了它。

答案 2 :(得分:1)

我发现Pro Java 6 3D Game Development包含非常好的代码示例。

这是来自code exampleNeHe Productions! 3D文本,请查看示例末尾的“DOWNLOAD Java Code”和“DOWNLOAD JoGL Code”。

另一方面,我对LWJGL印象非常深刻,这使得您以与直接OpenGL非常相似的方式编写。