如何在Unity中实现定向弹跳物理学?

时间:2019-04-05 23:19:03

标签: unity3d game-physics physics

开头:我尝试过材料,质量,重力等各种组合,但正确的组合除外!

我目前有一个带有Box Collider的董事会。该板位于铰接点上,从本质上讲,它像跷跷板一样工作。

我想做的是想象一下木板是一个蹦床。因此,如果您从左侧的某个点击中它,则您会击中并弹回右侧。

木板的材料为:

Friction: 0
Bounciness: .5

我试图将“ Angular Drag”添加到板上,但不确定在该板上实际执行什么操作。

当前,我有一个具有刚体的播放器,具有以下设置:

Mass: .8
Linear Drag: .05
Angular Drag: .05
Gravity: 2
Collision detection: Discrete
Freeze Rotation: Only Z is checked.

此球员的摩擦材料为0,弹跳为.5。在大多数情况下,弹跳都很好。

我已经尝试过这段代码来尝试达到这种效果,但没有任何效果:

ContactPoint2D contact = col.contacts[0];
baby.AddForceAtPosition(new Vector3(0, 20, 0), contact.normal);

该想法是根据击中的位置,在其Y方向上加20。

有时,玩家会降落在平台上并向右或向左弹跳一点,并且在Y方向上基本上为0,然后再次降落在平台上。有办法避免这种行为吗?

任何正确方向的提示都将非常有帮助!

0 个答案:

没有答案