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

使用Java开始简单3D用户界面的最佳方法?,java,3d,Java,3d,我正在编写一个时间管理应用程序,我有一个用3D显示时间表和待办事项的想法。在视觉上,我想象这是在3D中俯瞰走廊或高速公路,即将到来的最后期限和任务以路标表示——更重要的项目越大,即将到来的最后期限越近 我想用Java来做这件事,但是我不知道如何开始。例如,我希望能够在门的地板/墙上以及任务项上渲染文本和二维图形(日期、日历等)。任务本身可以是简单的块。然而,我所看到的3D代码的示例看起来都是在非常低的级别上运行的,我不知道要使用的是适当的坐标,或者用户如何能够通过使用鼠标选择项目与视图交互(例如

我正在编写一个时间管理应用程序,我有一个用3D显示时间表和待办事项的想法。在视觉上,我想象这是在3D中俯瞰走廊或高速公路,即将到来的最后期限和任务以路标表示——更重要的项目越大,即将到来的最后期限越近

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

有没有我可以使用的更高级别的API,或者做这类事情的示例代码?关于如何最好地解决这个问题,还有其他想法吗


编辑:删除了Java3D要求-我只需要用Java来做这件事。

老实说,两种方法都试过了,如果你用JOGL,你会发现有很多OpenGL的例子可以复制,你不必编写Java3D给你的场景图的限制。我几年前在一个简单的wirefr中试过Java3Dame viewer,要获得正确的相机控制和接近OK的渲染是一件非常痛苦的事情,我放弃了它。

老实说,尝试了这两种方法后,如果你使用JOGL,你会发现有大量OpenGL示例可供复制,而且你不必围绕Java3D提供的场景图的限制编写代码。几年前,我曾在一个简单的线框查看器中尝试过Java3D,但为了让相机控制正确,渲染效果接近正常,我非常痛苦,于是放弃了它。

老实说,大多数“聪明”的用户界面都是无效的,原因有很多:

  • 他们喜欢复杂性(为了冷静)而不是简单性和可用性
  • 用户可能对它们完全不熟悉
  • 您必须自己实现它们,而不是让某个库为您完成这些艰巨的工作
我认为您描述的界面有落入此陷阱的风险。当前界面有什么问题?由于前景因素的阻碍,是否真的很难获得概览?现在当然您可以进一步缩小/旋转以获得概览,但这会使事情复杂化

综上所述,如果你能让它易于使用并且非常流畅,那么它就可以制作一个应用程序。用户在“花式”UI中对失败的容忍度会更低,所以这可能不是最好的第一个3D项目


我确实认为需要更多面向可视化而非游戏的示例。

老实说,大多数“聪明”的用户界面都是无效的,原因有很多:

  • 他们喜欢复杂性(为了冷静)而不是简单性和可用性
  • 用户可能对它们完全不熟悉
  • 您必须自己实现它们,而不是让某个库为您完成这些艰巨的工作
我认为您描述的界面有落入此陷阱的风险。当前界面有什么问题?由于前景因素的阻碍,是否真的很难获得概览?现在当然您可以进一步缩小/旋转以获得概览,但这会使事情复杂化

综上所述,如果你能让它易于使用并且非常流畅,那么它就可以制作一个应用程序。用户在“花式”UI中对失败的容忍度会更低,所以这可能不是最好的第一个3D项目

我确实认为需要更多面向可视化而非游戏的示例。

我发现其中包含非常好的代码示例

这里是一个3D文本的示例,从中,检查示例末尾的“下载Java代码”和“下载JoGL代码”

顺便说一句,这给我留下了非常深刻的印象,使您能够以非常类似于直接OpenGL的方式编写代码。

我发现其中包含非常好的代码示例

这里是一个3D文本的示例,从中,检查示例末尾的“下载Java代码”和“下载JoGL代码”


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

谢谢-我已经相应地编辑了这个问题,删除了java3D需求。任何java解决方案都可以。谢谢-我已经相应地编辑了这个问题,删除了java3D需求。任何java解决方案都可以。同意,我只是将此视为常规列表/日历等格式的替代视图。就个人而言,它适合我如何看待截止日期等。-因此,这只是另一种看待“即将发生的事情”的方式。同意,我只是想将此视为常规列表/日历等格式的替代视图。就个人而言,它适合我如何看待截止日期等。-因此,这只是另一种方式看待“即将发生的事情”的方式