问题标签 [java-3d]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
758 浏览

java - 在 Java 3D 场景中绘制清晰的健康条

因此,我正在开发 Java 3D 游戏,并且正在实现悬停在单位上方的健康栏。

我首先在单元位置上方的 3D 点绘制一个四边形,并应用广告牌行为使其始终面向相机。

但我遇到的问题是健康栏有时会被其他风景遮住。

所以我正在考虑以下选项:

  1. 覆盖健康栏像素的 Z / 深度缓冲区值,以使渲染器认为它们比之后渲染的任何东西更靠近相机。

    我试过了renderingAttributes.setDepthTestFunction(RenderingAttributes.ALWAYS)。虽然它使渲染器在之前在同一区域中绘制的任何东西上绘制健康条,但当稍后在健康条顶部绘制其他风景时,它并没有帮助。

    在 Java 3D 中有没有更好的方法来做到这一点?

  2. 将生命值条的 3D 位置投影到摄像机前面的 2D 平面上。听起来可行,但在我着手重新发明所需的所有数学之前,也许有人可以指出一个现有的解决方案。

  3. 从 Java 3D 切换到 LWJGL 或 jMonkeyEngine 之类的东西(不仅针对此问题,还针对 Java 3D 已死的一般抱怨等)。虽然我什至不确定它们是否更灵活地解决这个特定问题。根据我的阅读,游戏开发中最严重的错误之一是在开发中期切换引擎。

0 投票
2 回答
1090 浏览

java - Java 3D 在模型上绘制

如何在 java 3D 中绘制 3D 模型。比如画线或点。

我已经能够导入模型。但坚持如何绘制模型。

请帮忙

谢谢

0 投票
1 回答
4184 浏览

java-3d - 3D Java 库

作为初学者,我尝试使用 java 制作 2D 对象。然后我想制作一个 3D 对象,但在我使用的编辑器应用程序中不支持 Java 3D 库。粗略地说,我如何将 3D java 库合并到我使用的应用程序中。我使用“jcreator”和“bluej”作为 java 编辑器。

0 投票
2 回答
2113 浏览

java - 在 Mac 上用较新的类覆盖 Java 系统库

我正在尝试在我的 Mac 上编译和运行 Java3D 项目,但遇到了一些麻烦。我正在使用 Eclipse。该程序依赖于旧版本的 Java3D,但即使我在 Eclipse 中添加了正确的 Jars,它仍然在默认系统位置中查找。

在 Eclipse 中运行我的程序时,我遇到了这个问题:

线程“AWT-EventQueue-0”中的异常 java.lang.NoSuchMethodError: javax.media.j3d.BranchGroup.pickAllSorted(IILjavax/media/j3d/PickShape;)[Ljavax/media/j3d/PickInfo; 在 com.sun.j3d.utils.pickfast.PickTool.pickAllSorted(PickTool.java:410)

BranchGroup.pickAllSorted 在 Mac 默认 JRE 系统库 (JVM 1.6.0) 中不存在,但它确实存在于我包含的正确 JAVA3D jar 中。我已将它们添加到我的构建路径中,并且它们在 Properties-Java Build Path-Order and Export 中的 JRE 系统库上方被引用。这似乎应该是解决方案,但它不起作用。

我已经尝试了一段时间,但无法让它工作。我有一个可能的线索是尝试将 .jars 放在 /Library/Java/Extensions 中。当我这样做时,我得到一个 OpenGL 错误并且我的程序根本没有打开,但它在做一些我猜的事情。

谢谢您的帮助。

0 投票
1 回答
823 浏览

eclipse-plugin - 用于显示 3D 对象的 Eclipse 插件

我有一个基于 UML 的 XML 文件,其中包含有关类、方法、包的信息,我必须对其进行解释并将其显示为 3D 格式,其中类将由矩形和带有其他几何图形的包表示,等等。我也可以改变它的视图,但只需将我的鼠标移动到一个特定的方向。

我正在寻找一个特定的 Eclipse 插件,它可以帮助我做到这一点。我的列表中有几个选项,例如 Java FX、Java 3D、ardor 3D 和 eclipse 的 flex 插件。这将是上面最好且易于使用的一种,可以满足我的要求,

0 投票
1 回答
588 浏览

java - 如何计算一个长方体与其相邻长方体的接触面积

我正在尝试将不同大小的矩形长方体彼此相邻放置,以使它们之间的接触面积最大化。

以一种蛮力的方式,我正在寻找一个可能的位置,以便将每个长方体放置在不与任何其他长方体相交的空间中。我使用 Java 3D 的BoundingBox类实现了这一点,在该类中可以检查给定框是否与给定的其他框集合相交。现在我有许多可能的位置,我需要从中选择与其他盒子接触面积最大的位置。

我的问题是我不知道如何有效地计算这个区域。一个小例子...

方框1:左下点x=0,y=0,z=0;右上角 x=10,y=10,z=10

方框2:左下点x=10,y=0,z=0;右上角 x=15,y=5,z=5

框 3 的尺寸与框 1 相同,应放置在最大接触面积的位置

在此示例中,框 3 的一侧与除框 1 的右侧(框 2 所在的位置)之外的任何位置匹配的所有位置都是最佳解决方案。

如果有人有想法甚至解决方案,我会很高兴。如果免费图书馆不太大,我也很高兴。

谢谢!

0 投票
4 回答
6746 浏览

java - 在 Eclipse 上安装 Java3D

我正在尝试在我的项目中使用 Java3D。这是我收到的错误:

我已将 .jar 文件复制到项目的 lib 文件夹中,并将它们链接到项目 -> 属性 -> 添加 Jar 文件中。Java3D 下载中还有一个 .dll 文件,我没有以任何方式触及或包含该文件。我错过了什么?

0 投票
1 回答
222 浏览

java-3d - 使用 java3d 在形状上构建形状

假设我用 Java3d 绘制了一个立方体或圆柱体。例如,当我单击这些形状的表面以在其上构建一个小圆锥时,我想这样做。如果有一些例子,我将不胜感激。谢谢

0 投票
1 回答
703 浏览

java-3d - Java 3D Box 和 Cylinder 参数不一致

我在同一个场景中创建了一个 Box(1,1,1) 和一个圆柱体 (0.5,1)。但是当我看图时,盒子的大小是圆柱体大小的两倍。box (1,1,1) 是否表示立方体的长宽高?当我画一个球体或圆锥体时,测量值是否与圆柱体一致?

0 投票
1 回答
1961 浏览

java - Java3d光照问题

从事编码工作 20 多年。我是 Java3d 的新手,但我对它印象深刻——保留模式比直接模式容易得多!

无论如何,我的照明有问题。当我创建自己的几何图形时,我无法让照明工作;当我使用 java3d utils 创建的几何图形(例如 Sphere())时,照明效果很好。我看到的问题是我的对象从各个角度都是白色的。我试过添加环境光和定向光,我的物体总是白色的。

文档说如果我想使用照明,我不应该在我的对象上提供颜色外观属性,而我没有这样做。它还说我应该提供法线,我正在这样做。我尝试过手动创建法线和使用 NormalGenerator。我已经尝试过 Java3d 1.5.1 和预发行版 1.6.0,但没有成功。我在 Windows 7 64 位上使用 Java 1.6.0_18。

这段代码没有太多内容。问题一定是非常基本的,但我看不到。我在此处粘贴了 2 个我的几何创建功能,其中照明不起作用。请看一下,让我知道我做错了什么: