ConcavePolygonShape2D
继承: Shape2D < Resource < RefCounted < Object
用于物理碰撞的 2D 多线段形状。
描述
一种 2D 折线形状,用于物理运算。当 CollisionPolygon2D 处于 CollisionPolygon2D.BUILD_SEGMENTS 模式时,会在其内部使用。
作为一组相互连接线段,ConcavePolygonShape2D 是最自由的可配置的单一 2D 形状。它可以用于形成任何性质的多边形,甚至是不封闭区域的形状。然而,即使相互连接的线段确实封闭了一个区域,ConcavePolygonShape2D 仍然是中空的,这常常使其不适用于物理模拟或碰撞检测。
注意:当用于碰撞计算时,ConcavePolygonShape2D 旨在与 StaticBody2D 等静态 CollisionShape2D 节点一起使用,并且对于 CharacterBody2D 或 RigidBody2D,在除静态模式之外的其他模式下可能表现不佳。
警告:较小的物理物体在快速移动时有机会穿过该形状。发生这种情况是因为在一帧上,物理物体可能位于形状的“外部”,而在下一帧上,它可能位于形状的“内部”。由于ConcavePolygonShape2D 是中空的,因此它不会检测到碰撞。
性能:由于其复杂性, ConcavePolygonShape2D 是检测碰撞最慢的 2D 碰撞形状。它的使用一般仅限于关卡几何体。如果折线是闭合的,可以使用 CollisionPolygon2D 的 CollisionPolygon2D.BUILD_SOLIDS 模式,它会将多边形分解成凸多边形;相关说明请参阅 ConvexPolygonShape2D 文档。
属性
|
属性说明
PackedVector2Array segments = PackedVector2Array()
void set_segments ( PackedVector2Array value )
PackedVector2Array get_segments ( )
顶点数组,构成 ConcavePolygonShape2D 的线段。该(长度能被二整除的)数组自然两两分组(每组代表一条线段);每组都由一条线段的起点和终点构成。
© 版权所有 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0). Revision b1c660f7
.
Built with Sphinx using a theme provided by Read the Docs.