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

java - 渲染 3D 第三人称视角

我正在尝试为主角渲染模型,但无论我放入哪个矢量或旋转,他都悬在空中,我看到的只是他的脚,而且它们的方向错误:

在此处输入图像描述

当我按下 walk 时,绿色的人移动但向后移动,我无法通过围绕 Y 旋转来修复它:

整个场景的完整代码是

我想知道如何使我的绿色忍者背部自然朝向相机,玩家能够控制忍者并行走忍者,现在可以工作但位置错误(在空中),我似乎无法调整位置。

有什么建议么?

更新

下面的代码出现了提高绿人的位置:

但是走路的效果仍然与它应该做的相反。但我很高兴我至少可以改进场景,让主角正确旋转。我会尽快更新另一个截图和更多细节

请回答或评论任何改进建议。

更新

我可以旋转绿色的人,但也会协调搅拌机中的模型:

在此处输入图像描述

0 投票
1 回答
687 浏览

java - 渲染第三人称 3D

我的第三个人漂浮在空中,相机应该缩小: 在此处输入图像描述

这是程序

我希望绿色人留在地上,但我似乎无法将物理位置更改为合适的。你有什么主意吗?我拿了这个程序,只是将角色从 oto 切换到 ninja: http ://code.google.com/p/jmonkeyengine/source/browse/trunk/engine/src/test/jme3test/bullet/TestWalkingChar.java

您知道如何使相机缩小以显示整个绿色人并更改绿色人的位置以使他在地面上吗?

我注意到我可以用这个更改主字符的位置

character.setPhysicsLocation(new Vector3f(-140f, 9.9f, -9f));

但是当我输入较低的 y 坐标时,主字符会从地面下降,然后在天空中漂浮,就像他穿过地面时最终到达了所有物体的顶部一样。我可以完美地使用 Oto 运行该示例,它将主字符更改为对我不起作用的 ninja。

更新

当使用setlocaltranslation而不是setphysicallocation我的主字符时,它位于空中:

在此处输入图像描述

更新 2

缩放主字符后: model.scale(0.25f); 如答案中所建议的,渲染效果要好得多: 在此处输入图像描述

在此处输入图像描述

更新 2

经过更多操作,它看起来更像我想要的方式: 在此处输入图像描述

0 投票
1 回答
1229 浏览

java - 为什么我的角色要么在地板上盘旋,要么从地板上掉下来?

我正在制作一个带有角色和地板的简单 3D 场景,但如果我将 y 坐标设置为负值,角色会悬停或从场景中坠落。

上面的代码使角色跌落到场景中。稍微改变一下就可以让角色悬停:

character.setPhysicsLocation(new Vector3f(0, -0.09f, 0));

在此处输入图像描述

如果您想检查所有代码,请点击此处

0 投票
1 回答
2637 浏览

java - 如何让我的角色正确行走?

我正在制作一个小型 3D 场景,角色可以通过按 WASD 按钮行走,但正在播放的动画不正确,角色转身,所以看起来他在移动时正在月球漫步。 在此处输入图像描述

按钮的控制代码是

更新循环看起来像这样

我不明白出了什么问题,因为它实际上非常接近工作,我所需要的只是角色在行走时不会转身并播放正确的动画。你知道问题可能是什么吗?

整个程序是

更新

我更改了一行代码以包含我在开始时必须做的转换: character.setViewDirection(walkDirection.add(new Vector3f(1, 0, 0))); 即我添加了Vector3f(1, 0, 0)and 这似乎有帮助,现在我的角色可以看似完美地向前和向后移动。 在此处输入图像描述 但是,尽管“月球漫步”消失了,但横向移动时仍然不完美,也许您可​​以确认我使用向量的 add 方法做了正确的事情?

更新 2

当改变矢量来否定忍者开始像他应该的那样移动! character.setViewDirection(walkDirection.negate());

例如在更新代码中

在此处输入图像描述

现在剩下的问题是让 char 跳跃并越过楼梯。

0 投票
1 回答
2050 浏览

java - 如何为迷宫/迷宫/地牢建造墙壁?

我使用的代码是从一个示例中获取的,它确实为我的场景构建了一堵墙:

在此处输入图像描述

现在我想知道我是否应该使用这段代码来建立一个完整的迷宫/地牢,或者这是否最好在程序之外建模,例如。在搅拌机中而不是像 .scene 然后读入程序?整个程序是

0 投票
1 回答
1419 浏览

java - JME:将带有纹理的 Cinema 4d 模型导入 jMonkey Projekt

我的问题是:

我在 Cinema 4d 中制作了一个带有纹理的 3D 模型(类似于这个: http: //preview.turbosquid.com/Preview/2011/03/30__13_54_17/space%20shuttle%206.jpgeec17db2-6651-453c-9d27-ea1908e3c7dfLarge .jpg )

现在我想将它导出到我的 jMonkeyEngine 以在我的场景中设置它并为其设置动画。

我试图将我的模型导出为 .obj 文件并将其加载到我的项目中(只是 .obj 文件)。

结果是我没有纹理!我错了什么?

0 投票
1 回答
252 浏览

java - java在3D空间中找到块与表面的交集

目前我们有一堆 3d 块(想想立方体),它们被导入到 JMonkey 2 画布中。

我需要找到这些块与用户导入的 3D 表面的交集。问题是我不知道如何在 JME 或任何其他 3D 引擎中执行此操作。

如果有人有任何使用 JMonkey 进行此类任务的经验,或者您可能使用其他一些 3D 引擎做过,您能否提供一些代码提示,或者相关资源的链接?

编辑澄清:我需要将块分成两种形状:表面下方/上方。

谢谢

0 投票
3 回答
1374 浏览

java - 相对重力

我最近开始使用 jMonkey 引擎,非常好。但是我在尝试实现相对重力时遇到了困难。

我想让行星围绕彼此运行(不一定在完美的圆形轨道上,取决于速度)。所以每个对象都应该影响其他对象。

我现在拥有的:

关闭全球重力

初始化球体并添加到物理空间

我注意到 RigidBodyControl 类中有 setGravity 方法,但它只是设置方向。所以物体会一直走下去,直到它消失。

我真的很期待答案。

0 投票
1 回答
1160 浏览

java - 只有环境光在 jME 中可靠工作

我刚刚开始使用 jME,并在搅拌机中创建了一个 3d 模型,并将其导出为 .obj 并将其导入我的 jME 应用程序。环境光效果很好,但是我使用的直接光只照亮了几个面,而不是只照亮物体的一个面,它照亮了整个物体,而不管物体的方向(两个上臂) :

在此处输入图像描述

角色的其余部分不会被定向光照亮。这是源代码:

问题是什么?

0 投票
1 回答
384 浏览

java - 在java中选择正确的引擎

我需要制作一个类似于乐高设计师的程序(仅适用于 DNA 零件而不是乐高)。有很多不同的选项可供选择,我不确定哪种选项最适合我的需求。 JOGLlwjglJMonkeyEngine,我相信还有其他人。

你能推荐一个最适合我需要的吗?

就是程序最终应该看起来的样子。还有一张照片:

在此处输入图像描述

我只知道一点 JOGL 编程,但在我进入它之前,我想确定它对我来说是正确的。