问题标签 [jmonkeyengine]

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 回答
1968 浏览

java - 在 JMonkey Engine 中编辑启动屏幕

我想编辑默认 JMonkey 项目的启动屏幕,以便可以用自定义图像(我们的项目徽标)替换显示 JMonkey 的图像。SimpleApplication我的意思是执行项目时出现的屏幕。我在 Linux 机器上运行 JMonkey SDK(如果重要的话是 Linux Mint 13)和 OpenJDK 7。

0 投票
0 回答
453 浏览

java - JME APPLET(浏览器无法加载库)

我创建了简单的 JME Applet,但本地库有问题。当我运行它时,我得到错误。当我将库移动到 java 控制台中显示的目录时,此错误消失并且一切正常。以下示例也很好用:http: //jmonkeyengine.com/demo/applet/。看起来提取无法正常工作。

0 投票
1 回答
1787 浏览

java - 漂亮的 GUI 布局

我是 JME3 游戏引擎的新手,但我知道 Android XML GUI 布局非常好。我这里有一个简单的布局,我不知道出了什么问题。这是我的 XML 代码:

一切正常,直到我开始显示文本。我尝试了不同的对齐方式并尝试将文本移动到不同的面板中,但无论我做什么,文本都不会位于屏幕的中心。到目前为止,它始终位于左上角,我只能看到文字的右下角。我确信它必须是一些简单的东西,但由于我是新手,所以我没有注意到任何东西。我在这里先向您的帮助表示感谢。

0 投票
1 回答
1014 浏览

java - 外部类成员变量 Null 到内部类

我正在使用 JME3 和 Nifty GUI 开发游戏。我有一个外部类,它有一个Nifty成员变量。无论访问修饰符如何,内部类都应该能够访问该变量。在构造函数中,我为其分配了一个新Nifty对象。但是,当我在内部类中访问该变量时,我遇到了问题。我做了一点调试,发现这是因为内部类认为Nifty成员变量为空,我不知道为什么。它在外部类中不为空。由于这是一个 JME3 游戏,我试图让内部类实现AppState接口,但它仍然将Nifty成员变量显示为 null。这是代码:

发生的事情是我单击调用该quitButton()方法的退出按钮。这很好用。这反过来又会引发showDialog()问题所在。在showDialog()方法中是这一行popup = new Nifty().createPopup("popup");,它在mNifty不应该为空的那一行。任何帮助表示赞赏。

0 投票
1 回答
5198 浏览

java - Jmonkey 碰撞检测

我是 Jmonkey 编程的新手,我想问一个关于碰撞交互的问题,因为我的代码似乎发现了可能来自地形的碰撞,我不知道如何解决这个问题。我的目标是玩家作为第一个被检测到的人,如果他与敌人的幽灵控件发生碰撞以显示消息作为输出。我的代码显示一个持续的碰撞,然后它崩溃了......

0 投票
1 回答
156 浏览

java - 如何返回 BoundingVolume 内的所有点

我正在试验 jmonkeyengine 并且我遇到了需要返回落在边界体积内的所有点(来自预定义的大量点)。创建卷本身很容易,但我想获得所有包含点的地图。

社区有什么想法吗?如果需要,我很乐意使用其他库,由于社区支持和 BoundingCapsule 形状,我被 jmonkey 所吸引。

编辑:我考虑过遍历我的所有点并使用 .contains,不幸的是,该空间包含数十万个点和相对较小的胶囊。当然,我肯定缺少一些聪明的数学。

0 投票
1 回答
305 浏览

java - Java jMonkey bug,out.write inside if 循环

我有一个小 jMonkey 程序,球在四处弹跳。我想每秒记录每个球的 3d 矢量。

当我运行我的代码时:

我的文本文件是完全空白的。但是当我运行时:

它有效,只是在我的实际数据之间有大量可笑的字符。

什么都不做,至少必须是

或更大。

我做错什么了吗?如果没有,我该如何解决这个问题但完成相同的任务?

0 投票
2 回答
3296 浏览

java - jMonkey 优化类似于 Java3D 的

编辑:为了进行实时绘图,开始使用 lwjgl,它是 jmonkeyengine 和 jocl 在 opengl 和 opencl 之间的“互操作性”中的基础,现在可以实时计算和绘制 100k 个粒子。也许地幔版本的 jmonkey 引擎可以解决这个 drawcall 开销问题。

几天来,我一直在 Eclipse(java 64 位)中学习 jMonkey 引擎(ver:3.0),并尝试如何使用GeometryBatchFactory.optimize(rootNode);命令优化场景。

没有优化(具有改变球体位置的能力):

在此处输入图像描述

好的,只有 1-fps 来自 pci-express 带宽+jvm 开销。

通过优化(无法改变球体的位置):

在此处输入图像描述

现在即使增加了三角形数,它也是 29 fps。

Java3D 有一种setCapability()方法可以使场景对象即使以优化的形式也可以被读取/写入。jMonkey 引擎 3.0 必须能够处理这个主题,但我找不到它的任何痕迹(搜索教程和示例,失败)。

问: jMonkey 3.0如何设置场景节点的read/write position/rotation/scale能力?optimized如果您不能回答第一个问题,您能告诉我为什么使用优化命令时三角形数会增加吗?我是否必须创建一个新方法来访问显卡并自己更改变量(可能是jogl?)?

场景信息:16k 个粒子(16x16 res 的球体)+ 1 个点光源(及其 4096 分辨率的阴影)。

我确信我们可以通过 pci-express 轻松地在一毫秒内发送数千个浮点数。

  • 附加信息:我正在使用 Aparapi-kernels 更新粒子位置,这需要 10 毫秒(16k * 16k 相互作用来计算力)。(在优化模式下不会改变任何东西:()aparapi 可以访问那些优化的数据吗?

对于batchNode.batch();优化的情况,这里又是 1 fps,对象数减少:

在此处输入图像描述

对象数量现在只有几百,但 fps 仍然是 1!

仅将球体位置发送到 gpu 并让它计算顶点位置可能比在 cpu 上计算顶点并将大量数据发送到 gpu 更好。

没人来帮忙吗?已经尝试过 batchNode 但没有提供足够的帮助。

我不想更改 3d api,因为 jMonkey 人已经重新发明了轮子,我对目前的情况感到满意。只是想提高一点性能(取消阴影可以提高 %100 的速度,但质量也很重要!)。

这个java程序将成为一个小行星撞击场景模拟器(可以选择小行星的大小、质量、速度、角度),带有LOD的行进立方体算法(将是数百万个粒子)。

Marching-cubes算法会大大减少三角形数。如果您不能给出任何答案,那么任何用于 java 的行进立方体(或任何 O(n) 凸包)算法都将被接受!数据:x、y、z 阵列作为源,三角带阵列作为目标(等表面网格点)

谢谢。

以下是有关流的一些示例(分辨率低得多):

1) 一个立方体形岩群在引力作用下的坍塌: 在此处输入图像描述

2)排斥力开始显现: 在此处输入图像描述

3)排斥力+万有引力使团形成更光滑的形状: 在此处输入图像描述

4)组形成一个球体(如预期的那样): 在此处输入图像描述

5)然后,一个巨大的星体接近: 在此处输入图像描述

6)即将触摸: 在此处输入图像描述

7) 撞击时刻: 在此处输入图像描述

在 Barnes-Hutt 算法和截断势的帮助下,粒子数将增加 10 倍(可能是 100 倍)。

而不是 Marching-Cubes 算法,包裹 nbody 的幽灵布可以提供低分辨率的船体(比 BH 更容易但需要更多计算)

鬼布会受到nbody(重力+排斥)的影响,但nbody不会受到包裹它的布的影响。Nbody 不会被渲染,但布料网格将以较低的三角形计数渲染。

在此处输入图像描述 在此处输入图像描述

如果 MC 或更高版本有效,这将让程序为大约 200 倍以上的粒子渲染包裹布。

0 投票
1 回答
3102 浏览

jmonkeyengine - jmonkey旋转并改变前进方向?

如何旋转模型并随着旋转改变其前进方向?

我旋转,但它只是在轴上旋转,向前仍然是一样的。

这可能是一个菜鸟问题,但它一直在踢我的屁股。

0 投票
2 回答
2088 浏览

jmonkeyengine - How to resolve junit library in jMonkeyEngine3 project

I am new to JMonkeyEngine. I have downloaded and installed jMonkeyEngine3 SDK, and trying to make the Hello Sample Application but it always shows a dialog that says:

JUnit library has not been downloaded

I have tried using Resolve Reference Problems and using Ant Library Manager but here I am not getting any single option for the JUnit library, please tell me how can I resolve this problem, thanks in advance..