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...
PhysicsRayQueryParameters3D
继承: RefCounted < Object
为 PhysicsDirectSpaceState3D.intersect_ray() 提供参数。
描述
通过修改这个对象的射线位置等属性,你可以为 PhysicsDirectSpaceState3D.intersect_ray() 配置参数。
属性
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
方法
create(from: Vector3, to: Vector3, collision_mask: int = 4294967295, exclude: Array[RID] = []) static |
属性说明
bool collide_with_areas = false
🔗
如果为 true
,则查询将考虑 Area3D。
bool collide_with_bodies = true
🔗
如果为 true
,则查询将考虑 PhysicsBody3D。
int collision_mask = 4294967295
🔗
查询将检测的物理层(作为位掩码)。默认情况下,会检测所有碰撞层。有关详细信息,请参阅文档中的 《碰撞层和掩码》。
将被排除在碰撞之外的对象的 RID 列表。请使用 CollisionObject3D.get_rid() 来获取与派生自 CollisionObject3D 的节点关联的 RID。
注意:返回的数组为副本,对其进行的修改不会更新原有属性。更新时,请先修改返回的数组,然后将其重新赋值回该属性。
Vector3 from = Vector3(0, 0, 0)
🔗
要查询的射线起点,使用全局坐标。
如果为 true
,查询将命中背部面,这些背部面是启用了背面的凹多边形形状,或高度图形状。
bool hit_from_inside = false
🔗
如果为 true
,查询会在从形状内部开始时检测到命中。在此情况下,碰撞法线将为 Vector3(0, 0, 0)
。不会影响凹多边形形状和高度图形状。
Vector3 to = Vector3(0, 0, 0)
🔗
要查询的射线终点,使用全局坐标。
方法说明
PhysicsRayQueryParameters3D create(from: Vector3, to: Vector3, collision_mask: int = 4294967295, exclude: Array[RID] = []) static 🔗
返回一个新的、预配置的 PhysicsRayQueryParameters3D 对象。使用它可以使用最常见的选项快速创建查询参数。
var query = PhysicsRayQueryParameters3D.create(position, position + Vector3(0, -10, 0))
var collision = get_world_3d().direct_space_state.intersect_ray(query)