Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
SpringArm3D¶
能够动态地将子节点朝碰撞点移动的 3D 射线投射。
描述¶
SpringArm3D 会朝它的 Z 轴投射射线或形状,并将所有直接子节点朝碰撞点移动,可以保留一定的边距。可用于第三人称相机,让其在狭窄空间中朝玩家移动(你可能需要在 SpringArm3D 的碰撞检查中排除玩家的碰撞体)。
属性¶
|
||
|
||
|
方法¶
void |
add_excluded_object(RID: RID) |
void |
|
remove_excluded_object(RID: RID) |
属性说明¶
碰撞检测的目标层。更多信息请参阅文档中的《碰撞层与遮罩》。
进行碰撞检测时,会给出 SpringArm3D 的一个候选长度。
然后将边距减去该长度,并将该平移应用于该 SpringArm3D 的子对象。
当 SpringArm3D 有一个 Camera3D 作为子节点时,该边距很有用:如果没有边距,该 Camera3D 将被放置在准确的碰撞点上;而有边距时,该 Camera3D 将被放置在靠近碰撞点的地方。
用于该 SpringArm3D 的 Shape3D。
当该形状被设置后,SpringArm3D 将在其 z 轴上投射该 Shape3D,而不是执行一个射线投射。
SpringArm3D 的最大范围。这用作内部使用的射线和形状投射的长度,以计算 SpringArm3D 子节点的所需位置。
要了解有关如何执行形状投射或射线投射的更多信息,请参阅 PhysicsDirectSpaceState3D 文档。
方法说明¶
void add_excluded_object(RID: RID) 🔗
将具有给定 RID 的 PhysicsBody3D 对象,添加到从碰撞检查中排除的 PhysicsBody3D 对象列表中。
void clear_excluded_objects() 🔗
清空碰撞检测排除 PhysicsBody3D 对象的列表。
返回弹簧臂的当前长度。
bool remove_excluded_object(RID: RID) 🔗
从碰撞检测排除 PhysicsBody3D 对象的列表中移除给定的 RID。