我有一个预制件(绿色钻石),它有一个玩家可以控制的刚体和地面。
在某些情况下,预制件似乎没有重新确定地面是否被移动。一旦被某物撞击或者地面移动得更远(有时),预制件就落在地面上。
由于玩家只是触发移动地面,我是否必须通知预制件必须刷新其物理?
尝试每一次"插值"和"碰撞检测"组合
答案 0 :(得分:1)
结帐Rigidbody.WakeUp。这可能是你正在寻找的,虽然我不知道是否有更好的方法来解决这个问题。
答案 1 :(得分:0)
我认为正确处理。对于我的具体情况。是使用刚体而不是直接(变换)操纵地面。
在fixedUpdate方法中使用“this.rigidbody.rotation = ...”后,我无法重现此问题。
http://docs.unity3d.com/ScriptReference/MonoBehaviour.FixedUpdate.html
在处理Rigidbody时,应该使用FixedUpdate而不是Update。例如,当向刚体添加力时,必须在FixedUpdate中的每个固定帧上应用力,而不是在Update中的每个帧。