Rigidbody2D组件的运动物体改为静止

发布于 2022-12-17  210 次阅读


跟着官方2D教程Ruby's Adventure:2D 初学者操作,有碰撞体和刚体的运动物体“Robot”转为静止时,通过

rigidbody2D.simulated = false;
将刚体模拟禁用,主角无法再与该物体进行碰撞。

此处保留碰撞体更加合理。但是注释掉上述代码后,“Robot”会在物理系统影响下,受主角碰撞的力而开始运动。我想要让其保持静止,就像没有刚体,只有碰撞体的物体那样。

根据Unity手册

对于具有 2D 碰撞体组件的游戏对象,不附加任何 2D 刚体组件。所有此类 2D 碰撞体在内部均视为已附加到单个隐藏的 Static 2D 刚体组件。

那么可以通过

rigidbody2D.bodyType = RigidbodyType2D.Static;
改变“Robot”的刚体类型达到目标。