Cocos Creator 物理引擎相关问题

@jare @jjyinkailejj @panda @zzf_Cocos

Hello 各位大大, 目前在用 Cocos Creator 物理引擎做一款小游戏,遇着几个问题。试遍了各种方式也没找到有效的解决办法,也不确定引擎就是这样的还是我的用法有问题。麻烦各位大大看看。

demo 已上传附件。

RigidBodyDemo.zip (228.2 KB)

问题1:刚体掉落在 PhysicsBoxCollider 物体上会一直小浮动的抖动。在 demo / Scene / 001
问题2:刚体在滚动时撞击物体导致反方向滚动,但刚体的旋转方向不会自己改变?还是说需要手动去获取撞击的方向然后调整吗?在 demo / Scene / 002
问题3:刚体在不移动的情况下,怎么让他的旋转速度降下来?目前是静止的情况下,还是会旋转。在 demo / Scene / 003

Cocos Creator v2.0.10 版本。

1赞

@953459485 @huanxinyin
麻烦大大帮忙看看。

再顶顶,希望能获得帮助。

1、box2d弹力问题:
弹力属于特殊运动,物理系统在游戏生命周期内会不断计算刚体的状态和位置。目前可以通过降低物理系统的update回调传递的dt参数的精度来优化这个问题。
找到box2d.js中的这段代码,然后改一下红框部分的代码。


还有另外一种方案是开启一个计时器,判断多次回弹时每次幅度是否小于某个值(比如dt),然后再手动停止这个物体的弹跳。
2、3属于同类问题,开启gold刚体的摩擦力即可。

感谢,已经解决。

问题一可以尝试修改这个值看看 :b2_velocityThreshold

https://docs.cocos2d-x.org/creator/2.1/manual/zh/physics/physics/advanced-settings.html

我调成*100/200,但是效果不太明显。以前堆叠十个左右才会

b2_velocityThreshold这个值是node的属性值吗?还是rigidbody的属性?

我将这个值改为100小球弹到平台上还是一直在抖动