Version: Unity 6.0 (6000.0)
语言 : 中文
运动学身体类型基础知识
静态体类型

运动学身体类型参考

运动学 2D 刚体在碰撞过程中的行为与不可移动的对象一致(等于具有无限质量),且不具备与质量相关的属性。

运动学 2D 刚体属性

属性 功能
身体类型 (Body Type) 选择此选项以设置此 2D 刚体组件的运动行为和 2D 碰撞体交互。
    动态 (Dynamic) 选择此选项以将此 2D 刚体设置为动态身体类型,此类型专门为在模拟条件下移动而设计,并具有所有可用的 2D 刚体属性。2D 刚体的默认身体类型。
    运动学 (Kinematic) 选择此选项以将此 2D 刚体设置为运动学身体类型,此类型专为在模拟条件下移动而设计,但仅针对非常明确的用户控制。
    静态 (Static) 选择此选项以将此 2D 刚体设置为静态身体类型,此类型被设计为完全不在模拟条件下移动,其行为类似于具有无限质量的不可移动对象。详情请参阅身体类型:静态
材质 (Material) 为此 2D 刚体所附的所有 2D 碰撞体设置一个通用物理材质注意:如果已被设置,则 2D 碰撞体会使用自己的材质属性。如果此处或 2D 碰撞体中未指定材质,则默认为 None (Physics Material 2D)。这时会使用 2D 物理 (Physics 2D) 窗口所设置的默认材质。
模拟 (Simulated) 启用模拟以使 2D 刚体以及所有所附 2D 碰撞体和 2D 关节在运行时与物理模拟系统交互。如果禁用此功能,那么这些组件不会与模拟系统进行交互。详情请参阅下文的 2D 刚体属性:模拟。此属性默认启用。
完整运动学触点 (Full Kinematic Contact) 如果要让 2D 刚体与所有其他 2D 身体类型的刚体碰撞,请启用此属性。注意:禁用此属性后,运动学 2D 刚体只会与动态2D 刚体碰撞。详情请参阅使用完整运动学触点
碰撞检测 (Collision Detection) 定义如何检测 2D 碰撞体之间的碰撞。
    离散 (Discrete) 选择此选项以允许具有 2D 刚体和 2D 碰撞体的__ GameObject__Unity 场景中的基础对象,可以表示角色、道具、风景、摄像机、路径点等。GameObject 的功能由所附的组件决定。更多信息
See in Glossary
在物理更新期间发生重叠或穿过彼此(如果移动得足够快)。仅会在新位置生成碰撞触点。
    连续 (Continuous) 选择此选项以确保具有 2D 刚体和 2D 碰撞体的 GameObject 在物理更新期间不会穿过彼此。相反,Unity 会计算 2D 碰撞体的第一个撞击点,并将 GameObject 移动到该点。注意:此选项会比离散选项耗费更多 CPU 时间。
睡眠模式 (Sleeping Mode) 定义 GameObject 如何在处于静止状态时“睡眠”以节省处理器时间。
    永不睡眠 (Never Sleep) 选择此选项以禁用睡眠。重要信息:应尽可能避免此设置,否则会影响系统资源。
    初始唤醒 (Start Awake) 选择此选项以使 GameObject 在初始时处于唤醒状态。
    初始睡眠 (Start Asleep) 选择此选项以使 GameObject 在初始时处于睡眠状态,但可通过碰撞唤醒。
插值 (Interpolate) 定义如何在物理更新间隔期间插入 GameObject 的移动。注意:适用于运动趋于颠簸状态的情况。
    无 (None) 选择此选项以不应用运动平滑。
    插值 (Interpolate) 选择此选项以根据 GameObject 在先前帧中的位置来平滑移动。
    外推 (Extrapolate) 选择此选项以根据 GameObject 在下一帧中的预计位置来平滑移动。
约束 (Constraints) 定义对 2D 刚体运动的任何限制。
    冻结位置 (Freeze Position) 选择性停止 2D 刚体沿世界 X 和 Y 轴的移动。
    冻结旋转 (Freeze Rotation) 选择性停止 2D 刚体围绕世界 Z 轴的旋转.
层覆盖 (Layer Overrides) 展开层覆盖设置。
    包含层 (Include Layers) 在决定是否与另一个 2D 碰撞体发生碰撞时,选择所有此 2D 刚体所附的 2D 碰撞体 应包含的其他层。详情请参阅 Rigidbody2D-includeLayers
    排除层 (Exclude Layers) 当决定是否与另一个 2D 碰撞体发生碰撞时,选择所有此 2D 刚体所附的 2D 碰撞体应排除的其他层。详情请参阅 Rigidbody2D-excludeLayers

完整运动学触点

启用完整运动学触点 (Full Kinematic Contacts) 可使运动学 2D 刚体与所有身体类型的 2D 刚体发生碰撞。这与动态 2D 刚体的行为类似,只不过运动学 2D 刚体在接触另一个 2D 刚体时不会被物理系统移动。相反,它会表现出具有无限质量的不可移动对象的行为。

禁用此属性后,运动学 2D 刚体只会与动态 2D 刚体碰撞,而不会与其他身体类型碰撞。注意:触发器碰撞体是此规则的例外。这意味着任何碰撞脚本回调(OnCollisionEnterOnCollisionStayOnCollisionExit)都不会发生。

使用物理查询(例如 Physics.Raycast)来检测 2D 刚体应该移动的位置和方式时,以及需要多个运动学 2D 刚体相互交互时,这可能会造成不便。启用使用完整运动学触点 (Use Full Kinematic Contacts) 即可让运动学 2D 刚体组件以此方式交互。

注意使用完整运动学触点 (Use Full Kinematic Contacts) 可以让您精确地控制运动学 2D 刚体的位置和旋转,同时仍然允许完整的碰撞回调。在需要精确控制所有 2D 刚体的情况下,使用运动学 2D 刚体来代替动态 2D 刚体,即可保留对完整碰撞回调的支持。

运动学身体类型基础知识
静态体类型