地面移动后,刚体保持在空中(有时)

时间:2015-01-31 21:56:17

标签: unity3d

我有一个预制件(绿色钻石),它有一个玩家可以控制的刚体和地面。

在某些情况下,预制件似乎没有重新确定地面是否被移动。一旦被某物撞击或者地面移动得更远(有时),预制件就落在地面上。

由于玩家只是触发移动地面,我是否必须通知预制件必须刷新其物理?

尝试每一次"插值"和"碰撞检测"组合

enter image description here

2 个答案:

答案 0 :(得分:1)

结帐Rigidbody.WakeUp。这可能是你正在寻找的,虽然我不知道是否有更好的方法来解决这个问题。

答案 1 :(得分:0)

我认为正确处理。对于我的具体情况。是使用刚体而不是直接(变换)操纵地面。

在fixedUpdate方法中使用“this.rigidbody.rotation = ...”后,我无法重现此问题。

http://docs.unity3d.com/ScriptReference/MonoBehaviour.FixedUpdate.html

  

在处理Rigidbody时,应该使用FixedUpdate而不是Update。例如,当向刚体添加力时,必须在FixedUpdate中的每个固定帧上应用力,而不是在Update中的每个帧。