我想在3d空间(使用Java(无java3D))中制作一个三角形碰撞检测器(或通常来说是平面/区域碰撞)。我被碰撞部分挡住了,那是计算机检测到两个三角形的区域相交的地方。我想在2种形状发生碰撞并停止发生碰撞时触发某种事件,而我实际上不知道从哪里开始。我考虑在3d中进行SAT,但在3d环境中应用它似乎很昂贵。有没有更好的方法来检测3d空间中形状的3d碰撞? SAT解释:http://www.dyn4j.org/2010/01/sat/ 编辑在具体情况下,这对于检测棱镜的面部碰撞将非常有用 解决方案如下: 光线,平面和…

2020年11月16日 0条评论 59点热度 阅读全文

我正在学习3D OpenGL。 我正在看thebennybox的视频以学习。但是现在我很困惑。 与他的教程视频相比,我的立方体似乎只有三个方面。 我已经尝试了好几天,但仍然不知道为什么? benny's tutorial video Start watching at 19:37 mine program execution 1 Mine Cube似乎没有多少边。 我想知道侧面是否有颜色。 轮换代码: public Matrix4f initRotation(float x, float y, float z) {…

2020年10月18日 0条评论 26点热度 阅读全文

尝试渲染在Blender中完成的基本外星人时,我得到的结果好坏参半: 我导出到Ogre 3D并将其加载到Eclipse中: 然后,当我在代码中加载它并尝试渲染它时,材质将不会渲染: 你能告诉我我要怎么做才能在场景中实现完整的外星人吗?我在Jmonkeyengine中使用的代码是 Spatial model3 = assetManager .loadModel("objects/creatures/alien/alien.mesh.xml"); model3.scale(0.3f, 0.3f, 0.3f); mode…

2020年9月27日 0条评论 14点热度 阅读全文

我正在尝试开发一个需要能够在3D空间中查看/操纵模型的应用程序,对于JavaFX,它似乎是很明显的候选人。如果有人可以提出更好的选择,那么我将很高兴听到它!我正在使用在Java 14.的MacOS Catalina 10.15.4上运行的IntelliJ CE 2019.3.3,我知道这是最新版本。自相矛盾的是,鉴于JavaFX的曲折历史及其与主流Java的关系(感谢Oracle),我担心使用最新的JDK可能是我所有问题的根源。我下载了一个微不足道的应用程序,该应用程序向场景添加了一些简单的形状,并设法成功运行。我…

2020年9月15日 0条评论 19点热度 阅读全文

如何在Java 3D中绘制3D模型。像画线或点。 我已经能够导入模型。但是停留在如何绘制模型上。 请帮忙 谢谢 解决方案如下: 在java3d中,您并不是真正地“绘制”模型。在java3d中,使用要显示的模型创建一个场景图。然后,您编译场景并将其显示在视图中。如果要在显示中绘制其他内容,则必须创建表示要在模型中绘制内容的几何图形。您可以使用纹理映射将文本和单词放置在几何图形上。您可以使用Text3D在场景中放置单词。如果您还没花太多时间来学习3D资料。 java3d站点https://java3d.dev.java…

2020年8月20日 0条评论 17点热度 阅读全文

这是我使用搅拌机制作的椅子: 现在,当我使用Java3D显示它时,我得到的是: 为什么我的纹理没有显示在Java中?这是我显示椅子的代码: package com; import java.applet.Applet; import java.awt.BorderLayout; import java.awt.Frame; import java.awt.GraphicsConfiguration; import javax.media.j3d.Alpha; import javax.media.j3d.Appea…

2020年8月17日 0条评论 16点热度 阅读全文

由于我可以使用JOGL或OpenGL编写并创建自己的框架,因此我的公司决定为我们的技术演示需要一个“通用”演示基础结构,所以我不希望自己发明轮子。但是,那里有那么多3D gfx引擎,还有那么多OpenGL包装器! 基本上,我们希望使用3D图形来渲染某些地形并在其上放置简单的模型。他们的要求是使它看起来很棒并且跨平台。 基本上,我可以自由决定将遵循的范围和范式,但是我在想:-能够加载3D模型并以全屏或窗口模式渲染它们。-能够控制相机在整个场景中“飞翔”。-能够在所有内容的顶部显示/隐藏广告牌消息,即固定在屏幕上并始终…

2020年8月11日 0条评论 16点热度 阅读全文

我看过MovieGL,但是使用了JMF。我想避免使用JMF,因为除非客户端实际安装它,否则它似乎无法工作。我有什么选择? 编辑:这必须是跨平台的,并且必须在Win,Mac和Linux中工作。 解决方案如下: packet-multibroadcaster听起来像是可行的,尽管我尚未对其进行测试。 ...一个受Java捕获和编码库(例如JOGL,JxCapture和Xuggler的Xuggler)启发的库,并且需要开发人员能够松散地实现它们的任意组合以创建多捕获/多编码系统,而无需处理线程管理。 用外行的话来说,这意…

2020年7月28日 0条评论 16点热度 阅读全文

我一直在尝试使用Java3D 1.5.2使屏幕渲染无法正常工作。在我的source code中,我一直试图将扩展的Canvas3D附加到SimpleUniverse上,以进行屏幕外渲染,但是这样做会破坏渲染: 62. // FOR SOME REASON THIS BREAKS RENDERING 63. universe.getViewer().getView().addCanvas3D(canvas); 完整的源代码太大了,无法粘贴在StackOverflow上,因此我通过 here上的Pastie使它可用。 …

2020年7月28日 0条评论 22点热度 阅读全文

我不确定我是否可以正确执行3d渲染?下面是我的3d渲染方法的一种方法。当我在桌面上运行游戏时,它可以60fps正常运行,但是当我在android上运行时,它只能以15fps运行。当我注释掉这种方法时,我也会得到60fps,所以我认为问题出在我的3d渲染代码中。 你能告诉我是否正确吗? private void draw3d() { gameViewport.apply(); modelBatch.begin(gameCamera); modelBatch.render(highwayInstance, enviro…

2020年7月26日 0条评论 13点热度 阅读全文