问题标签 [jbullet]

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 投票
3 回答
5756 浏览

java - jBullet 示例

我正在尝试学习如何在我正在处理的项目中使用 jBullet,并且我已经查看了源提供的演示,但我无法弄清楚这些演示如何获取对象显示。有没有人有一个很好的资源可以指向我或提供一个在屏幕上显示一个或两个对象的基本示例?

提前谢谢你,很抱歉我没有任何代码可以显示,如果需要我可以快速写一些,但只是在寻找一个方向。

谢谢,

我正在使用的多维数据集的代码,所以我试图向它添加碰撞,但我不确定如何使用 jbullet:

这是我从 hello world 测试代码转换后的代码,这对每个人来说都正确吗?:

0 投票
0 回答
109 浏览

java - jBullet - 6DOFConstraint 剧烈振荡

我制作了一个简单的多循环蛇身。我在每个身体之间有一个6DOFConstraint,角度是通过增加/减少旋转的上限和下限来控制的,从而改变角度。

绕水平轴旋转效果很好,但是当绕垂直轴旋转时,一旦达到大约1.05rads的角度,两个物体就会剧烈振动。

屏幕截图可以在这里找到,其中的描述更详细地介绍了我所做的事情:

http://www.youtube.com/watch?v=OQu-YyxLvbw

以下屏幕截图显示了蛇的“头部”在约束仍然存在的情况下线性分离,以尝试消除发生碰撞问题的可能性:

http://www.youtube.com/watch?v=6wso6HDjqXA

我尝试了以下技术来解决问题,但都没有奏效:

  • 将恢复(弹性)设置为非常低——同样的情况
  • 将线性阻尼和角度阻尼都设置为 0
    到 1 之间的值范围——同样的情况
  • 将角度设置为从大于 1.05 开始 - 发生同样的情况。
  • 继续增加超过 1.05 的角度,看看是否平静下来——相反的情况会发生,它会变得更加猛烈。
  • 试穿单关节——同样的情况
  • 检查深度渗透 - 不存在
  • 线性分离两个物体以排除碰撞问题,但保持关节相同——同样发生。
  • 将蛇(除了头部以外的所有部分的质量 = 0f)漂浮在地面上以消除地面相互作用 - 也会发生同样的情况
  • 在锁定位置关闭重力 - 行为延迟到 1.43rads
  • 增加蛇的大小(比例),因为众所周知,jBullet 在较小的项目上存在渲染问题——没有变化。
  • 尝试将身体更改为胶囊形状 - 没有变化
0 投票
1 回答
1280 浏览

java - 如何知道一个点是否在复杂的 3D 形状内(.ply 文件)

我正在开发一个Java项目,女巫真的要了我的命。经过几天在不同论坛上的研究,寻找我真正需要的东西,我来寻求您的帮助。

我的数据:

  • .ply 文件(包含由许多三角形组成的 3D 形状)
  • 一个点(3D 坐标)

我想知道这个点是否包含在复杂的 3D 形状中。

我把这个问题分成了两个小问题:

  • 如何在内存中表示复杂的 3D 形状? (我找到了几个库,但对于我想做的任务来说似乎真的很复杂:Java3D、JBullet、JME3...)我现在不希望我的 java 应用程序显示该对象。

  • 我怎么知道这个点是否在 3D 形状内? (我想从点开始制作一个 3D 矢量并计算与形状的交叉点的数量,但我不知道该怎么做,我可以使用女巫库吗?)

也许有更简单的方法可以做到这一点,这也是我来找你的原因。我现在真的被困住了,我想如果不编写海关库就可以做到这一点......

(对不起我的写作,我不是英语^^)

谢谢你帮助我。

0 投票
1 回答
144 浏览

java - JBullet 刚体

我无法实现与我的游戏的碰撞,更具体地说是主要玩家(一旦它与我设置的盒子碰撞,它就会弹回很远)。这是设置查看器的代码:

这是物理世界设置:

我正在尝试移动玩家,然后将新位置应用于碰撞盒,然后执行物理步骤并将位置设置为新的碰撞盒位置。所以基本上我有两个向量占据一个位置。

编辑:有人吗?我仍然有这个问题

0 投票
2 回答
626 浏览

java - 使用 jBullet 的 LWJGL 第一人称相机

我已经设置了一个相机,我可以用 WASD 移动并用鼠标旋转视图。但现在问题来了:我想为相机/播放器添加物理特性,以便它与我的其他 jBullet 对象“交互”。我怎么做?我考虑为相机创建一个 RigidBody 并将位置存储在那里,以便 jBullet 可以将其物理应用到相机。然后,当我需要改变某些东西(位置)时,我可以简单地在 RigidBody 中改变它。但是我没有找到任何编辑位置的方法。

你能把我推向正确的方向,或者给我一个示例源代码吗?

0 投票
1 回答
227 浏览

java - 如何在 jBullet 中创建“BoxShape”?

我想在 jBullet 中创建一个BoxShape。构造函数要求一个Vector3f对象作为参数,它要求三个浮点参数。

我查看了 jBullet 页面,找不到boxHalfExtends是什么。

我应该在BoxShape的构造函数参数中输入什么?

0 投票
1 回答
186 浏览

java - jBullet 相机“支架”不动

我正在使用 jBullet 和 OpenGL 来创建一个基本的游戏引擎。我创建了两个名为ObjectSurface和的类ObjectEntity。基本上 ObjectSurface 没有质量,因此它们不会移动,ObjectEntity 可以通过碰撞或重力移动。

我创建了一个带有命名的 ObjectEntity 对象的相机,cameraHolder以便它可以跌落并发生碰撞等等。

问题是cameraHolder当按下特定的WASD键时它应该移动,但它只移动一个单元并且不再移动。释放按钮时,它会将一个单元移动到相反的方向,以便您在同一位置。并且在cameraHolder移动之后,相机的XYZ被设置为XYZ坐标cameraHolder

但是,该运动适用于因重力而下落的 jBullet 引起的运动。

而当我不使用 jBullet 更新时,cameraHolder 会正常移动。所以问题应该出在 jBullet 更新上。我将在代码中展示这一点。

问题:为什么按下特定的WASD按钮时cameraHolder只移动1个单元然后返回?

这是Camera.java类中运动的代码:

以下是 anObjectEntity的创建方式:

以下是物理世界的创建方式:

如何获取输入和更新物理(可疑代码在此部分):

0 投票
0 回答
390 浏览

java - 使用 JBullet 和 lwjgl 的第三人称相机

我正在使用jbullet和lwjgl在java中开发一个赛车游戏。我目前无法让我的相机跟随车辆。这是我的代码。它跟随汽车直到它旋转。这是代码。有人可以告诉我我是什么我做错了吗?!

0 投票
1 回答
86 浏览

java - 我可以在开发后期实现 JBullet 物理吗

我是一个半新的 OpenGL 程序员,并且正在学习 VBO 和着色器如何相互交互。我有一个基本的演示设置,它导入模型并在场景中放置一盏灯。现在,将来我想学物理,但我对 JBullet 的了解最少。我应该从头开始实现物理,同时学习更多关于渲染的知识,还是我以后可以添加的东西,假设我的引擎框架对新的 API 有点灵活?

注意:我正在使用 LWJGL,并计划将 JBullet 与 GLSL 一起使用

0 投票
1 回答
1254 浏览

java - 休息后 JMonkey 物理对象被冻结在适当的位置

这是 JME3 教程中 HelloPhysics 的一个非常简单的扩展。当您点击一块砖块时,砖块将从游戏和物理空间中移除。如果你足够快地移除砖块,在墙壁沉降之前,它会像你预期的那样崩溃,但如果你在移除砖块之前稍等片刻,什么都不会发生。

我认为在事物停止移动后物理会关闭以防止过度抖动,我想再次手动启动它。