ConcavePolygonShape3D¶
继承: Shape3D < Resource < RefCounted < Object
用于物理碰撞的3D三角形。
描述¶
一种三维三角形,用于物理学。通常用于为ColliderShape提供形状。
ConcavePolygonShape3D只是相互连接的三角形的集合,是最自由配置的单一3D形状。它可以用来形成任何性质的多面体,甚至不包围体积的形状。然而,ConcavePolygonShape3D是空心的,即使相互连接的三角形确实包围了一个体积,这通常使其不适合物理或检测。
注意:当用于碰撞时,ConcavePolygonShape3D旨在与静态ColliderShape节点(如StaticBulk)一起工作,并且在静态以外的模式下可能无法很好地处理CharacterBulk或RigidBulk。
警告:小物理体在快速移动时有机会穿过这个形状。这是因为在一帧中,物理体可能在形状的“外部”,在下一帧中,它可能在形状的“内部”。ConcavePolygonShape3D是中空的,所以它不会检测到碰撞。
性能:由于其复杂性,ConcavePolygonShape3D是检查碰撞的最慢的3D碰撞形状。它的使用一般应限于水平几何。对于凸几何,应使用ConvexPolygonShape3D。对于需要凹碰撞的动态物理体,可以使用几个ConvexPolygonShape3D来表示其碰撞,使用凸分解;参见ConvexPolygonShape3D的文档说明。
属性¶
|
方法¶
get_faces() const |
|
void |
set_faces(faces: PackedVector3Array) |
属性说明¶
bool backface_collision = false 🔗
如果设置为true,则在凹面的两侧发生碰撞。否则它们仅沿面法线发生。
方法说明¶
PackedVector3Array get_faces() const 🔗
以顶点数组的形式返回三角形的面。数组(长度可被三整除)自然分为三元组;每个三元组的顶点定义一个三角形。
void set_faces(faces: PackedVector3Array) 🔗
从顶点数组中设置三角形的面。faces数组应由三元组组成,以便每个三元组的顶点定义一个三角形。