Table of Contents

碰撞体形状

初级 设计师

Warning

Bullet Physics is being phased out. We no longer plan to support or expand its features as our focus shifts to Bepu Physics. We recommend transitioning to Bepu Physics for access to the latest updates and ongoing improvements.

要让碰撞体进行交互,你需要在 Property Grid 中设置它们的形状。你可以指定几何形状,或使用碰撞体形状资源。

选择碰撞体形状

组件可以拥有多个相互交叉的形状,并且不必与其(如果有的话)实体模型匹配。每个形状都有额外的属性,包括大小、方向、偏移等。

碰撞体形状的类型

盒体(Box)

盒体

属性 描述
Is 2D 使盒体在一个维度上无限扁平。
Size 盒体的 XYZ 尺寸。
Local offset 盒体相对于其实体的位置。
Local rotation 盒体的 XYZ 旋转值。

胶囊体(Capsule)

胶囊体

胶囊体形状对角色组件特别有用,因为它的弧形底部可以让实体移动到更高的平面(例如爬上楼梯时)。

属性 描述
Is 2D 使胶囊体在一个维度上无限扁平。
Length 胶囊体的长度。
Radius 胶囊体的半径。
Orientation 形状沿其拉伸的轴(X、Y 或 Z)。
Local offset 胶囊体相对于其实体的位置。
Local rotation 胶囊体的 XYZ 旋转值。

圆锥体(Cone)

圆锥体

属性 描述
Height 圆锥体的高度。
Radius 圆锥体底端的半径。
Orientation 形状沿其拉伸的轴(X、Y 或 Z)。
Local offset 圆锥体相对于其实体的位置。
Local rotation 圆锥体的 XYZ 旋转值。

圆柱体(Cylinder)

圆柱体

属性 描述
Height 圆柱体的长度。
Radius 圆柱体的半径。
Orientation 设置形状沿其拉伸的轴(X、Y 或 Z)。
Local offset 圆柱体相对于其实体的位置。
Local rotation 圆柱体的 XYZ 旋转值。

球体(Sphere)

球体

属性 描述
Is 2D 使球体在一个维度上无限扁平。
Radius 球体的半径。
Local offset 球体相对于其实体的位置。

无限平面(Infinite plane)

无限平面

无限平面在一个维度上延伸无限远。 可以把它想象成一堵永远延伸到远方的墙或地板。 你可以结合使用多个无限平面,把用户围起来,防止他们"穿隧"到关卡之外。

属性 描述
Normal 哪个向量(X、Y 或 Z)垂直于该平面。例如,要创建一个无限延伸的地板,请将 normal 属性设置为:X:0, Y:1, Z:0。
Offset 平面相对于其实体的位置。

资源(Asset)

从碰撞体形状资源中指定碰撞体形状(见下面的碰撞体形状资源)。

属性 描述
Shape 用于生成碰撞体形状的碰撞体形状资源。

碰撞体形状资源

你还可以创建碰撞体形状资源,并将其用作碰撞体形状。这意味着你可以编辑碰撞体形状资源,并自动更新使用它的每个实体。

创建碰撞体形状资源

  1. 在 Asset View(默认在底部)中,点击 Add asset。

  2. 选择 Physics,然后选择你要创建的形状。

    创建碰撞体形状资源

Game Studio 会在 CollisionMeshes 文件夹中创建新的碰撞体形状资源。

Asset View 中的碰撞体形状资源

从模型创建碰撞体形状资源

这对于快速创建与模型匹配的碰撞体形状很有用。

  1. 在 Asset View(默认在底部)中,点击 Add asset。

  2. 选择 Physics > Convex hull。

    Select an asset 窗口打开。

    选择模型

  3. 浏览到要用来创建碰撞体形状资源的模型资源,然后点击 OK。

Game Studio 会根据该模型创建碰撞体形状资源。

使用碰撞体形状资源

  1. 在静态碰撞体或刚体属性中,在 Collider Shapes 下选择 Asset。

    选择碰撞体形状资源

  2. 在 Shape 旁边,指定你要使用的碰撞体形状资源。

    选择碰撞体形状资源

    为此,将资源从 Asset View 拖放到 Property Grid 中的 Shape 字段。或者,点击 手形图标(选择资源)并浏览到该资源。

另请参阅