标签: fxyz3d

运行 JAR(Fxyz3d 库)时出现 FileSystemNotFoundException

我构建了一个非常胖的 JavaFX 应用程序(JAR 大约 128 MB)并且通过 IntelliJ 运行没有问题。但是当我从终端运行它时,我的 3D 模型加载器(Fxyz3d 库)启动了这个异常。

Exception in thread "JavaFX Application Thread" java.nio.file.FileSystemNotFoundException
    at jdk.zipfs/jdk.nio.zipfs.ZipFileSystemProvider.getFileSystem(ZipFileSystemProvider.java:172)
    at jdk.zipfs/jdk.nio.zipfs.ZipFileSystemProvider.getPath(ZipFileSystemProvider.java:158)
    at java.base/java.nio.file.Path.of(Path.java:208)
    at java.base/java.nio.file.Paths.get(Paths.java:98)
    at org.fxyz3d.importers.obj.ObjImporter.read(ObjImporter.java:115)
    at org.fxyz3d.importers.obj.ObjImporter.loadAsPoly(ObjImporter.java:102)
    at org.fxyz3d.importers.Importer3D.loadIncludingAnimation(Importer3D.java:160)
    at org.fxyz3d.importers.Importer3D.loadAsPoly(Importer3D.java:80)
    at it.polimi.ingsw.PSP50.View.GUI.GuiView.lambda$startingGame$1(GuiView.java:201)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) 
Run Code Online (Sandbox Code Playgroud)

这仅针对 Fxyz3d 库中的 3D 对象加载器抛出,而不针对我的其他普通 FXML 加载器。我使用相同的方式从我的 src/main/resources 文件夹中获取文件,即 getClass().getResource。那么这真的是路径问题吗?还是图书馆的问题?在 IntelliJ 中完全没有问题,一切正常。这是代码中不起作用的部分:

Model3D boardModel = Importer3D.loadAsPoly(getClass().getResource("/boardcliff2.obj"));
 
Run Code Online (Sandbox Code Playgroud)

如果有人以前遇到过这样的事情并且知道发生了什么,那么将非常感谢您的帮助

java javafx jar fxyz3d

5
推荐指数
1
解决办法
405
查看次数

如何在javafx中获取3D对象窗口上的2D坐标

在javafx中,如果我们有2D HUD(由Pane组成,然后我们为2D Hud创建SubScene对象)和3D SubScene,并且在3D场景中我们有一些带有坐标(x,y,z)的对象 - 我们如何获得2D如果该物体位于我们的透视相机的视野中,那么它在我们的 HUD 中的坐标是多少?

我尝试获取对象的第一个场景坐标,然后将其转换为 (sceneToScreen) 坐标,并且与窗格的点 (0,0) 相同,然后从第二点中减去第一个点,但我没有得到正确的结果。抱歉,我的英语不好。有人可以帮忙吗?

3d javafx hud javafx-3d fxyz3d

4
推荐指数
1
解决办法
1641
查看次数

用JavaFX 3D创建坐标网格的最实用方法是什么?

我想用JavaFX创建一个3D演示应用程序,以可视化3D空间中点的运动,首先,我需要设置一个坐标网格以供可视参考。不幸的是,我无法找到如下图所示的网格示例代码:

这张照片

有谁知道创建这样的东西的最实用方法是什么?

javafx javafx-8 javafx-3d fxyz3d

2
推荐指数
1
解决办法
216
查看次数

标签 统计

fxyz3d ×3

javafx ×3

javafx-3d ×2

3d ×1

hud ×1

jar ×1

java ×1

javafx-8 ×1