- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在边缘形状上有一个盒子形状。现在我在盒子上施加冲动,让它可以跳跃。但是当它降落在地面上时,它不应该再移动了。所以我设置了盒子的restitution 0。边形和盒形的摩擦力为1。但在地面上很容易滑动。如何防止滑动?
最佳答案
正如您所发现的,您可以通过增加足够高的摩擦力来防止滑动。
至于您可以将摩擦设置为的最大值是多少,没有记录摩擦值的最大值。也就是说,最大摩擦值有一些限制。
尝试std::numeric_limits<float>::infinity()
作为 VaryingFriction
中的第一个摩擦值试验台测试,结果无限摩擦立方体撞击的第一个平台消失。哎呀!不是我想要的结果。
对 Box2D 2.3.2 C++ source code 的评论揭示摩擦相关变量,如:
m_friction
b2Fixture
的成员变量. m_friction
b2Contact
的成员变量. friction
b2ContactVelocityConstraint
的成员变量. float32
的实例。又是
float
类型-
a single precision floating-point type .这为我们提供了以下可以给我们(没有溢出)的最大上限:
std::numeric_limits<float>::max()
m_friction
b2Contact
的成员变量然而,本质上是取夹具摩擦乘积的平方根的结果:
std::sqrtf(m_fixtureA->m_friction * m_fixtureB->m_friction)
m_friction
value 需要低于 float-max 的平方根,以避免此产品中的潜在溢出。即,对于任何
b2Fixture
,我们得到了一个更现实的上限。的摩擦设置可以来自:
std::sqrtf(std::numeric_limits<float>::max())
friction
发生的事情,那可能已经足够好了。
b2ContactVelocityConstraint
的成员变量;它乘以另一个浮点数(在
b2ContactSolver::SolveVelocityConstraints()
中) -
normalImpulse
每个速度约束点。所以 float-max 的平方根可能仍然太高,无法确保避免任何溢出的可能性。
关于Box2d 将地面摩擦力设置为最大 - 无滑动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24687144/
我想做同样的事情:(没有复制球体) http://people.mozilla.org/~sicking/webgl/ray.html 我做到了,它有效,但反射太大:/ var groundTextu
我知道做水平和垂直卷轴游戏(如马里奥),在这种游戏类型中,角色与用户的距离始终相同。字符仅在水平滚动条中左右移动,在垂直滚动条中上下移动。 但有些 2D 游戏中的角色可以在场景中自由移动,例如图形冒险
如何从 bigcommerce API(Ground、Express)获取订单“运输方式”? 客户下单时选择的送货方式。 谢谢 最佳答案 请参阅此 page , 获取特定订单的运输相关数据。 关于bi
我需要一个 C# 函数来执行以下操作:从 gps 点 A 向 gps 点 B 的方向移动 50 米,并计算该点的 GPS 坐标。 例如我有两个坐标: LatLon LatLonA = new LatL
我是一名优秀的程序员,十分优秀!