版本:2022.3
语言: 英语
Rigidbody 2D
2D刚体体类型

2D刚体简介

切换到脚本

您可以将2D刚体组件附加到游戏对象Unity场景中的基本对象,可以表示角色、道具、场景、相机、航点等等。游戏对象的功能由附加到它的组件定义。 更多信息
词汇表中查看
上,以使用物理系统控制它。2D刚体与其标准Rigidbody一个组件,允许游戏对象受到模拟的重力和其他力的作用。 更多信息
词汇表中查看
对应项具有类似的属性,但它已被适应用于2D开发。例如,附加了2D刚体组件的游戏对象只能沿XY平面移动,并且只能在垂直于该平面的轴上旋转。

2D刚体的工作原理

Unity编辑器的Transform组件定义了如何在场景包含你的游戏的环境和菜单。每个独特的场景文件就像一个独特的关卡。在每个场景中,你放置环境、障碍物和装饰,实际上是在碎片化地设计和构建你的游戏。 更多信息
词汇表中查看
中定位、旋转和缩放游戏对象(及其子游戏对象)。当你更改此组件时,它会更新其他组件,这些组件可以影响它们的渲染位置或其他碰撞体用于处理对象物理碰撞的不可见形状。碰撞体不需要与对象的网格完全相同形状 - 一种粗略的近似通常更高效,并且在不影响游戏体验的情况下难以区分。 更多信息
词汇表中查看
的位置。Unity的2D物理系统可以移动碰撞体并使它们相互交互,因此Unity需要一个方法使物理系统能够将碰撞体的这种移动信息传达回Transform组件。这就是2D刚体组件的作用。2D刚体组件会覆盖Transform组件并更新它,使其位置和/或旋转与它定义的位置和/或旋转匹配。

注意:您可以通过直接修改Transform组件来覆盖2D刚体(因为Unity暴露了所有组件上的所有属性)。然而,这可能会导致运动不可预测或游戏对象相互穿过等问题。

2D碰撞体和2D刚体交互

将任何2D碰撞组件添加到同一GameObject或子GameObject中,该组件将隐式地附加到Rigidbody 2D GameObject,导致2D碰撞组件随Rigidbody 2D一起移动。当附加时,您不应直接使用Transform或任何碰撞偏移量来移动2D碰撞组件;相反,应移动Rigidbody 2D。移动Rigidbody 2D可以提供最佳性能并确保正确的碰撞当物理引擎检测到两个GameObject的碰撞组件接触或重叠(至少其中一个具有Rigidbody组件并且处于运动状态)时,就会发生碰撞。更多信息
术语表中查看
检测。附加到同一Rigidbody 2D的2D碰撞组件之间不会相互碰撞。这意味着您可以创建一组充当单个复合碰撞组件的有效碰撞器,它们所有都与Rigidbody 2D同步移动和旋转。

通过应用从脚本API来的力,将Rigidbody 2D添加到会在物理上令人信服地移动精灵二维图形对象。如果您习惯于在3D环境中工作,精灵本质上只是标准纹理,但在开发和发布过程中,有专门的技术用于有效地合并和管理工作纹理,以提高效率和便利性。更多信息
术语表中查看
。将适当的碰撞组件附加到精灵GameObject后,它将受到与其他移动GameObject碰撞的影响。使用Unity物理系统可以简化许多常见游戏机制,并通过最少的代码来实现逼真的行为。

注意:尽管通常描述Rigidbody 2D之间会相互碰撞,但它实际上是附加到每个这些物体上的Collider 2D之间的碰撞。如果没有Collider,Rigidbody 2D无法相互碰撞。

其他资源

Rigidbody2D

Rigidbody 2D
2D刚体体类型