在 Box2D 中如何防止球粘在墙上?

2023-11-23

我正在尝试 box2d。 我似乎遇到了人们描述为粘墙的问题

我有一个球和一个桨

我正在使用我能找到的所有基本推荐尺度,10m 世界,1m 球

该球具有以下特性:

shape: circle (.5f radius)
size: 1.0f
density: 1.0f
restitution: 1.0f
friction: 0.0f

用于移动球的桨长为1.5m,它具有以下特性: 形状:

circle (.75f radius)
size: 1.5f
density: 10.0f
restitution: 0.1f
friction: 0.0f

如您所见,所有物体的摩擦力均为 0。

球不断地沿着墙壁滚动或完全卡在 90 度角

我想我可以检测到与墙壁的碰撞并触发 applyLinearImpulse 将球移离墙壁。


您需要降低弹性碰撞的最小速度阈值。

通过减少来做到这一点b2Settings::b2_velocityThreshold接近于0。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Box2D 中如何防止球粘在墙上? 的相关文章

  • cocos2d之Box2D详解 鼠标关节实现

    cocos2d之Box2D详解 鼠标关节实现 DionysosLai2014 5 7 我们经常要移动物理世界中的某个物体 比方说石头 木块等 如果我们直接改变这些物体的位置 让这些物体跟随我们手指移动 即使这样是可行的 却违反了物理世界的基
  • [javascript] Box2D JS初探(一个控制小球的游戏例子)。学习用!

    Box2D 开源物理引擎 第一次接触 主要用途应该是做游戏 不过也可以作些简单的页面特性 比如切割粉碎 拖动带弹性系数 从写了个控制小球运动 可以方向键控制左右和弹跳 碰到障碍物就死掉的DEMO来试试 演示地址 null 这里注意的是 市面
  • HTML 5 游戏开发工具 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 有人可以指导我使用 HTML5 游戏开发的最佳引擎吗 这是简单的跳跃和表面探测游戏 主题就像跳跃并飞过树顶 在这种情况下你有什么建议 我的游戏目标是 Android 和 iOS 设备
  • 如何使用更少的 import 语句导入 Java 中的多个类? [复制]

    这个问题在这里已经有答案了 我对在 Java 中使用包还很陌生 我想知道是否有一种更简单的方法来使用更少的 import 语句导入类 我正在使用处理并且我已经开始使用用于处理的 Box2D创建一些游戏 为了使用该库 我必须将以下内容添加到我
  • box2d 中的碰撞不正确

    我正在开发一款游戏 用户必须击打高速球 为了击球 我使用旋转关节将一个矩形体与演员连接起来 并启用其电机 以指定的速度 电机速度 旋转它 现在一切都很完美 但有时当球的速度很高时 它会绕过矩形体 使用碰撞监听器 我发现碰撞正在发生 但球在碰
  • 计算特定撞击角度的 box2d 冲量

    我有一个球 圆形的动态物体 它在重力条件下作用在表面 蹦床 上 当球撞击蹦床 图中从 A 点到 B 点绘制 时 我想向球施加一个脉冲 垂直于蹦床表面 问题是现在我使用 b2Vec2 impulse b2Vec2 0 self fullMas
  • 绕着正方形滚动一个圆

    近一个月后 我仍然停留在这个问题上 我设法决定圆圈 或我所说的行人 是否应该向左 向右或向上 向下移动 但我需要有可能移动行人around一座建筑物 这意味着他们必须转角 基本上无论方向如何 他们只需要转90度 非常感谢 import nu
  • Libgdx box2D 中的碰撞对于某些物体失败

    我正在使用 libgdx 和 box2d 开发我的第一个游戏 我正在使用调试渲染器来测试我的对象 我创建了一些类似汽车的物体 每辆车都有一个主体 它是一个6点的大多边形 长约1米 高0 7米 并有2个通过旋转关节连接的车轮 主车还通过旋转接
  • 带有外部图像的 box2d-js 元素

    到目前为止 在各种 box2d js 实现的示例中 我只能找到形状 球 盒子 等 中定义的元素 有没有办法创建由图像定义的元素 例如一块巨石 您可以使用b2PolyDef and b2PolyShape对象来创建多边形 本文档 http w
  • 使用 Box2D 制作角色动画的最佳方法是什么?

    我正在为 Android 开发一款 2D 水下动作角色扮演游戏 使用 Box2D 作为物理引擎 主要用于碰撞检测 碰撞响应以及游戏角色在由墙壁 岩石和其他生物组成的环境中的移动 我尝试了两种不同的方法来使用 Box2D 实现角色动画 但都发
  • 如何使用 libgdx contactlistener

    我刚刚开始使用 Libgdx 的 Box2d 引擎 但我根本不明白什么时候联络监听器应该被称为 一方面是 开始接触 另一方面是 结束接触 我应该在哪里调用它们 以获得某个固定装置接触其他固定装置的数量 我该如何实施联络监听器 重定向到教程将
  • 如何在 Box2D 中设置形状/夹具/主体的中心

    嘿 我正在尝试集成 SFML 和 Box2D SFML 使精灵 形状等的设置中心变得非常容易 另一方面 Box2D 我遇到了麻烦 因为我不知道如何设置甚至找到形状或夹具的中心 在我看来 当手动添加顶点到 b2 PolygonShape 时
  • Objective-C++ 导入 C++ 类失败,找不到 cassert

    因此 我想公开公开一个 Box2D C 指针 指向我的 cocos2d box2d 项目中的其他 Objective C 类 我在接口中声明了一个方法 getWorld 该方法引用 C 类 b2World 并导入 Box2D h 我的项目中
  • Box2D - b2body GetUserData 始终返回 null

    我正在尝试根据 box2d 中的 b2body 调整精灵的位置和旋转 创建主体后 我将 userData 属性设置为保存精灵和位置等的主体对象的属性 问题是在勾选方法 b gt GetUserData 中永远不会检索我放入其中的对象 你能看
  • Corona/Box2D 检测与非移动静态物体的碰撞

    出于发帖原因 这是我正在尝试做的事情的简单版本 在屏幕上我有一个简单的圆形对象 它是静态的并且不会移动 然后用户可以拖放一条直线 如果该线穿过该圆圈 我希望触发碰撞事件 看来除非其中一个物体正在移动 否则永远不会检测到碰撞 绘制线条时能否检
  • 实现移动运动体

    Project 我正在制作一个简单的项目 其中我希望能够制作一个运动体并将其从 x 点移动到 y 点 创建运动体 似乎没有太多直接内容 我一直在关注一些关于实现运动体的不同教程 因为我找不到指定如何正确执行此操作的教程 Problem 这似
  • 致命信号11(和引擎项目)

    我正在创建由 andengine 框架提供支持的 android 游戏 box2d 扩展我收到 致命信号 11 这似乎是突然发生的 我想你可以随机称呼它 没有任何线索 至少 我不知道有任何线索可以帮助我解决这个问题 我的猜测是 1 我正在使
  • Box2d 自定义多边形和精灵不匹配

    我正在使用物理编辑器在 Box2d 中创建多边形 它生成多边形并在非视网膜显示器中工作正常 但在视网膜显示器中不起作用 我已附上两个显示器的屏幕截图 现在 当谈到视网膜显示器时 未设置多边形在汽车上方 这是该图像 这是我在项目中使用的代码
  • 如何在Sprite Kit中实现鼠标关节?

    我已经在 iOS 上用 Cocos2d Box2d 编写了拖放功能的工作实现 我需要将它移植到 Sprite Kit 逻辑非常基本 当用户触摸屏幕时 找到手指下的精灵 在找到的精灵和场景的物理体之间创建鼠标关节 将关节的目标设置为触摸位置
  • IOS Box2D - 身体遵循基于速度波动的点数组的特定路径

    我有一个关于身体的问题 它遵循特定的路径 首先是将身体移动到目标点的方法 const float destinationControl 0 3f b2Vec2 targetPosition path counter b2Vec2 missi

随机推荐