Version: 6000.3
语言: 中文
复合碰撞机简介
碰撞体表面

创建复合碰撞器

一种化合物碰撞体一种不可见的形状,用于处理对象的物理碰撞。碰撞体不需要与对象的网格体完全相同的形状 - 在游戏中,粗略的近似值通常更有效且难以区分。更多信息
请参阅术语表
是同一父级上的碰撞器游戏对象的集合刚体允许游戏对象受到模拟重力和其他力影响的组件。更多信息
请参阅术语表
游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表
.有关何时以及为何使用复合碰撞器的详细信息,请参阅复合碰撞器简介

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

规划复合碰撞器

在构建复合碰撞器之前,请考虑要将碰撞器用于什么目的,以及如何排列碰撞器。

  • 如果你只需要碰撞器来提供碰撞,而不是任何碰撞碰撞当物理引擎检测到两个游戏对象的碰撞器接触或重叠时,当至少一个游戏对象具有刚体组件并且处于运动状态时,就会发生碰撞。更多信息
    请参阅术语表
    或触发事件,你可以以任何排列方式排列碰撞器,包括重叠,只要你覆盖了在运行时应充当碰撞器的所有空间。
  • 如果你需要碰撞器调用碰撞或触发事件,你需要以确保没有重叠的方式排列复合碰撞器。您还可以计划实施标签可以分配给一个或多个游戏对象的引用词,以帮助您识别游戏对象以进行脚本编写。例如,你可以为玩家可以在游戏中吃的任何物品定义和“可食用”标签。更多信息
    请参阅术语表
    和 Layers(Layers),以确保只有特定的碰撞器调用碰撞并触发事件。
  • 如果需要准确检测项目的哪个部分涉及碰撞,请按碰撞器分隔项目区域。例如,在玩家触摸宝箱正面时打开的宝箱上,正面可能有一个碰撞器,背面可能有一个碰撞器。
  • 如果另一个碰撞器需要沿着复合碰撞器滑动(例如,角色在冰上滑动),请尝试沿该表面仅使用一个碰撞器,以减少从一个碰撞器接触到另一个碰撞器接触的过渡过程中的抖动。

没有一种完美的方法来布置复合对撞机;效率始终取决于形状、所需的行为和项目中的其他元素。因此,你应始终对复合碰撞器运行测试,以检查其行为是否按预期运行,并且应使用物理性能分析器来测试不同的排列和配置,以提高计算效率。

构建复合碰撞器

  1. 创建或选择父游戏对象。在大多数情况下,这是包含网格Unity 的主要图形原语。网格体构成了 3D 世界的很大一部分。Unity 支持三角或四边形多边形网格。Nurbs、Nurms、Subdiv 曲面必须转换为多边形。更多信息
    请参阅术语表
    网格体渲染器(Mesh Renderer一个网格体组件,用于从网格体过滤器中获取几何体,并将其渲染到对象的变换组件定义的位置。更多信息
    请参阅术语表
    .
  2. 将 Rigidbody 添加到父游戏对象,并根据项目的需要对其进行配置(请参阅刚体物理简介)。
  3. 创建一个空的游戏对象作为父游戏对象的子项。
    1. 右键单击父游戏对象,然后选择“创建空游戏对象”。
  4. 将碰撞器添加到新的空游戏对象。
    1. 检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
      请参阅术语表
      窗口中,选择添加组件。
    2. 选择碰撞体形状。可以在复合碰撞器上使用任何碰撞器形状。在大多数情况下,应选择最简单的形状,以最准确地表示正在构建的碰撞体。
  5. 定位新碰撞器。
    1. 使用变换定位快捷键来定位碰撞体。
  6. 测试并观察刚体的行为。更改碰撞器配置可以更改刚体的质心表示刚体中所有质量的平均位置,用于物理计算。默认情况下,它是根据属于刚体的所有碰撞体计算的,但可以通过脚本进行修改。更多信息
    请参阅术语表
    ,这可能会导致一些意外行为。
  7. 根据需要对任意数量的碰撞器重复步骤 4-6。

如果您需要将相同的复合碰撞器应用于多个游戏对象,您可以复制父游戏对象或使用预制件:一种资产类型,允许您存储包含组件和属性的游戏对象。预制件充当模板,你可以从中在场景中创建新的对象实例。更多信息
请参阅术语表
.

自动生成复合碰撞器

上提供了多个第三方工具Asset StoreUnity 和社区成员创建的不断增长的免费和商业资产库。提供各种各样的资产,从纹理、模型和动画到整个项目示例、教程和编辑器扩展。更多信息
请参阅术语表
可以根据游戏对象的网格自动生成复合碰撞器。这些工具很有用,可以节省时间,但它们的输出仍然需要测试,并且可能需要进行一些调整才能完全高效。你应该对它们应用与手动构建的碰撞器相同的测试级别。

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