问题标签 [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.
java - 3D 表面 JavaFX
我正在尝试在 JavaFX 中实现我自己的 3D 表面动画,但我不理解它应该工作的所有内容,有人可以帮助我理解哪个应该去哪里吗?
已经知道使用类构建Mesh需要类对象
TraingleMesh
,然后必须使用方法添加点mesh.getPoints.addAll(...);
但是..我Function<Double, Double>
使用apply
方法后对我一点帮助都没有,因为第一个参数必须是数组浮点类型,而不是double
应用后的变量一些数据。- 我怎么能解决这个问题?
我在这里找到了@Roland 创建的纹理和面的一些实现:
- 纹理和面是如何工作的?
这对我来说真的很重要,谢谢你的帮助!
java - SurfacePlotMesh (FXyz) 构造函数参数
我想知道我将构造函数参数理解为Function<Point2D, Number> function
. 我用于 1D 图表的函数基于在 x 轴上的每一步之后应用变量,但是作为Point2D
包含 2 个变量的参数:x
并且y
,如果我是正确的,x
变量是增加“0.5”的步骤apply
在 y 的函数之后的每个计算。那么泛型类型的第二个参数是Number
什么?我如何使用SurfacePlotMesh
该类来实现其他功能。有人可以向我解释一下它是如何工作的吗?或链接文档(如果存在)?
javafx - 我可以在 JavaFXCollection 中放置 3D 几何对象吗?
我有一些 3D 几何对象,如球体、管、立方体等。我使用通常的方式在基于 FXML 的菜单中使用 、 等Sphere
类Cylinder
来生成。这意味着对象对于某种方法来说是本地的。Box
FXMLcontroller
box1
@FXMLmakeCube
现在我希望在这个控制器内的另一种方法中执行一些操作,如布尔操作、复制、镜像等。我想将所有创建的几何图形保留在 JavaFXCollection 排序列表中,以便我可以从任何其他方法内部调用这些几何图形的句柄。
我的问题是我该怎么做?如何在同一内部的其他方法中引用此句柄FXMLController
?
我没有在网上找到确切的问题。
java - 在 JavaFX 中导入动画 3D 模型
我目前正在使用 JavaFX 创建一个 3D 场景。在场景中,我想展示一些更复杂的 3D 模型。因此,我使用 InteractiveMesh 导入器来导入一些 OBJ/STL 模型,效果很好。我还想包括一个动画模型(步行周期)。我找到了包含 Maya-Importer 的 JavaFX 示例应用程序 3DViewer。由于我对 Maya 和一般的 3D 建模不太熟悉,因此我试图在网上找到一些免费的模型,这些模型是动画的或至少是装配好的。不幸的是,我找不到一个模型,既不适合创建动画步行循环(装配)也不已经动画,我可以在 3DViewer 中成功打开。由于加载 Maya 模型时出现 Nullpointer 或 IndexOutOfBoundsExceptions,导入通常会失败。
我现在想知道是否有人已经设法在 3DViewer 中打开动画 Maya 模型?我非常感谢对可以成功导入的模型的引用。
此外,还有其他将动画 3D 模型(不一定是 Maya 模型)导入 JavaFX 的方法吗?
javafx - JavaFX TriangleMesh 渲染不正确
我构建了一个 OBJ 到 JavaFX 三角形网格解析器,并从搅拌机中导入了猴头样本模型,但它没有正确渲染。它几乎似乎具有类似壁挂的效果。此链接包含我要导入的 obj 以及显示问题的视频。链接。这是我正在使用的代码。
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() 方法有什么用呢?
提前致谢..