问题标签 [javafx-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 回答
472 浏览

java - 如何 3D 打印 JavaFX 3D 场景?

我一直在研究 JavaFX 中的这个科学应用程序。该程序基本上从算法生成数据并将它们可视化为相交的球体。 在此处输入图像描述

我想 3D 打印这个模型的一部分(彩色形状)。有没有办法导出 JavaFX 场景?即使这意味着将其导出到 .stl 或 .obj 之类的文件中,然后导入到 Blender 中以进行进一步细化或文件转换。

0 投票
3 回答
454 浏览

java - TriangleMesh - 背面可见

再会!我有以下问题。图形模型未正确显示:模型的某些应被正面隐藏的背面仍然可见。以下是一些需要澄清的例子:(等距)在此处输入图像描述

(问题)

在此处输入图像描述

在应用光和材料时,这个问题尤其显着。所以问题是如何为 JavaFX 解决这个问题?

升级版:

0 投票
1 回答
156 浏览

javafx - JavaFX:自定义小部件上的透视相机

我正在尝试创建一个extends HBox呈现 3D 图形的“自定义小部件”()。

问题是我看到的所有设置相机的示例都显示了如何在属于主窗口的主“场景”上进行设置。

我不希望与主窗口有任何关系,我希望它是一个独立的小部件。

无论如何有可能这样做吗?

如果你能分享一些代码示例,我会很高兴,因为我对它感到很迷茫......

0 投票
1 回答
883 浏览

javafx - JavaFX 3D:将圆柱体转换为定义的起点和终点

假设我希望 aCylinder从某个 3D 点开始,并在某个其他 3D 点结束。

据我所知,这样做的方法是计算两点之间的欧几里得距离并创建一个长度相同的圆柱体。然后,圆柱体应该平移和旋转,使其真正从起点开始,到终点结束。

我搞砸了这些转换,并且没有成功将圆柱体放置在正确的位置。

您能否分享一些实现该功能的代码片段:

0 投票
0 回答
78 浏览

java - 在子场景上启用深度缓冲区后 setOnMouseClicked 不起作用

对于一个项目,我需要一个 3D 对象上的点击监听器。在我的子场景中启用深度缓冲区后,侦听器不再工作。

如果我将 enableDepthBuffer 设置为 false,则 subScene 内的所有侦听器都会再次正常工作。

有没有办法解决这种行为?

0 投票
1 回答
3052 浏览

javafx - 在Javafx中围绕中心旋转对象

我的应用程序使用交互式网格库读取 obj 文件并将其保存在 meshview 中。我想要的是围绕其中心旋转对象。

现在我的代码显示了对象,但是当我旋转它时,它会围绕某个点旋转,这会导致对象超出窗口。我宁愿想围绕它的中心旋转对象。我知道我必须将对象翻译为原点然后旋转然后再次翻译,但我不知道该怎么做。

这是我的代码:

0 投票
2 回答
430 浏览

graphics - 等效于 JavaFX-3D 中的 `gluLookAt()`

我正在尝试在使用 JavaFX 8 + 3D 构建的应用程序中实现一种简单直观的方法来控制相机方向。在 OpenGL 中,有一个简单的函数,名为gluLookAt(),它可以轻松定义从哪个点看和到哪个目标点看。

JavaFX-3D 中是否有等价物?

0 投票
1 回答
179 浏览

memory-leaks - 使用 JavaFX-3D 创建动画时内存泄漏

我构建了一个 JavaFX(8) 3D 应用程序,它从某个文件中读取数据并将其呈现在某个场景中。

为了渲染一个对象,我使用:

当我注释掉这一行时,为了禁用渲染,我根本没有内存泄漏。

但是当这条线运行时,应用程序会消耗越来越多的内存。我每秒有 30 帧,每秒内存消耗增加约 50MB。

这当然是,尽管在我使用的帧之间:

我分配给的 3D 对象graphicsContainer是本地的,不会保存在任何静态/全局范围内。它们仅保存为 的子级graphicsContainer,在每一帧上都会被清理。

尽管我每次删除graphicsContainer.

知道如何让 JavaFX 3D 引擎释放过去的 3D 对象和渲染吗?

0 投票
1 回答
676 浏览

java - JavaFX 3D 文本旋转

我是 javaFX-3D 的新手,我想查看带有标签的简单 3D 形状,例如节点号等。我从 oracle 的MoleculeSampleApp开始,我正在尝试添加文本。到目前为止,我已经达到了这一点:

带文本的轴

添加的文本如下:

一旦我开始旋转视图,文本也会翻转过来,变得不可读。有没有办法让文本不向各个方向旋转?理想情况下,文本应始终像普通的“2D”文本一样显示,同时随着视图的调整(缩放、旋转等)与其关联的 3D 对象一起移动。

0 投票
2 回答
613 浏览

java - 如何使用相机正确显示 3D 形状?

我试图让一些形状相互“玩得很好”。我有 2 个彼此相邻的盒子,其中一个盒子“顶部”有一个圆柱体。我将它们放在SubScene一个相机中,该相机可以通过滚动操作放大和缩小并通过拖动进行平移。这是我的 MCVE:

我在这里有两个问题:

  1. Z 顺序由我将它们放入组中的顺序指定。我希望 Z 订单“照顾好自己”。如果我在空间中有具有特定坐标和大小的形状以及处于特定位置和角度的相机,我应该会看到一个独特的视图,而无需指定顺序。这是一张图片:

    在此处输入图像描述

    看起来绿色框比红色框更靠近相机,但我的代码并不暗示这一点。

  2. 当相机平移时,圆柱体相对于盒子移动。在图像中,我用蓝线标记了红色框上圆柱体的位置:

    在此处输入图像描述

    现在我平移相机并得到

    在此处输入图像描述

    我希望在平移相机时形状的相对位置不会改变。

  3. 编辑:我从问题中删除了这个并在另一个问题中提出:
    形状显示在边框顶部:

    在此处输入图像描述

    我认为因为形状在窗格中,所以窗格的边框在 Z 顺序中会更高。我希望边框出现在顶部。