mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 13:41:03 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			69 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0" encoding="UTF-8" ?>
 | |
| <class name="PhysicsShapeQueryParameters3D" inherits="RefCounted" version="4.0">
 | |
| 	<brief_description>
 | |
| 		Parameters to be sent to a 3D shape physics query.
 | |
| 	</brief_description>
 | |
| 	<description>
 | |
| 		This class contains the shape and other parameters for 3D intersection/collision queries.
 | |
| 	</description>
 | |
| 	<tutorials>
 | |
| 	</tutorials>
 | |
| 	<methods>
 | |
| 	</methods>
 | |
| 	<members>
 | |
| 		<member name="collide_with_areas" type="bool" setter="set_collide_with_areas" getter="is_collide_with_areas_enabled" default="false">
 | |
| 			If [code]true[/code], the query will take [Area3D]s into account.
 | |
| 		</member>
 | |
| 		<member name="collide_with_bodies" type="bool" setter="set_collide_with_bodies" getter="is_collide_with_bodies_enabled" default="true">
 | |
| 			If [code]true[/code], the query will take [PhysicsBody3D]s into account.
 | |
| 		</member>
 | |
| 		<member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="2147483647">
 | |
| 			The physics layer(s) the query will take into account (as a bitmask). See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information.
 | |
| 		</member>
 | |
| 		<member name="exclude" type="Array" setter="set_exclude" getter="get_exclude" default="[]">
 | |
| 			The list of objects or object [RID]s that will be excluded from collisions.
 | |
| 		</member>
 | |
| 		<member name="margin" type="float" setter="set_margin" getter="get_margin" default="0.0">
 | |
| 			The collision margin for the shape.
 | |
| 		</member>
 | |
| 		<member name="shape" type="Resource" setter="set_shape" getter="get_shape">
 | |
| 			The [Shape3D] that will be used for collision/intersection queries. This stores the actual reference which avoids the shape to be released while being used for queries, so always prefer using this over [member shape_rid].
 | |
| 		</member>
 | |
| 		<member name="shape_rid" type="RID" setter="set_shape_rid" getter="get_shape_rid">
 | |
| 			The queried shape's [RID] that will be used for collision/intersection queries. Use this over [member shape] if you want to optimize for performance using the Servers API:
 | |
| 				[codeblocks]
 | |
| 				[gdscript]
 | |
| 				var shape_rid = PhysicsServer3D.shape_create(PhysicsServer3D.SHAPE_SPHERE)
 | |
| 				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)
 | |
| 				[/gdscript]
 | |
| 				[csharp]
 | |
| 				RID shapeRid = PhysicsServer3D.ShapeCreate(PhysicsServer3D.ShapeType.Sphere);
 | |
| 				float radius = 2.0f;
 | |
| 				PhysicsServer3D.ShapeSetData(shapeRid, radius);
 | |
| 
 | |
| 				var params = new PhysicsShapeQueryParameters3D();
 | |
| 				params.ShapeRid = shapeRid;
 | |
| 
 | |
| 				// Execute physics queries here...
 | |
| 
 | |
| 				// Release the shape when done with physics queries.
 | |
| 				PhysicsServer3D.FreeRid(shapeRid);
 | |
| 				[/csharp]
 | |
| 				[/codeblocks]
 | |
| 		</member>
 | |
| 		<member name="transform" type="Transform3D" setter="set_transform" getter="get_transform" default="Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)">
 | |
| 			The queried shape's transform matrix.
 | |
| 		</member>
 | |
| 	</members>
 | |
| 	<constants>
 | |
| 	</constants>
 | |
| </class>
 | 
