PhysicsShapeQueryParameters3D.xml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <class name="PhysicsShapeQueryParameters3D" inherits="Reference" version="4.0">
  3. <brief_description>
  4. Parameters to be sent to a 3D shape physics query.
  5. </brief_description>
  6. <description>
  7. This class contains the shape and other parameters for 3D intersection/collision queries. See also [PhysicsShapeQueryResult3D].
  8. </description>
  9. <tutorials>
  10. </tutorials>
  11. <methods>
  12. </methods>
  13. <members>
  14. <member name="collide_with_areas" type="bool" setter="set_collide_with_areas" getter="is_collide_with_areas_enabled" default="false">
  15. If [code]true[/code], the query will take [Area3D]s into account.
  16. </member>
  17. <member name="collide_with_bodies" type="bool" setter="set_collide_with_bodies" getter="is_collide_with_bodies_enabled" default="true">
  18. If [code]true[/code], the query will take [PhysicsBody3D]s into account.
  19. </member>
  20. <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="2147483647">
  21. 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.
  22. </member>
  23. <member name="exclude" type="Array" setter="set_exclude" getter="get_exclude" default="[ ]">
  24. The list of objects or object [RID]s that will be excluded from collisions.
  25. </member>
  26. <member name="margin" type="float" setter="set_margin" getter="get_margin" default="0.0">
  27. The collision margin for the shape.
  28. </member>
  29. <member name="shape" type="Resource" setter="set_shape" getter="get_shape">
  30. 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].
  31. </member>
  32. <member name="shape_rid" type="RID" setter="set_shape_rid" getter="get_shape_rid">
  33. 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:
  34. [codeblocks]
  35. [gdscript]
  36. var shape_rid = PhysicsServer3D.shape_create(PhysicsServer3D.SHAPE_SPHERE)
  37. var radius = 2.0
  38. PhysicsServer3D.shape_set_data(shape_rid, radius)
  39. var params = PhysicsShapeQueryParameters3D.new()
  40. params.shape_rid = shape_rid
  41. # Execute physics queries here...
  42. # Release the shape when done with physics queries.
  43. PhysicsServer3D.free_rid(shape_rid)
  44. [/gdscript]
  45. [csharp]
  46. RID shapeRid = PhysicsServer3D.ShapeCreate(PhysicsServer3D.ShapeType.Sphere);
  47. float radius = 2.0f;
  48. PhysicsServer3D.ShapeSetData(shapeRid, radius);
  49. var params = new PhysicsShapeQueryParameters3D();
  50. params.ShapeRid = shapeRid;
  51. // Execute physics queries here...
  52. // Release the shape when done with physics queries.
  53. PhysicsServer3D.FreeRid(shapeRid);
  54. [/csharp]
  55. [/codeblocks]
  56. </member>
  57. <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 )">
  58. The queried shape's transform matrix.
  59. </member>
  60. </members>
  61. <constants>
  62. </constants>
  63. </class>