Shape3D

继承: Resource < RefCounted < Object

派生: BoxShape3D, CapsuleShape3D, ConcavePolygonShape3D, ConvexPolygonShape3D, CylinderShape3D, HeightMapShape3D, SeparationRayShape3D, SphereShape3D, WorldBoundaryShape3D

用于物理碰撞的3D形状的抽象基类。

描述

所有3D形状的抽象基类,用于物理。

性能:原始形状,尤其是SphereShape3D,可以快速检查碰撞。ConvexPolygonShape3DHeightMapShape3D较慢,ConcavePolygonShape3D最慢。

属性

方法


属性说明

float custom_solver_bias = 0.0 🔗

  • void set_custom_solver_bias(value: float)

  • float get_custom_solver_bias()

形状的自定义求解器偏差。定义当涉及此形状时,有多少物体对强制接触分离做出反应。

当设置为0时,使用ProjectSettings.physics/3d/solver/default_contact_bias中的默认值。


float margin = 0.04 🔗

  • void set_margin(value: float)

  • float get_margin()

形状的碰撞余量。这在i3D物理中没有使用。

碰撞边距通过在形状周围添加额外的外壳来提高冲突检测的效率。当对象重叠超过边距时,碰撞算法的成本会更高,因此边距值越高,性能越好,代价是边缘周围的准确性,因为它会降低边缘的锐度。


方法说明

ArrayMesh get_debug_mesh() 🔗

返回用于绘制此Shape3D的调试冲突的ArrayMesh