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

css - 使用 Css 在 JavaFX 中为 TextField 创建形状

我需要创建这个形状来TextField使用 CSS

示例图片

但我只设法创建了以下 UI:

我的照片

如何创建像 Sample Pic 这样的文本字段?

0 投票
1 回答
1210 浏览

java - 3D 表面 JavaFX

我正在尝试在 JavaFX 中实现我自己的 3D 表面动画,但我不理解它应该工作的所有内容,有人可以帮助我理解哪个应该去哪里吗?

  • 已经知道使用类构建Mesh需要类对象TraingleMesh,然后必须使用方法添加点mesh.getPoints.addAll(...);但是..我Function<Double, Double>使用apply方法后对我一点帮助都没有,因为第一个参数必须是数组浮点类型,而不是double应用后的变量一些数据。

    • 我怎么能解决这个问题?
  • 我在这里找到了@Roland 创建的纹理和面的一些实现:

3D 表面 - 堆栈

  • 纹理和面是如何工作的?

这对我来说真的很重要,谢谢你的帮助!

0 投票
2 回答
1263 浏览

java - 如何将 3D 表面添加到 AnchorPane

如何将 3D 表面添加到view.fxmlScene Builder 面板上没有像表面这样的“东西”。我的场景构建器层次结构如下所示:

等级制度

和应用程序的 ss - 就像我们可以看到左上角有东西一样,表面应该在中间。 在此处输入图像描述

我想先添加一些 3D 表面示例:我的控制器代码:

逻辑类:

并查看:

我究竟做错了什么 ?有人可以帮助我吗?这也是我通过按下按钮进入的窗口之一。

在此处输入图像描述

0 投票
1 回答
156 浏览

java - SurfacePlotMesh (FXyz) 构造函数参数

我想知道我将构造函数参数理解为Function<Point2D, Number> function. 我用于 1D 图表的函数基于在 x 轴上的每一步之后应用变量,但是作为Point2D包含 2 个变量的参数:x并且y,如果我是正确的,x变量是增加“0.5”的步骤apply在 y 的函数之后的每个计算。那么泛型类型的第二个参数是Number什么?我如何使用SurfacePlotMesh该类来实现其他功能。有人可以向我解释一下它是如何工作的吗?或链接文档(如果存在)?

0 投票
1 回答
203 浏览

javafx - 我可以在 JavaFXCollection 中放置 3D 几何对象吗?

我有一些 3D 几何对象,如球体、管、立方体等。我使用通常的方式在基于 FXML 的菜单中使用 、 等SphereCylinder来生成。这意味着对象对于某种方法来说是本地的。BoxFXMLcontrollerbox1@FXMLmakeCube

现在我希望在这个控制器内的另一种方法中执行一些操作,如布尔操作、复制、镜像等。我想将所有创建的几何图形保留在 JavaFXCollection 排序列表中,以便我可以从任何其他方法内部调用这些几何图形的句柄。

我的问题是我该怎么做?如何在同一内部的其他方法中引用此句柄FXMLController

我没有在网上找到确切的问题。

0 投票
2 回答
2537 浏览

java - 在 JavaFX 中导入动画 3D 模型

我目前正在使用 JavaFX 创建一个 3D 场景。在场景中,我想展示一些更复杂的 3D 模型。因此,我使用 InteractiveMesh 导入器来导入一些 OBJ/STL 模型,效果很好。我还想包括一个动画模型(步行周期)。我找到了包含 Maya-Importer 的 JavaFX 示例应用程序 3DViewer。由于我对 Maya 和一般的 3D 建模不太熟悉,因此我试图在网上找到一些免费的模型,这些模型是动画的或至少是装配好的。不幸的是,我找不到一个模型,既不适合创建动画步行循环(装配)也不已经动画,我可以在 3DViewer 中成功打开。由于加载 Maya 模型时出现 Nullpointer 或 IndexOutOfBoundsExceptions,导入通常会失败。

我现在想知道是否有人已经设法在 3DViewer 中打开动画 Maya 模型?我非常感谢对可以成功导入的模型的引用。

此外,还有其他将动画 3D 模型(不一定是 Maya 模型)导入 JavaFX 的方法吗?

0 投票
1 回答
314 浏览

java - 如何在使用 JavaFX、JCSG 和 FXyz 进行差异操作后获得封闭的 3D 网格?

我正在使用 JCSG 库来切割 3D 对象,但经过差异运算后,生成的 3D 网格并未完全闭合,即切割面的许多边缘是开放的,它们不属于任何三角形。

我正在使用下面的源代码来切割 3D 网格。

测试对象显示如下这里

对测试网格执行差分操作后,生成的网格如下所示:这个

在上图中,如果您看到切割面,则只有 5 个三角形,并且许多边缘是开放的。顶部表面上的三角形也被扭曲。

是否有任何其他 API 可以获得完全封闭的表面,并且在差分运算后也保持三角形的对称性?

初始 3D 形状的点和面如下:

0 投票
2 回答
247 浏览

javafx - JavaFX TriangleMesh 渲染不正确

我构建了一个 OBJ 到 JavaFX 三角形网格解析器,并从搅拌机中导入了猴头样本模型,但它没有正确渲染。它几乎似乎具有类似壁挂的效果。此链接包含我要导入的 obj 以及显示问题的视频。链接。这是我正在使用的代码。

0 投票
1 回答
982 浏览

javafx - TriangleMesh JavaFX中getNormals()方法的用途是什么

我目前正在使用 JavaFX 3D 应用程序,并在 TriangleMesh 类中遇到了 getNormals() 方法。

如 TriangleMesh 类用于创建用户定义的 Java FX 3D 对象,其中
getPoints() 用于添加点
getFaces() 用于添加面
getTexCoords() 用于管理 3D 对象的纹理,
但我不确定TriangleMesh 类中 getNormals() 方法的用途。

在 TriangleMesh 类中,我们可以将顶点格式设置为 VertexFormat.POINT_TEXCOORD 和 VertexFormat.POINT_NORMAL_TEXCOORD。
但是如果我们将 vertexFormat 设置为“VertexFormat.POINT_NORMAL_TEXCOORD”,那么我们需要将法线索引添加到 Faces 中,如下所示:
[ p0, n0, t0, p1, n1, t1, p3, n3, t3, // 第一个三角形带纹理的矩形

p1, n1, t1, p2, n2, t2, p3, n3, t3 // 纹理矩形的第二个三角形]

https://docs.oracle.com/javase/8/javafx/api/javafx/scene/shape/TriangleMesh.html中所述

如果我使用 vertexFormat 作为 POINT_TEXCOORD 或 POINT_NORMAL_TEXCOORD,我没有发现 3D 形状有任何区别。

那么在 TriangleMesh JavaFX 中 getNormals() 方法有什么用呢?

提前致谢..

0 投票
1 回答
2115 浏览

java - 如何在 JavaFX 中将 GUI 覆盖在 3D 场景上?

我在 JavaFX 中有一个 3D 场景,需要在 3D 场景上覆盖 GUI。我曾尝试向场景中添加按钮和文本,但它们始终作为 3D 对象出现在 3d 视图中。我环顾四周,还没有找到如何做到这一点。唯一的解决方法是创建一个全新的窗口并将设置放在那里,但在这种情况下这不是一个选项。谢谢您的帮助!!

像这样 在此处输入图像描述 或这样 的东西在此处输入图像描述