SpringArm¶
在碰撞点附近动态移动子代的3D光线投射。
描述¶
SpringArm沿其Z轴投射光线或形状,并将其所有直接子项移动到碰撞点,并带有可选的边距。这对于在狭窄空间内靠近用户的第三人称摄像机很有用(您可能需要从SpringArm的碰撞检查中排除用户的碰撞器)。
属性¶
|
||
|
||
|
方法¶
void |
add_excluded_object(RID: RID) |
void |
|
remove_excluded_object(RID: RID) |
属性说明¶
冲突检查应针对的图层。有关详细信息,请参阅文档中的碰撞图层和掩码。
进行碰撞检查时,会给出SpringArm3D的候选长度。
然后将边距减去此长度,并将平移应用于SpringArm3D的子对象。
此边距对于SpringArm3D有一个Camera作为子节点时很有用:如果没有边距,Camera将被放置在碰撞点的确切位置,而使用边距,Camera将被放置在碰撞点附近。
用于SpringArm3D的Shape3D。
设置形状后,SpringArm3D将在其z轴上投射Shape3D,而不是执行光线投射。
SpringArm3D的最大范围。这用作内部用于计算SpringArm3D子节点所需位置的射线和形状转换的长度。
要了解更多关于如何进行形状铸造或光线铸造的信息,请查阅PhysicsDirectSpaceState3D文档。
方法说明¶
void add_excluded_object(RID: RID) 🔗
将具有给定RID的PhysicsBulkBase对象添加到冲突检查中排除的PhysicsBulkBase对象列表中。
void clear_excluded_objects() 🔗
清除从碰撞检查中排除的PhysicsBulkBase对象列表。
返回弹簧臂的当前长度。
bool remove_excluded_object(RID: RID) 🔗
从冲突检查中排除的PhysicsBulkBase对象列表中删除给定的RID。