问题标签 [bulletphysics]

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

android - 增强现实 + 子弹物理 - rayTest/Ray Picking 的麻烦

我试图在子弹物理世界中挑选物体,但我似乎只能挑选地板/地平面!!!我正在使用 Vuforia SDK 并更改了 ImageTargets 演示代码。我使用以下代码将我的触摸屏点投影到 3d 世界:

当我在我的物理世界中尝试进行射线测试时,我似乎只是击中了地平面!这是射线测试调用的代码:

我知道我主要是从上往下看,所以我一定会撞到地面,我至少知道我的触摸被正确地投射到世界上,但是我有物体躺在地面上,我似乎不能能够触摸到它们!任何指针将不胜感激:)

0 投票
2 回答
1260 浏览

c++ - 项目符号:加载/保存碰撞形状

我试图防止循环所有三角形并将每个三角形添加到 btTriangleMesh。(只有加载要快,保存速度可以忽略。)

那么从文件中加载碰撞数据的最快方法是什么。这两个怎么样:

  1. 保存 Vertex(bt3Vector) & Index(DWORD) 数组并在加载时调整 btTriangleMesh 的大小并立即设置数据。

  2. 使用 serializeSingleShape() 保存和加载 ReadBulletSample 之类的东西(或初始化一个新的 btDynamicsWorld,使用 BulletWorldImporter 读取文件,获取碰撞对象并清理 btDynamicsWorld var)

如果还有其他方法,请告诉我。模型几何具有以下两个缓冲区:

0 投票
3 回答
1374 浏览

java - 相对重力

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

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

我现在拥有的:

关闭全球重力

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

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

我真的很期待答案。

0 投票
1 回答
3374 浏览

c++ - 子弹物理刚体从表面反弹

我为我的游戏编写了一个玩家控制器,它使用刚体为玩家提供物理效果。我将恢复力和摩擦力都设置为 0,质量设置为 80。我的地形具有完全相同的属性,只是质量也是 0。每当玩家从高处坠落时,它会在地形表面反弹几次。这真的不是我希望我的玩家做出反应的方式。有没有办法防止这种行为?

这是一个说明我的问题的视频。它有点滞后,因为我使用 QuickTime 录制了它,但它应该明白这一点。

http://www.youtube.com/watch?v=2eQ1cj7hpWw

0 投票
1 回答
404 浏览

c++ - OgreBullet 不正确的 HeightmapCollisionShape 形状比例?

我正在尝试通过(主要)使用演示代码在 OgreBullet 中加载 HeightmapTerrainShape,但我的地形网格从 HeightmapTerrainShape 偏移。我不知道为什么会这样。这是我的代码:

这是打开调试抽屉后的样子: 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

我的世界大小是4096*600*4096,每个chunk是64*600*64

0 投票
3 回答
5898 浏览

bulletphysics - “step”在 stepSimulation 中是什么意思,它的参数在 Bullet Physics 中是什么意思?

子弹物理学中的“STEP”一词是什么意思?

函数stepSimulation()及其参数是什么意思?

我已阅读文档,但我无法掌握任何内容。

任何有效的解释都会有很大帮助。

0 投票
1 回答
214 浏览

ios - btRigidBody 物体在低速碰撞时表现异常

我正在尝试在我的 iOS 游戏中使用 Bullet Physics。该引擎似乎已正确编译,因为演示工作正常。

在我的游戏中,我有玩家的船和一些敌船。它们被定义为 btRigidBody 对象和 btCollisionObjects,我使用 btSphereShapes 进行碰撞。

在“快”的速度下,碰撞似乎是明智的——事情发生了碰撞,没有什么事情会变得“奇怪”。如果速度非常慢并且玩家的船碰到了一个不动的物体,碰撞就会发生,但是玩家的船在接下来的几帧中以难以置信的速度移动,并且看起来距离碰撞的地方很远 - 完全不成比例它在撞击前的移动速度。

为了移动这些东西,我每帧都使用 setLinearVelocity(),勾选物理引擎,然后使用 getMotionState() 更新我拥有的渲染代码。

部分问题可能是我不太了解如何设置正确的质量或用于任何事情的最佳速度。我主要是坚持数字,看看会发生什么。

我应该以这种方式使用 Bullet,是否有任何确定物体质量的准则?(我是否正确地假设在碰撞中较重的物体会迫使较轻的物体移动更多)

0 投票
1 回答
2963 浏览

c++ - 如何消除空气阻力?

我有一个空间模拟,所以显然我不想要重力或空气阻力。重力直接关闭,但我找不到空气阻力的等价物。我认为这将是在逐个身体的基础上进行,而不是像重力这样的世界范围内的设置。

事实上,我看到btSoftBody有中等密度的值,air_density但我正在使用btRigidBody.

0 投票
1 回答
2745 浏览

java - (Java)将四元数转换为弧度(或度数)?

在过去的几天里,我一直在使用 OpenGL 和 JBullet。经过大量的修补,我终于设法修复了 JBullet 中的一些错误,并使其可用于一些演示。我目前遇到的问题是我无法将翻译转换为度数,到目前为止,我使用四元数获得了最好的结果,使用以下代码转换为弧度:

值得注意的是,我唯一的成功是在四元数的 X 轴上,而且在任何其他轴上都没有平移。更不用说它偏离了 0-6 度。

0 投票
1 回答
795 浏览

nan - 子弹物理和 NAN 值

有时,某些对象会在使用 Bullet Physics 模拟的世界中获得 NAN 值。(非常罕见)正确的处理方法是什么?是否有内置子弹物理功能来检测此类物体以避免 NAN 病毒效应。为什么有些对象正在获取 NAN。我不施加 NAN 力量或冲动。我认为这可以通过在相同坐标下创建 2 个对象来解决。