在碰撞当物理引擎检测到两个 GameObject 的碰撞器接触或重叠,且至少有一个具有 Rigidbody 组件并处于运动状态时,便会发生碰撞。 更多信息
请参阅 术语表中,运动刚体允许受模拟重力和其他力影响的 GameObject 的组件。 更多信息
请参阅 术语表 2D 表现得像不可移动物体(仿佛其质量无限大),并且此实体类型为 2D 刚体定义了固定行为。可以是动态(该刚体在模拟下运动,并受重力等力的影响)、运动(该刚体在模拟下运动,但不受重力等力的影响)或静态(该刚体在模拟下不运动)。 更多信息
请参阅 术语表不具有质量相关的属性。
属性 | 功能 |
---|---|
实体类型 | 选择以设置此二维刚体组件设置的运动行为和碰撞器用于处理对象物理碰撞的不可见形状。碰撞器不必与对象的网格形状完全相同 - 粗略近似通常在游戏中更为高效且无法区分。 更多信息 请参阅 术语表 2D 交互方式。 |
动态 | 选择以将此二维刚体设置为动态实体类型,该类型专用于在模拟下移动并且所有二维刚体属性可用。这是二维刚体的默认实体类型。 |
运动 | 选择以将此二维刚体设置为运动实体类型,该类型专用于在模拟下移动,但仅在非常明确的用户控制下移动。 |
静态 | 选择将此刚体 2D 设定为静态刚体类型,这个刚体类型完全不受仿真移动,表现得像一个无限质量的不可移动对象。有关更多信息,请参阅刚体类型:静态。 |
材质 | 为附加到此刚体 2D 的所有碰撞器 2D 设置一种常见的物理材质一种物理资产用于调整碰撞对象的摩擦和弹跳效果。 更多信息 在术语表中查看。注意:如果一个碰撞器 2D 带有它自己的材质属性,则它会使用该属性。如果此处或碰撞器 2D 中未指定材质,则默认选项为无(物理材质 2D)。在Physics 2D窗口中,您可以设置使用此默认材质。 |
模拟 | 启用模拟以使刚体 2D 和任何附加的碰撞器 2D 及关节一种物理组件,允许在刚体组件之间进行动态连接,通常允许一定程度的运动,例如铰链。 更多信息 在术语表中查看 2D 在运行时与物理仿真进行交互。如果此功能被禁用,则这些组件不会与仿真进行交互。有关更多信息,请参阅刚体 2D 属性:模拟,如下所示。默认情况下启用此属性。 |
完全运动学的接触 | 如果您希望刚体 2D 能够与所有其他刚体 2D 刚体类型发生碰撞,请启用此属性。注意:禁用此属性时,运动学刚体 2D 只与动态刚体 2D 发生碰撞。有关更多详细信息,请参阅使用完全运动学接触。 |
碰撞检测Unity 执行的一项自动过程,它确定带刚体和碰撞器组件的运动游戏对象是否与任何其他碰撞器接触。 更多信息 在术语表中查看 |
定义如何检测碰撞器 2D 之间的碰撞。 |
离散 | 选择此选项以允许带有刚体 2D 和碰撞器 2D 的游戏对象Unity 场景中的基本对象,它可以表示角色、道具、场景、摄像机、路径点等。游戏对象的功能由附加到它的组件决定。 更多信息 在术语表中查看在物理更新期间彼此重叠或穿过,前提是它们移动得足够快。仅在新位置生成碰撞接触。 |
连续 | 选择该选项以确保在物理更新期间,具有刚体 2D 和碰撞器 2D 的游戏对象不会相互通过。相反,Unity 会计算任意碰撞器 2D 的第一个触碰点,并将游戏对象移动到该位置。注意:该选项比离散占用更多 CPU 时间。 |
休眠模式 | 定义当游戏对象处于静止时如何“休眠”以节省处理器时间。 |
永不休眠 | 选择该选项禁用休眠。重要提示:尽可能避免使用该选项,因为它会影响系统资源。 |
开始时唤醒 | 选择该选项让游戏对象最初唤醒。 |
开始时休眠 | 选择该选项让游戏对象最初休眠,但可以通过碰撞唤醒。 |
插值 | 定义游戏对象的运动如何在物理更新之间插值。注意:当动作往往断断续续时,这非常有用。 |
无 | 选择该选项以不应用运动平滑。 |
插值 | 选择该选项,根据游戏对象在之前帧中的位置对运动进行平滑。 |
外推 | 选择该选项,根据对下一帧中游戏对象位置的估计,对运动进行平滑。 |
约束 | 定义对刚体 2D 运动的任何限制。 |
冻结位置 | 选择性地停止刚体 2D 在世界 X 轴和 Y 轴上移动。 |
冻结旋转 | 选择性地停止刚体 2D 绕世界 Z 轴旋转。 |
层级覆盖 | 展开层级覆盖设置。 |
包含层级 | 选择附加的层级,当决定是否应与其他碰撞器 2D 发生碰撞时,连接到该刚体 2D 的所有碰撞器 2D 都应包含该层级。有关更多信息,请参阅 Rigidbody2D-includeLayers。 |
排除层级 | 选择附加的层级,当决定是否应与其他碰撞器 2D 发生碰撞时,连接到该刚体 2D 的所有碰撞器 2D 都应排除该层级。有关更多信息,请参阅 Rigidbody2D-excludeLayers。 |
启用完全运动学接触可使运动学刚体 2D 与所有刚体 2D运动类型碰撞。这类似于动态刚体 2D 的行为,但当运动学刚体 2D 与另一个刚体 2D 接触时,运动学刚体 2D 不会被物理系统移动。相反,它表现得就像一个具有无限质量的不可移动物体。
禁用此属性后,运动学刚体 2D 将只与动态刚体 2D 碰撞,而不会与其他运动类型碰撞。注意:触发器碰撞器是此规则的例外。这意味着不会发生任何碰撞脚本回调(OnCollisionEnter、OnCollisionStay、OnCollisionExit)。
当您使用物理查询(例如 Physics.Raycast)检测刚体 2D 应该如何及向何处移动,且需要多个动力学刚体 2D 相互作用时,这会带来不便。启用“使用全部动力学接触”以使动力学刚体 2D 组件以这种方式进行交互。
注意:使用全部动力学接触允许明确对动力学刚体 2D 的位置和旋转进行控制,但仍允许使用全部碰撞回调。在需要对所有刚体 2D 进行明确控制的情况下,请使用动力学刚体 2D 来代替动态刚体 2D,以继续获得全部碰撞回调支持。