Version: Unity 6.0 (6000.0)
语言 : 中文
复合碰撞体简介
碰撞体表面

创建复合碰撞体

复合碰撞体是同一父级刚体游戏对象上的碰撞体游戏对象的集合。有关使用复合碰撞体场景和原因的详细信息,请参阅复合碰撞体简介

复合碰撞体由具有刚体组件的父游戏对象和具有碰撞体的子游戏对象组成。

规划复合碰撞体

构建复合碰撞体之前,请考虑使用碰撞体的原因以及如何排列碰撞体。

  • 如果只需要碰撞体提供碰撞,而不需要任何碰撞或触发事件,则可以任何排列方式排列碰撞体(包括重叠),前提是在运行时已覆盖了用作碰撞体的所有空间。
  • 如果需要碰撞体调用碰撞或触发事件,则需以此方式排列复合碰撞体,以确保没有重叠。还可以通过计划实施标签和层,以确保只有特定碰撞体可调用碰撞和触发事件。
  • 如果需要准确检测碰撞中涉及项目的部分,请使用碰撞体将项目区域分开。例如,在玩家接触正面时会打开的宝箱上,其正面和背面可能会拥有一个碰撞体。
  • 如果其他碰撞体需要沿着复合碰撞体滑动(例如,角色滑过冰层),请尝试仅沿该表面设置碰撞体,以减少从一个碰撞体接触点过渡到另一个碰撞体接触点的抖动。

没有完美的复合碰撞体排列方式;效率始终取决于形状、所需行为以及项目中的其他元素。因此,应始终对复合碰撞体进行测试,检查其行为是否符合预期,并应使用物理性能分析器 (Physics Profiler) 对不同排列和配置进行测试,以获得计算效率。

构建复合碰撞体

  1. 创建或选择父游戏对象。在大多数情况下,此游戏对象包含网格和网格渲染器。
  2. 将刚体添加到父游戏对象,并根据项目需要对其进行配置(请参阅刚体物理简介)。
  3. 创建空游戏对象,作为父游戏对象的子游戏对象。
    1. 右键单击父游戏对象,然后选择创建空游戏对象 (Create Empty GameObject)
  4. 将碰撞体添加到新的空游戏对象。
    1. 在检视视图 (Inspector) 窗口中,选择添加组件 (Add Component)
    2. 选择碰撞体形状。可以在复合碰撞体上使用任何碰撞体形状。在大多数情况下,应选择最简单的碰撞体形状,且该形状能够最准确地表示您构建的碰撞体。
  5. 定位新碰撞体。
    1. 使用变换组件 (Transform)定位快捷键来定位碰撞体。
  6. 测试并观察刚体行为。更改碰撞体配置可能会更改刚体的重心,可能会导致一些意外行为。
  7. 按需对任意数量的碰撞体重复步骤 4–6。

如果需要将相同的复合碰撞体应用于多个游戏对象,可以复制父游戏对象或使用预制件

自动生成复合碰撞体

资源商店提供了几种第三方工具,可以根据游戏对象的网格自动生成复合碰撞体。此类工具可以有效节省时间,仍需对其输出结果进行测试,可能需要进行调整才能完全生效。对于自动生成的复合碰撞体,应对其应用与手动构建的碰撞体相同水平的测试。

复合碰撞体简介
碰撞体表面