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.

PhysicsShapeQueryParameters3D

繼承: RefCounted < Object

Provides parameters for PhysicsDirectSpaceState3D's methods.

說明

By changing various properties of this object, such as the shape, you can configure the parameters for PhysicsDirectSpaceState3D's methods.

屬性

bool

collide_with_areas

false

bool

collide_with_bodies

true

int

collision_mask

4294967295

Array[RID]

exclude

[]

float

margin

0.0

Vector3

motion

Vector3(0, 0, 0)

Resource

shape

RID

shape_rid

RID()

Transform3D

transform

Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)


屬性說明

bool collide_with_areas = false 🔗

  • void set_collide_with_areas(value: bool)

  • bool is_collide_with_areas_enabled()

如果為 true,則查詢將考慮 Area3D


bool collide_with_bodies = true 🔗

  • void set_collide_with_bodies(value: bool)

  • bool is_collide_with_bodies_enabled()

如果為 true,則查詢將考慮 PhysicsBody3D


int collision_mask = 4294967295 🔗

  • void set_collision_mask(value: int)

  • int get_collision_mask()

查詢將偵測的實體層(作為位元遮罩)。預設情況下,會偵測所有碰撞層。有關詳細信息,請參閱文件中的 《碰撞層和遮罩》


Array[RID] exclude = [] 🔗

The list of object RIDs that will be excluded from collisions. Use CollisionObject3D.get_rid() to get the RID associated with a CollisionObject3D-derived node.

Note: The returned array is copied and any changes to it will not update the original property value. To update the value you need to modify the returned array, and then assign it to the property again.


float margin = 0.0 🔗

  • void set_margin(value: float)

  • float get_margin()

形狀的碰撞邊距。


Vector3 motion = Vector3(0, 0, 0) 🔗

正在查詢的形狀的運動。


Resource shape 🔗

將用於碰撞/相交查詢的 Shape3D。儲存的是實際的引用,可以避免該形狀在進行查詢時被釋放,因此請優先使用這個屬性,而不是 shape_rid


RID shape_rid = RID() 🔗

  • void set_shape_rid(value: RID)

  • RID get_shape_rid()

The queried shape's RID that will be used for collision/intersection queries. Use this over shape if you want to optimize for performance using the Servers API:

var shape_rid = PhysicsServer3D.sphere_shape_create()
var radius = 2.0
PhysicsServer3D.shape_set_data(shape_rid, radius)

var params = PhysicsShapeQueryParameters3D.new()
params.shape_rid = shape_rid

# Execute physics queries here...

# Release the shape when done with physics queries.
PhysicsServer3D.free_rid(shape_rid)

Transform3D transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) 🔗

被查詢形狀的變換矩陣。