class_physicsserver3d.rst 192 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/4.0/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/4.0/doc/classes/PhysicsServer3D.xml.
  6. .. _class_PhysicsServer3D:
  7. PhysicsServer3D
  8. ===============
  9. **Inherits:** :ref:`Object<class_Object>`
  10. **Inherited By:** :ref:`PhysicsServer3DExtension<class_PhysicsServer3DExtension>`
  11. Server interface for low-level physics access.
  12. .. rst-class:: classref-introduction-group
  13. Description
  14. -----------
  15. PhysicsServer3D is the server responsible for all 3D physics. It can create many kinds of physics objects, but does not insert them on the node tree.
  16. .. rst-class:: classref-reftable-group
  17. Methods
  18. -------
  19. .. table::
  20. :widths: auto
  21. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  22. | void | :ref:`area_add_shape<class_PhysicsServer3D_method_area_add_shape>` **(** :ref:`RID<class_RID>` area, :ref:`RID<class_RID>` shape, :ref:`Transform3D<class_Transform3D>` transform=Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0), :ref:`bool<class_bool>` disabled=false **)** |
  23. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  24. | void | :ref:`area_attach_object_instance_id<class_PhysicsServer3D_method_area_attach_object_instance_id>` **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` id **)** |
  25. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  26. | void | :ref:`area_clear_shapes<class_PhysicsServer3D_method_area_clear_shapes>` **(** :ref:`RID<class_RID>` area **)** |
  27. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  28. | :ref:`RID<class_RID>` | :ref:`area_create<class_PhysicsServer3D_method_area_create>` **(** **)** |
  29. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  30. | :ref:`int<class_int>` | :ref:`area_get_collision_layer<class_PhysicsServer3D_method_area_get_collision_layer>` **(** :ref:`RID<class_RID>` area **)** |const| |
  31. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  32. | :ref:`int<class_int>` | :ref:`area_get_collision_mask<class_PhysicsServer3D_method_area_get_collision_mask>` **(** :ref:`RID<class_RID>` area **)** |const| |
  33. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  34. | :ref:`int<class_int>` | :ref:`area_get_object_instance_id<class_PhysicsServer3D_method_area_get_object_instance_id>` **(** :ref:`RID<class_RID>` area **)** |const| |
  35. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  36. | :ref:`Variant<class_Variant>` | :ref:`area_get_param<class_PhysicsServer3D_method_area_get_param>` **(** :ref:`RID<class_RID>` area, :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` param **)** |const| |
  37. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  38. | :ref:`RID<class_RID>` | :ref:`area_get_shape<class_PhysicsServer3D_method_area_get_shape>` **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx **)** |const| |
  39. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  40. | :ref:`int<class_int>` | :ref:`area_get_shape_count<class_PhysicsServer3D_method_area_get_shape_count>` **(** :ref:`RID<class_RID>` area **)** |const| |
  41. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  42. | :ref:`Transform3D<class_Transform3D>` | :ref:`area_get_shape_transform<class_PhysicsServer3D_method_area_get_shape_transform>` **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx **)** |const| |
  43. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  44. | :ref:`RID<class_RID>` | :ref:`area_get_space<class_PhysicsServer3D_method_area_get_space>` **(** :ref:`RID<class_RID>` area **)** |const| |
  45. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  46. | :ref:`Transform3D<class_Transform3D>` | :ref:`area_get_transform<class_PhysicsServer3D_method_area_get_transform>` **(** :ref:`RID<class_RID>` area **)** |const| |
  47. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  48. | void | :ref:`area_remove_shape<class_PhysicsServer3D_method_area_remove_shape>` **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx **)** |
  49. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  50. | void | :ref:`area_set_area_monitor_callback<class_PhysicsServer3D_method_area_set_area_monitor_callback>` **(** :ref:`RID<class_RID>` area, :ref:`Callable<class_Callable>` callback **)** |
  51. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  52. | void | :ref:`area_set_collision_layer<class_PhysicsServer3D_method_area_set_collision_layer>` **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` layer **)** |
  53. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  54. | void | :ref:`area_set_collision_mask<class_PhysicsServer3D_method_area_set_collision_mask>` **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` mask **)** |
  55. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  56. | void | :ref:`area_set_monitor_callback<class_PhysicsServer3D_method_area_set_monitor_callback>` **(** :ref:`RID<class_RID>` area, :ref:`Callable<class_Callable>` callback **)** |
  57. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  58. | void | :ref:`area_set_monitorable<class_PhysicsServer3D_method_area_set_monitorable>` **(** :ref:`RID<class_RID>` area, :ref:`bool<class_bool>` monitorable **)** |
  59. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  60. | void | :ref:`area_set_param<class_PhysicsServer3D_method_area_set_param>` **(** :ref:`RID<class_RID>` area, :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` param, :ref:`Variant<class_Variant>` value **)** |
  61. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  62. | void | :ref:`area_set_ray_pickable<class_PhysicsServer3D_method_area_set_ray_pickable>` **(** :ref:`RID<class_RID>` area, :ref:`bool<class_bool>` enable **)** |
  63. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  64. | void | :ref:`area_set_shape<class_PhysicsServer3D_method_area_set_shape>` **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx, :ref:`RID<class_RID>` shape **)** |
  65. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  66. | void | :ref:`area_set_shape_disabled<class_PhysicsServer3D_method_area_set_shape_disabled>` **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` disabled **)** |
  67. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  68. | void | :ref:`area_set_shape_transform<class_PhysicsServer3D_method_area_set_shape_transform>` **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx, :ref:`Transform3D<class_Transform3D>` transform **)** |
  69. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  70. | void | :ref:`area_set_space<class_PhysicsServer3D_method_area_set_space>` **(** :ref:`RID<class_RID>` area, :ref:`RID<class_RID>` space **)** |
  71. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  72. | void | :ref:`area_set_transform<class_PhysicsServer3D_method_area_set_transform>` **(** :ref:`RID<class_RID>` area, :ref:`Transform3D<class_Transform3D>` transform **)** |
  73. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  74. | void | :ref:`body_add_collision_exception<class_PhysicsServer3D_method_body_add_collision_exception>` **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` excepted_body **)** |
  75. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  76. | void | :ref:`body_add_constant_central_force<class_PhysicsServer3D_method_body_add_constant_central_force>` **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` force **)** |
  77. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  78. | void | :ref:`body_add_constant_force<class_PhysicsServer3D_method_body_add_constant_force>` **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` force, :ref:`Vector3<class_Vector3>` position=Vector3(0, 0, 0) **)** |
  79. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  80. | void | :ref:`body_add_constant_torque<class_PhysicsServer3D_method_body_add_constant_torque>` **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` torque **)** |
  81. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  82. | void | :ref:`body_add_shape<class_PhysicsServer3D_method_body_add_shape>` **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` shape, :ref:`Transform3D<class_Transform3D>` transform=Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0), :ref:`bool<class_bool>` disabled=false **)** |
  83. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  84. | void | :ref:`body_apply_central_force<class_PhysicsServer3D_method_body_apply_central_force>` **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` force **)** |
  85. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  86. | void | :ref:`body_apply_central_impulse<class_PhysicsServer3D_method_body_apply_central_impulse>` **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` impulse **)** |
  87. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  88. | void | :ref:`body_apply_force<class_PhysicsServer3D_method_body_apply_force>` **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` force, :ref:`Vector3<class_Vector3>` position=Vector3(0, 0, 0) **)** |
  89. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  90. | void | :ref:`body_apply_impulse<class_PhysicsServer3D_method_body_apply_impulse>` **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` impulse, :ref:`Vector3<class_Vector3>` position=Vector3(0, 0, 0) **)** |
  91. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  92. | void | :ref:`body_apply_torque<class_PhysicsServer3D_method_body_apply_torque>` **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` torque **)** |
  93. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  94. | void | :ref:`body_apply_torque_impulse<class_PhysicsServer3D_method_body_apply_torque_impulse>` **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` impulse **)** |
  95. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  96. | void | :ref:`body_attach_object_instance_id<class_PhysicsServer3D_method_body_attach_object_instance_id>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` id **)** |
  97. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  98. | void | :ref:`body_clear_shapes<class_PhysicsServer3D_method_body_clear_shapes>` **(** :ref:`RID<class_RID>` body **)** |
  99. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  100. | :ref:`RID<class_RID>` | :ref:`body_create<class_PhysicsServer3D_method_body_create>` **(** **)** |
  101. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  102. | :ref:`int<class_int>` | :ref:`body_get_collision_layer<class_PhysicsServer3D_method_body_get_collision_layer>` **(** :ref:`RID<class_RID>` body **)** |const| |
  103. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  104. | :ref:`int<class_int>` | :ref:`body_get_collision_mask<class_PhysicsServer3D_method_body_get_collision_mask>` **(** :ref:`RID<class_RID>` body **)** |const| |
  105. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  106. | :ref:`float<class_float>` | :ref:`body_get_collision_priority<class_PhysicsServer3D_method_body_get_collision_priority>` **(** :ref:`RID<class_RID>` body **)** |const| |
  107. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  108. | :ref:`Vector3<class_Vector3>` | :ref:`body_get_constant_force<class_PhysicsServer3D_method_body_get_constant_force>` **(** :ref:`RID<class_RID>` body **)** |const| |
  109. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  110. | :ref:`Vector3<class_Vector3>` | :ref:`body_get_constant_torque<class_PhysicsServer3D_method_body_get_constant_torque>` **(** :ref:`RID<class_RID>` body **)** |const| |
  111. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  112. | :ref:`PhysicsDirectBodyState3D<class_PhysicsDirectBodyState3D>` | :ref:`body_get_direct_state<class_PhysicsServer3D_method_body_get_direct_state>` **(** :ref:`RID<class_RID>` body **)** |
  113. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  114. | :ref:`int<class_int>` | :ref:`body_get_max_contacts_reported<class_PhysicsServer3D_method_body_get_max_contacts_reported>` **(** :ref:`RID<class_RID>` body **)** |const| |
  115. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  116. | :ref:`BodyMode<enum_PhysicsServer3D_BodyMode>` | :ref:`body_get_mode<class_PhysicsServer3D_method_body_get_mode>` **(** :ref:`RID<class_RID>` body **)** |const| |
  117. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  118. | :ref:`int<class_int>` | :ref:`body_get_object_instance_id<class_PhysicsServer3D_method_body_get_object_instance_id>` **(** :ref:`RID<class_RID>` body **)** |const| |
  119. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  120. | :ref:`Variant<class_Variant>` | :ref:`body_get_param<class_PhysicsServer3D_method_body_get_param>` **(** :ref:`RID<class_RID>` body, :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` param **)** |const| |
  121. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  122. | :ref:`RID<class_RID>` | :ref:`body_get_shape<class_PhysicsServer3D_method_body_get_shape>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx **)** |const| |
  123. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  124. | :ref:`int<class_int>` | :ref:`body_get_shape_count<class_PhysicsServer3D_method_body_get_shape_count>` **(** :ref:`RID<class_RID>` body **)** |const| |
  125. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  126. | :ref:`Transform3D<class_Transform3D>` | :ref:`body_get_shape_transform<class_PhysicsServer3D_method_body_get_shape_transform>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx **)** |const| |
  127. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  128. | :ref:`RID<class_RID>` | :ref:`body_get_space<class_PhysicsServer3D_method_body_get_space>` **(** :ref:`RID<class_RID>` body **)** |const| |
  129. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  130. | :ref:`Variant<class_Variant>` | :ref:`body_get_state<class_PhysicsServer3D_method_body_get_state>` **(** :ref:`RID<class_RID>` body, :ref:`BodyState<enum_PhysicsServer3D_BodyState>` state **)** |const| |
  131. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  132. | :ref:`bool<class_bool>` | :ref:`body_is_axis_locked<class_PhysicsServer3D_method_body_is_axis_locked>` **(** :ref:`RID<class_RID>` body, :ref:`BodyAxis<enum_PhysicsServer3D_BodyAxis>` axis **)** |const| |
  133. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  134. | :ref:`bool<class_bool>` | :ref:`body_is_continuous_collision_detection_enabled<class_PhysicsServer3D_method_body_is_continuous_collision_detection_enabled>` **(** :ref:`RID<class_RID>` body **)** |const| |
  135. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  136. | :ref:`bool<class_bool>` | :ref:`body_is_omitting_force_integration<class_PhysicsServer3D_method_body_is_omitting_force_integration>` **(** :ref:`RID<class_RID>` body **)** |const| |
  137. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  138. | void | :ref:`body_remove_collision_exception<class_PhysicsServer3D_method_body_remove_collision_exception>` **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` excepted_body **)** |
  139. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  140. | void | :ref:`body_remove_shape<class_PhysicsServer3D_method_body_remove_shape>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx **)** |
  141. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  142. | void | :ref:`body_reset_mass_properties<class_PhysicsServer3D_method_body_reset_mass_properties>` **(** :ref:`RID<class_RID>` body **)** |
  143. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  144. | void | :ref:`body_set_axis_lock<class_PhysicsServer3D_method_body_set_axis_lock>` **(** :ref:`RID<class_RID>` body, :ref:`BodyAxis<enum_PhysicsServer3D_BodyAxis>` axis, :ref:`bool<class_bool>` lock **)** |
  145. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  146. | void | :ref:`body_set_axis_velocity<class_PhysicsServer3D_method_body_set_axis_velocity>` **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` axis_velocity **)** |
  147. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  148. | void | :ref:`body_set_collision_layer<class_PhysicsServer3D_method_body_set_collision_layer>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` layer **)** |
  149. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  150. | void | :ref:`body_set_collision_mask<class_PhysicsServer3D_method_body_set_collision_mask>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` mask **)** |
  151. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  152. | void | :ref:`body_set_collision_priority<class_PhysicsServer3D_method_body_set_collision_priority>` **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` priority **)** |
  153. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  154. | void | :ref:`body_set_constant_force<class_PhysicsServer3D_method_body_set_constant_force>` **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` force **)** |
  155. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  156. | void | :ref:`body_set_constant_torque<class_PhysicsServer3D_method_body_set_constant_torque>` **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` torque **)** |
  157. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  158. | void | :ref:`body_set_enable_continuous_collision_detection<class_PhysicsServer3D_method_body_set_enable_continuous_collision_detection>` **(** :ref:`RID<class_RID>` body, :ref:`bool<class_bool>` enable **)** |
  159. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  160. | void | :ref:`body_set_force_integration_callback<class_PhysicsServer3D_method_body_set_force_integration_callback>` **(** :ref:`RID<class_RID>` body, :ref:`Callable<class_Callable>` callable, :ref:`Variant<class_Variant>` userdata=null **)** |
  161. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  162. | void | :ref:`body_set_max_contacts_reported<class_PhysicsServer3D_method_body_set_max_contacts_reported>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` amount **)** |
  163. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  164. | void | :ref:`body_set_mode<class_PhysicsServer3D_method_body_set_mode>` **(** :ref:`RID<class_RID>` body, :ref:`BodyMode<enum_PhysicsServer3D_BodyMode>` mode **)** |
  165. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  166. | void | :ref:`body_set_omit_force_integration<class_PhysicsServer3D_method_body_set_omit_force_integration>` **(** :ref:`RID<class_RID>` body, :ref:`bool<class_bool>` enable **)** |
  167. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  168. | void | :ref:`body_set_param<class_PhysicsServer3D_method_body_set_param>` **(** :ref:`RID<class_RID>` body, :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` param, :ref:`Variant<class_Variant>` value **)** |
  169. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  170. | void | :ref:`body_set_ray_pickable<class_PhysicsServer3D_method_body_set_ray_pickable>` **(** :ref:`RID<class_RID>` body, :ref:`bool<class_bool>` enable **)** |
  171. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  172. | void | :ref:`body_set_shape<class_PhysicsServer3D_method_body_set_shape>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`RID<class_RID>` shape **)** |
  173. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  174. | void | :ref:`body_set_shape_disabled<class_PhysicsServer3D_method_body_set_shape_disabled>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` disabled **)** |
  175. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  176. | void | :ref:`body_set_shape_transform<class_PhysicsServer3D_method_body_set_shape_transform>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`Transform3D<class_Transform3D>` transform **)** |
  177. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  178. | void | :ref:`body_set_space<class_PhysicsServer3D_method_body_set_space>` **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` space **)** |
  179. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  180. | void | :ref:`body_set_state<class_PhysicsServer3D_method_body_set_state>` **(** :ref:`RID<class_RID>` body, :ref:`BodyState<enum_PhysicsServer3D_BodyState>` state, :ref:`Variant<class_Variant>` value **)** |
  181. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  182. | :ref:`bool<class_bool>` | :ref:`body_test_motion<class_PhysicsServer3D_method_body_test_motion>` **(** :ref:`RID<class_RID>` body, :ref:`PhysicsTestMotionParameters3D<class_PhysicsTestMotionParameters3D>` parameters, :ref:`PhysicsTestMotionResult3D<class_PhysicsTestMotionResult3D>` result=null **)** |
  183. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  184. | :ref:`RID<class_RID>` | :ref:`box_shape_create<class_PhysicsServer3D_method_box_shape_create>` **(** **)** |
  185. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  186. | :ref:`RID<class_RID>` | :ref:`capsule_shape_create<class_PhysicsServer3D_method_capsule_shape_create>` **(** **)** |
  187. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  188. | :ref:`RID<class_RID>` | :ref:`concave_polygon_shape_create<class_PhysicsServer3D_method_concave_polygon_shape_create>` **(** **)** |
  189. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  190. | :ref:`float<class_float>` | :ref:`cone_twist_joint_get_param<class_PhysicsServer3D_method_cone_twist_joint_get_param>` **(** :ref:`RID<class_RID>` joint, :ref:`ConeTwistJointParam<enum_PhysicsServer3D_ConeTwistJointParam>` param **)** |const| |
  191. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  192. | void | :ref:`cone_twist_joint_set_param<class_PhysicsServer3D_method_cone_twist_joint_set_param>` **(** :ref:`RID<class_RID>` joint, :ref:`ConeTwistJointParam<enum_PhysicsServer3D_ConeTwistJointParam>` param, :ref:`float<class_float>` value **)** |
  193. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  194. | :ref:`RID<class_RID>` | :ref:`convex_polygon_shape_create<class_PhysicsServer3D_method_convex_polygon_shape_create>` **(** **)** |
  195. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  196. | :ref:`RID<class_RID>` | :ref:`custom_shape_create<class_PhysicsServer3D_method_custom_shape_create>` **(** **)** |
  197. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  198. | :ref:`RID<class_RID>` | :ref:`cylinder_shape_create<class_PhysicsServer3D_method_cylinder_shape_create>` **(** **)** |
  199. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  200. | void | :ref:`free_rid<class_PhysicsServer3D_method_free_rid>` **(** :ref:`RID<class_RID>` rid **)** |
  201. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  202. | :ref:`bool<class_bool>` | :ref:`generic_6dof_joint_get_flag<class_PhysicsServer3D_method_generic_6dof_joint_get_flag>` **(** :ref:`RID<class_RID>` joint, Vector3.Axis axis, :ref:`G6DOFJointAxisFlag<enum_PhysicsServer3D_G6DOFJointAxisFlag>` flag **)** |const| |
  203. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  204. | :ref:`float<class_float>` | :ref:`generic_6dof_joint_get_param<class_PhysicsServer3D_method_generic_6dof_joint_get_param>` **(** :ref:`RID<class_RID>` joint, Vector3.Axis axis, :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` param **)** |const| |
  205. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  206. | void | :ref:`generic_6dof_joint_set_flag<class_PhysicsServer3D_method_generic_6dof_joint_set_flag>` **(** :ref:`RID<class_RID>` joint, Vector3.Axis axis, :ref:`G6DOFJointAxisFlag<enum_PhysicsServer3D_G6DOFJointAxisFlag>` flag, :ref:`bool<class_bool>` enable **)** |
  207. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  208. | void | :ref:`generic_6dof_joint_set_param<class_PhysicsServer3D_method_generic_6dof_joint_set_param>` **(** :ref:`RID<class_RID>` joint, Vector3.Axis axis, :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` param, :ref:`float<class_float>` value **)** |
  209. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  210. | :ref:`int<class_int>` | :ref:`get_process_info<class_PhysicsServer3D_method_get_process_info>` **(** :ref:`ProcessInfo<enum_PhysicsServer3D_ProcessInfo>` process_info **)** |
  211. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  212. | :ref:`RID<class_RID>` | :ref:`heightmap_shape_create<class_PhysicsServer3D_method_heightmap_shape_create>` **(** **)** |
  213. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  214. | :ref:`bool<class_bool>` | :ref:`hinge_joint_get_flag<class_PhysicsServer3D_method_hinge_joint_get_flag>` **(** :ref:`RID<class_RID>` joint, :ref:`HingeJointFlag<enum_PhysicsServer3D_HingeJointFlag>` flag **)** |const| |
  215. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  216. | :ref:`float<class_float>` | :ref:`hinge_joint_get_param<class_PhysicsServer3D_method_hinge_joint_get_param>` **(** :ref:`RID<class_RID>` joint, :ref:`HingeJointParam<enum_PhysicsServer3D_HingeJointParam>` param **)** |const| |
  217. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  218. | void | :ref:`hinge_joint_set_flag<class_PhysicsServer3D_method_hinge_joint_set_flag>` **(** :ref:`RID<class_RID>` joint, :ref:`HingeJointFlag<enum_PhysicsServer3D_HingeJointFlag>` flag, :ref:`bool<class_bool>` enabled **)** |
  219. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  220. | void | :ref:`hinge_joint_set_param<class_PhysicsServer3D_method_hinge_joint_set_param>` **(** :ref:`RID<class_RID>` joint, :ref:`HingeJointParam<enum_PhysicsServer3D_HingeJointParam>` param, :ref:`float<class_float>` value **)** |
  221. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  222. | void | :ref:`joint_clear<class_PhysicsServer3D_method_joint_clear>` **(** :ref:`RID<class_RID>` joint **)** |
  223. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  224. | :ref:`RID<class_RID>` | :ref:`joint_create<class_PhysicsServer3D_method_joint_create>` **(** **)** |
  225. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  226. | void | :ref:`joint_disable_collisions_between_bodies<class_PhysicsServer3D_method_joint_disable_collisions_between_bodies>` **(** :ref:`RID<class_RID>` joint, :ref:`bool<class_bool>` disable **)** |
  227. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  228. | :ref:`int<class_int>` | :ref:`joint_get_solver_priority<class_PhysicsServer3D_method_joint_get_solver_priority>` **(** :ref:`RID<class_RID>` joint **)** |const| |
  229. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  230. | :ref:`JointType<enum_PhysicsServer3D_JointType>` | :ref:`joint_get_type<class_PhysicsServer3D_method_joint_get_type>` **(** :ref:`RID<class_RID>` joint **)** |const| |
  231. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  232. | :ref:`bool<class_bool>` | :ref:`joint_is_disabled_collisions_between_bodies<class_PhysicsServer3D_method_joint_is_disabled_collisions_between_bodies>` **(** :ref:`RID<class_RID>` joint **)** |const| |
  233. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  234. | void | :ref:`joint_make_cone_twist<class_PhysicsServer3D_method_joint_make_cone_twist>` **(** :ref:`RID<class_RID>` joint, :ref:`RID<class_RID>` body_A, :ref:`Transform3D<class_Transform3D>` local_ref_A, :ref:`RID<class_RID>` body_B, :ref:`Transform3D<class_Transform3D>` local_ref_B **)** |
  235. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  236. | void | :ref:`joint_make_generic_6dof<class_PhysicsServer3D_method_joint_make_generic_6dof>` **(** :ref:`RID<class_RID>` joint, :ref:`RID<class_RID>` body_A, :ref:`Transform3D<class_Transform3D>` local_ref_A, :ref:`RID<class_RID>` body_B, :ref:`Transform3D<class_Transform3D>` local_ref_B **)** |
  237. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  238. | void | :ref:`joint_make_hinge<class_PhysicsServer3D_method_joint_make_hinge>` **(** :ref:`RID<class_RID>` joint, :ref:`RID<class_RID>` body_A, :ref:`Transform3D<class_Transform3D>` hinge_A, :ref:`RID<class_RID>` body_B, :ref:`Transform3D<class_Transform3D>` hinge_B **)** |
  239. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  240. | void | :ref:`joint_make_pin<class_PhysicsServer3D_method_joint_make_pin>` **(** :ref:`RID<class_RID>` joint, :ref:`RID<class_RID>` body_A, :ref:`Vector3<class_Vector3>` local_A, :ref:`RID<class_RID>` body_B, :ref:`Vector3<class_Vector3>` local_B **)** |
  241. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  242. | void | :ref:`joint_make_slider<class_PhysicsServer3D_method_joint_make_slider>` **(** :ref:`RID<class_RID>` joint, :ref:`RID<class_RID>` body_A, :ref:`Transform3D<class_Transform3D>` local_ref_A, :ref:`RID<class_RID>` body_B, :ref:`Transform3D<class_Transform3D>` local_ref_B **)** |
  243. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  244. | void | :ref:`joint_set_solver_priority<class_PhysicsServer3D_method_joint_set_solver_priority>` **(** :ref:`RID<class_RID>` joint, :ref:`int<class_int>` priority **)** |
  245. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  246. | :ref:`Vector3<class_Vector3>` | :ref:`pin_joint_get_local_a<class_PhysicsServer3D_method_pin_joint_get_local_a>` **(** :ref:`RID<class_RID>` joint **)** |const| |
  247. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  248. | :ref:`Vector3<class_Vector3>` | :ref:`pin_joint_get_local_b<class_PhysicsServer3D_method_pin_joint_get_local_b>` **(** :ref:`RID<class_RID>` joint **)** |const| |
  249. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  250. | :ref:`float<class_float>` | :ref:`pin_joint_get_param<class_PhysicsServer3D_method_pin_joint_get_param>` **(** :ref:`RID<class_RID>` joint, :ref:`PinJointParam<enum_PhysicsServer3D_PinJointParam>` param **)** |const| |
  251. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  252. | void | :ref:`pin_joint_set_local_a<class_PhysicsServer3D_method_pin_joint_set_local_a>` **(** :ref:`RID<class_RID>` joint, :ref:`Vector3<class_Vector3>` local_A **)** |
  253. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  254. | void | :ref:`pin_joint_set_local_b<class_PhysicsServer3D_method_pin_joint_set_local_b>` **(** :ref:`RID<class_RID>` joint, :ref:`Vector3<class_Vector3>` local_B **)** |
  255. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  256. | void | :ref:`pin_joint_set_param<class_PhysicsServer3D_method_pin_joint_set_param>` **(** :ref:`RID<class_RID>` joint, :ref:`PinJointParam<enum_PhysicsServer3D_PinJointParam>` param, :ref:`float<class_float>` value **)** |
  257. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  258. | :ref:`RID<class_RID>` | :ref:`separation_ray_shape_create<class_PhysicsServer3D_method_separation_ray_shape_create>` **(** **)** |
  259. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  260. | void | :ref:`set_active<class_PhysicsServer3D_method_set_active>` **(** :ref:`bool<class_bool>` active **)** |
  261. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  262. | :ref:`Variant<class_Variant>` | :ref:`shape_get_data<class_PhysicsServer3D_method_shape_get_data>` **(** :ref:`RID<class_RID>` shape **)** |const| |
  263. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  264. | :ref:`ShapeType<enum_PhysicsServer3D_ShapeType>` | :ref:`shape_get_type<class_PhysicsServer3D_method_shape_get_type>` **(** :ref:`RID<class_RID>` shape **)** |const| |
  265. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  266. | void | :ref:`shape_set_data<class_PhysicsServer3D_method_shape_set_data>` **(** :ref:`RID<class_RID>` shape, :ref:`Variant<class_Variant>` data **)** |
  267. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  268. | :ref:`float<class_float>` | :ref:`slider_joint_get_param<class_PhysicsServer3D_method_slider_joint_get_param>` **(** :ref:`RID<class_RID>` joint, :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` param **)** |const| |
  269. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  270. | void | :ref:`slider_joint_set_param<class_PhysicsServer3D_method_slider_joint_set_param>` **(** :ref:`RID<class_RID>` joint, :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` param, :ref:`float<class_float>` value **)** |
  271. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  272. | :ref:`AABB<class_AABB>` | :ref:`soft_body_get_bounds<class_PhysicsServer3D_method_soft_body_get_bounds>` **(** :ref:`RID<class_RID>` body **)** |const| |
  273. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  274. | :ref:`RID<class_RID>` | :ref:`space_create<class_PhysicsServer3D_method_space_create>` **(** **)** |
  275. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  276. | :ref:`PhysicsDirectSpaceState3D<class_PhysicsDirectSpaceState3D>` | :ref:`space_get_direct_state<class_PhysicsServer3D_method_space_get_direct_state>` **(** :ref:`RID<class_RID>` space **)** |
  277. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  278. | :ref:`float<class_float>` | :ref:`space_get_param<class_PhysicsServer3D_method_space_get_param>` **(** :ref:`RID<class_RID>` space, :ref:`SpaceParameter<enum_PhysicsServer3D_SpaceParameter>` param **)** |const| |
  279. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  280. | :ref:`bool<class_bool>` | :ref:`space_is_active<class_PhysicsServer3D_method_space_is_active>` **(** :ref:`RID<class_RID>` space **)** |const| |
  281. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  282. | void | :ref:`space_set_active<class_PhysicsServer3D_method_space_set_active>` **(** :ref:`RID<class_RID>` space, :ref:`bool<class_bool>` active **)** |
  283. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  284. | void | :ref:`space_set_param<class_PhysicsServer3D_method_space_set_param>` **(** :ref:`RID<class_RID>` space, :ref:`SpaceParameter<enum_PhysicsServer3D_SpaceParameter>` param, :ref:`float<class_float>` value **)** |
  285. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  286. | :ref:`RID<class_RID>` | :ref:`sphere_shape_create<class_PhysicsServer3D_method_sphere_shape_create>` **(** **)** |
  287. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  288. | :ref:`RID<class_RID>` | :ref:`world_boundary_shape_create<class_PhysicsServer3D_method_world_boundary_shape_create>` **(** **)** |
  289. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  290. .. rst-class:: classref-section-separator
  291. ----
  292. .. rst-class:: classref-descriptions-group
  293. Enumerations
  294. ------------
  295. .. _enum_PhysicsServer3D_JointType:
  296. .. rst-class:: classref-enumeration
  297. enum **JointType**:
  298. .. _class_PhysicsServer3D_constant_JOINT_TYPE_PIN:
  299. .. rst-class:: classref-enumeration-constant
  300. :ref:`JointType<enum_PhysicsServer3D_JointType>` **JOINT_TYPE_PIN** = ``0``
  301. The :ref:`Joint3D<class_Joint3D>` is a :ref:`PinJoint3D<class_PinJoint3D>`.
  302. .. _class_PhysicsServer3D_constant_JOINT_TYPE_HINGE:
  303. .. rst-class:: classref-enumeration-constant
  304. :ref:`JointType<enum_PhysicsServer3D_JointType>` **JOINT_TYPE_HINGE** = ``1``
  305. The :ref:`Joint3D<class_Joint3D>` is a :ref:`HingeJoint3D<class_HingeJoint3D>`.
  306. .. _class_PhysicsServer3D_constant_JOINT_TYPE_SLIDER:
  307. .. rst-class:: classref-enumeration-constant
  308. :ref:`JointType<enum_PhysicsServer3D_JointType>` **JOINT_TYPE_SLIDER** = ``2``
  309. The :ref:`Joint3D<class_Joint3D>` is a :ref:`SliderJoint3D<class_SliderJoint3D>`.
  310. .. _class_PhysicsServer3D_constant_JOINT_TYPE_CONE_TWIST:
  311. .. rst-class:: classref-enumeration-constant
  312. :ref:`JointType<enum_PhysicsServer3D_JointType>` **JOINT_TYPE_CONE_TWIST** = ``3``
  313. The :ref:`Joint3D<class_Joint3D>` is a :ref:`ConeTwistJoint3D<class_ConeTwistJoint3D>`.
  314. .. _class_PhysicsServer3D_constant_JOINT_TYPE_6DOF:
  315. .. rst-class:: classref-enumeration-constant
  316. :ref:`JointType<enum_PhysicsServer3D_JointType>` **JOINT_TYPE_6DOF** = ``4``
  317. The :ref:`Joint3D<class_Joint3D>` is a :ref:`Generic6DOFJoint3D<class_Generic6DOFJoint3D>`.
  318. .. _class_PhysicsServer3D_constant_JOINT_TYPE_MAX:
  319. .. rst-class:: classref-enumeration-constant
  320. :ref:`JointType<enum_PhysicsServer3D_JointType>` **JOINT_TYPE_MAX** = ``5``
  321. Represents the size of the :ref:`JointType<enum_PhysicsServer3D_JointType>` enum.
  322. .. rst-class:: classref-item-separator
  323. ----
  324. .. _enum_PhysicsServer3D_PinJointParam:
  325. .. rst-class:: classref-enumeration
  326. enum **PinJointParam**:
  327. .. _class_PhysicsServer3D_constant_PIN_JOINT_BIAS:
  328. .. rst-class:: classref-enumeration-constant
  329. :ref:`PinJointParam<enum_PhysicsServer3D_PinJointParam>` **PIN_JOINT_BIAS** = ``0``
  330. The strength with which the pinned objects try to stay in positional relation to each other.
  331. The higher, the stronger.
  332. .. _class_PhysicsServer3D_constant_PIN_JOINT_DAMPING:
  333. .. rst-class:: classref-enumeration-constant
  334. :ref:`PinJointParam<enum_PhysicsServer3D_PinJointParam>` **PIN_JOINT_DAMPING** = ``1``
  335. The strength with which the pinned objects try to stay in velocity relation to each other.
  336. The higher, the stronger.
  337. .. _class_PhysicsServer3D_constant_PIN_JOINT_IMPULSE_CLAMP:
  338. .. rst-class:: classref-enumeration-constant
  339. :ref:`PinJointParam<enum_PhysicsServer3D_PinJointParam>` **PIN_JOINT_IMPULSE_CLAMP** = ``2``
  340. If above 0, this value is the maximum value for an impulse that this Joint3D puts on its ends.
  341. .. rst-class:: classref-item-separator
  342. ----
  343. .. _enum_PhysicsServer3D_HingeJointParam:
  344. .. rst-class:: classref-enumeration
  345. enum **HingeJointParam**:
  346. .. _class_PhysicsServer3D_constant_HINGE_JOINT_BIAS:
  347. .. rst-class:: classref-enumeration-constant
  348. :ref:`HingeJointParam<enum_PhysicsServer3D_HingeJointParam>` **HINGE_JOINT_BIAS** = ``0``
  349. The speed with which the two bodies get pulled together when they move in different directions.
  350. .. _class_PhysicsServer3D_constant_HINGE_JOINT_LIMIT_UPPER:
  351. .. rst-class:: classref-enumeration-constant
  352. :ref:`HingeJointParam<enum_PhysicsServer3D_HingeJointParam>` **HINGE_JOINT_LIMIT_UPPER** = ``1``
  353. The maximum rotation across the Hinge.
  354. .. _class_PhysicsServer3D_constant_HINGE_JOINT_LIMIT_LOWER:
  355. .. rst-class:: classref-enumeration-constant
  356. :ref:`HingeJointParam<enum_PhysicsServer3D_HingeJointParam>` **HINGE_JOINT_LIMIT_LOWER** = ``2``
  357. The minimum rotation across the Hinge.
  358. .. _class_PhysicsServer3D_constant_HINGE_JOINT_LIMIT_BIAS:
  359. .. rst-class:: classref-enumeration-constant
  360. :ref:`HingeJointParam<enum_PhysicsServer3D_HingeJointParam>` **HINGE_JOINT_LIMIT_BIAS** = ``3``
  361. The speed with which the rotation across the axis perpendicular to the hinge gets corrected.
  362. .. _class_PhysicsServer3D_constant_HINGE_JOINT_LIMIT_SOFTNESS:
  363. .. rst-class:: classref-enumeration-constant
  364. :ref:`HingeJointParam<enum_PhysicsServer3D_HingeJointParam>` **HINGE_JOINT_LIMIT_SOFTNESS** = ``4``
  365. .. _class_PhysicsServer3D_constant_HINGE_JOINT_LIMIT_RELAXATION:
  366. .. rst-class:: classref-enumeration-constant
  367. :ref:`HingeJointParam<enum_PhysicsServer3D_HingeJointParam>` **HINGE_JOINT_LIMIT_RELAXATION** = ``5``
  368. The lower this value, the more the rotation gets slowed down.
  369. .. _class_PhysicsServer3D_constant_HINGE_JOINT_MOTOR_TARGET_VELOCITY:
  370. .. rst-class:: classref-enumeration-constant
  371. :ref:`HingeJointParam<enum_PhysicsServer3D_HingeJointParam>` **HINGE_JOINT_MOTOR_TARGET_VELOCITY** = ``6``
  372. Target speed for the motor.
  373. .. _class_PhysicsServer3D_constant_HINGE_JOINT_MOTOR_MAX_IMPULSE:
  374. .. rst-class:: classref-enumeration-constant
  375. :ref:`HingeJointParam<enum_PhysicsServer3D_HingeJointParam>` **HINGE_JOINT_MOTOR_MAX_IMPULSE** = ``7``
  376. Maximum acceleration for the motor.
  377. .. rst-class:: classref-item-separator
  378. ----
  379. .. _enum_PhysicsServer3D_HingeJointFlag:
  380. .. rst-class:: classref-enumeration
  381. enum **HingeJointFlag**:
  382. .. _class_PhysicsServer3D_constant_HINGE_JOINT_FLAG_USE_LIMIT:
  383. .. rst-class:: classref-enumeration-constant
  384. :ref:`HingeJointFlag<enum_PhysicsServer3D_HingeJointFlag>` **HINGE_JOINT_FLAG_USE_LIMIT** = ``0``
  385. If ``true``, the Hinge has a maximum and a minimum rotation.
  386. .. _class_PhysicsServer3D_constant_HINGE_JOINT_FLAG_ENABLE_MOTOR:
  387. .. rst-class:: classref-enumeration-constant
  388. :ref:`HingeJointFlag<enum_PhysicsServer3D_HingeJointFlag>` **HINGE_JOINT_FLAG_ENABLE_MOTOR** = ``1``
  389. If ``true``, a motor turns the Hinge.
  390. .. rst-class:: classref-item-separator
  391. ----
  392. .. _enum_PhysicsServer3D_SliderJointParam:
  393. .. rst-class:: classref-enumeration
  394. enum **SliderJointParam**:
  395. .. _class_PhysicsServer3D_constant_SLIDER_JOINT_LINEAR_LIMIT_UPPER:
  396. .. rst-class:: classref-enumeration-constant
  397. :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` **SLIDER_JOINT_LINEAR_LIMIT_UPPER** = ``0``
  398. The maximum difference between the pivot points on their X axis before damping happens.
  399. .. _class_PhysicsServer3D_constant_SLIDER_JOINT_LINEAR_LIMIT_LOWER:
  400. .. rst-class:: classref-enumeration-constant
  401. :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` **SLIDER_JOINT_LINEAR_LIMIT_LOWER** = ``1``
  402. The minimum difference between the pivot points on their X axis before damping happens.
  403. .. _class_PhysicsServer3D_constant_SLIDER_JOINT_LINEAR_LIMIT_SOFTNESS:
  404. .. rst-class:: classref-enumeration-constant
  405. :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` **SLIDER_JOINT_LINEAR_LIMIT_SOFTNESS** = ``2``
  406. A factor applied to the movement across the slider axis once the limits get surpassed. The lower, the slower the movement.
  407. .. _class_PhysicsServer3D_constant_SLIDER_JOINT_LINEAR_LIMIT_RESTITUTION:
  408. .. rst-class:: classref-enumeration-constant
  409. :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` **SLIDER_JOINT_LINEAR_LIMIT_RESTITUTION** = ``3``
  410. The amount of restitution once the limits are surpassed. The lower, the more velocityenergy gets lost.
  411. .. _class_PhysicsServer3D_constant_SLIDER_JOINT_LINEAR_LIMIT_DAMPING:
  412. .. rst-class:: classref-enumeration-constant
  413. :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` **SLIDER_JOINT_LINEAR_LIMIT_DAMPING** = ``4``
  414. The amount of damping once the slider limits are surpassed.
  415. .. _class_PhysicsServer3D_constant_SLIDER_JOINT_LINEAR_MOTION_SOFTNESS:
  416. .. rst-class:: classref-enumeration-constant
  417. :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` **SLIDER_JOINT_LINEAR_MOTION_SOFTNESS** = ``5``
  418. A factor applied to the movement across the slider axis as long as the slider is in the limits. The lower, the slower the movement.
  419. .. _class_PhysicsServer3D_constant_SLIDER_JOINT_LINEAR_MOTION_RESTITUTION:
  420. .. rst-class:: classref-enumeration-constant
  421. :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` **SLIDER_JOINT_LINEAR_MOTION_RESTITUTION** = ``6``
  422. The amount of restitution inside the slider limits.
  423. .. _class_PhysicsServer3D_constant_SLIDER_JOINT_LINEAR_MOTION_DAMPING:
  424. .. rst-class:: classref-enumeration-constant
  425. :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` **SLIDER_JOINT_LINEAR_MOTION_DAMPING** = ``7``
  426. The amount of damping inside the slider limits.
  427. .. _class_PhysicsServer3D_constant_SLIDER_JOINT_LINEAR_ORTHOGONAL_SOFTNESS:
  428. .. rst-class:: classref-enumeration-constant
  429. :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` **SLIDER_JOINT_LINEAR_ORTHOGONAL_SOFTNESS** = ``8``
  430. A factor applied to the movement across axes orthogonal to the slider.
  431. .. _class_PhysicsServer3D_constant_SLIDER_JOINT_LINEAR_ORTHOGONAL_RESTITUTION:
  432. .. rst-class:: classref-enumeration-constant
  433. :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` **SLIDER_JOINT_LINEAR_ORTHOGONAL_RESTITUTION** = ``9``
  434. The amount of restitution when movement is across axes orthogonal to the slider.
  435. .. _class_PhysicsServer3D_constant_SLIDER_JOINT_LINEAR_ORTHOGONAL_DAMPING:
  436. .. rst-class:: classref-enumeration-constant
  437. :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` **SLIDER_JOINT_LINEAR_ORTHOGONAL_DAMPING** = ``10``
  438. The amount of damping when movement is across axes orthogonal to the slider.
  439. .. _class_PhysicsServer3D_constant_SLIDER_JOINT_ANGULAR_LIMIT_UPPER:
  440. .. rst-class:: classref-enumeration-constant
  441. :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` **SLIDER_JOINT_ANGULAR_LIMIT_UPPER** = ``11``
  442. The upper limit of rotation in the slider.
  443. .. _class_PhysicsServer3D_constant_SLIDER_JOINT_ANGULAR_LIMIT_LOWER:
  444. .. rst-class:: classref-enumeration-constant
  445. :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` **SLIDER_JOINT_ANGULAR_LIMIT_LOWER** = ``12``
  446. The lower limit of rotation in the slider.
  447. .. _class_PhysicsServer3D_constant_SLIDER_JOINT_ANGULAR_LIMIT_SOFTNESS:
  448. .. rst-class:: classref-enumeration-constant
  449. :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` **SLIDER_JOINT_ANGULAR_LIMIT_SOFTNESS** = ``13``
  450. A factor applied to the all rotation once the limit is surpassed.
  451. .. _class_PhysicsServer3D_constant_SLIDER_JOINT_ANGULAR_LIMIT_RESTITUTION:
  452. .. rst-class:: classref-enumeration-constant
  453. :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` **SLIDER_JOINT_ANGULAR_LIMIT_RESTITUTION** = ``14``
  454. The amount of restitution of the rotation when the limit is surpassed.
  455. .. _class_PhysicsServer3D_constant_SLIDER_JOINT_ANGULAR_LIMIT_DAMPING:
  456. .. rst-class:: classref-enumeration-constant
  457. :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` **SLIDER_JOINT_ANGULAR_LIMIT_DAMPING** = ``15``
  458. The amount of damping of the rotation when the limit is surpassed.
  459. .. _class_PhysicsServer3D_constant_SLIDER_JOINT_ANGULAR_MOTION_SOFTNESS:
  460. .. rst-class:: classref-enumeration-constant
  461. :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` **SLIDER_JOINT_ANGULAR_MOTION_SOFTNESS** = ``16``
  462. A factor that gets applied to the all rotation in the limits.
  463. .. _class_PhysicsServer3D_constant_SLIDER_JOINT_ANGULAR_MOTION_RESTITUTION:
  464. .. rst-class:: classref-enumeration-constant
  465. :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` **SLIDER_JOINT_ANGULAR_MOTION_RESTITUTION** = ``17``
  466. The amount of restitution of the rotation in the limits.
  467. .. _class_PhysicsServer3D_constant_SLIDER_JOINT_ANGULAR_MOTION_DAMPING:
  468. .. rst-class:: classref-enumeration-constant
  469. :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` **SLIDER_JOINT_ANGULAR_MOTION_DAMPING** = ``18``
  470. The amount of damping of the rotation in the limits.
  471. .. _class_PhysicsServer3D_constant_SLIDER_JOINT_ANGULAR_ORTHOGONAL_SOFTNESS:
  472. .. rst-class:: classref-enumeration-constant
  473. :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` **SLIDER_JOINT_ANGULAR_ORTHOGONAL_SOFTNESS** = ``19``
  474. A factor that gets applied to the all rotation across axes orthogonal to the slider.
  475. .. _class_PhysicsServer3D_constant_SLIDER_JOINT_ANGULAR_ORTHOGONAL_RESTITUTION:
  476. .. rst-class:: classref-enumeration-constant
  477. :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` **SLIDER_JOINT_ANGULAR_ORTHOGONAL_RESTITUTION** = ``20``
  478. The amount of restitution of the rotation across axes orthogonal to the slider.
  479. .. _class_PhysicsServer3D_constant_SLIDER_JOINT_ANGULAR_ORTHOGONAL_DAMPING:
  480. .. rst-class:: classref-enumeration-constant
  481. :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` **SLIDER_JOINT_ANGULAR_ORTHOGONAL_DAMPING** = ``21``
  482. The amount of damping of the rotation across axes orthogonal to the slider.
  483. .. _class_PhysicsServer3D_constant_SLIDER_JOINT_MAX:
  484. .. rst-class:: classref-enumeration-constant
  485. :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` **SLIDER_JOINT_MAX** = ``22``
  486. Represents the size of the :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` enum.
  487. .. rst-class:: classref-item-separator
  488. ----
  489. .. _enum_PhysicsServer3D_ConeTwistJointParam:
  490. .. rst-class:: classref-enumeration
  491. enum **ConeTwistJointParam**:
  492. .. _class_PhysicsServer3D_constant_CONE_TWIST_JOINT_SWING_SPAN:
  493. .. rst-class:: classref-enumeration-constant
  494. :ref:`ConeTwistJointParam<enum_PhysicsServer3D_ConeTwistJointParam>` **CONE_TWIST_JOINT_SWING_SPAN** = ``0``
  495. Swing is rotation from side to side, around the axis perpendicular to the twist axis.
  496. The swing span defines, how much rotation will not get corrected along the swing axis.
  497. Could be defined as looseness in the :ref:`ConeTwistJoint3D<class_ConeTwistJoint3D>`.
  498. If below 0.05, this behavior is locked.
  499. .. _class_PhysicsServer3D_constant_CONE_TWIST_JOINT_TWIST_SPAN:
  500. .. rst-class:: classref-enumeration-constant
  501. :ref:`ConeTwistJointParam<enum_PhysicsServer3D_ConeTwistJointParam>` **CONE_TWIST_JOINT_TWIST_SPAN** = ``1``
  502. Twist is the rotation around the twist axis, this value defined how far the joint can twist.
  503. Twist is locked if below 0.05.
  504. .. _class_PhysicsServer3D_constant_CONE_TWIST_JOINT_BIAS:
  505. .. rst-class:: classref-enumeration-constant
  506. :ref:`ConeTwistJointParam<enum_PhysicsServer3D_ConeTwistJointParam>` **CONE_TWIST_JOINT_BIAS** = ``2``
  507. The speed with which the swing or twist will take place.
  508. The higher, the faster.
  509. .. _class_PhysicsServer3D_constant_CONE_TWIST_JOINT_SOFTNESS:
  510. .. rst-class:: classref-enumeration-constant
  511. :ref:`ConeTwistJointParam<enum_PhysicsServer3D_ConeTwistJointParam>` **CONE_TWIST_JOINT_SOFTNESS** = ``3``
  512. The ease with which the Joint3D twists, if it's too low, it takes more force to twist the joint.
  513. .. _class_PhysicsServer3D_constant_CONE_TWIST_JOINT_RELAXATION:
  514. .. rst-class:: classref-enumeration-constant
  515. :ref:`ConeTwistJointParam<enum_PhysicsServer3D_ConeTwistJointParam>` **CONE_TWIST_JOINT_RELAXATION** = ``4``
  516. Defines, how fast the swing- and twist-speed-difference on both sides gets synced.
  517. .. rst-class:: classref-item-separator
  518. ----
  519. .. _enum_PhysicsServer3D_G6DOFJointAxisParam:
  520. .. rst-class:: classref-enumeration
  521. enum **G6DOFJointAxisParam**:
  522. .. _class_PhysicsServer3D_constant_G6DOF_JOINT_LINEAR_LOWER_LIMIT:
  523. .. rst-class:: classref-enumeration-constant
  524. :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` **G6DOF_JOINT_LINEAR_LOWER_LIMIT** = ``0``
  525. The minimum difference between the pivot points' axes.
  526. .. _class_PhysicsServer3D_constant_G6DOF_JOINT_LINEAR_UPPER_LIMIT:
  527. .. rst-class:: classref-enumeration-constant
  528. :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` **G6DOF_JOINT_LINEAR_UPPER_LIMIT** = ``1``
  529. The maximum difference between the pivot points' axes.
  530. .. _class_PhysicsServer3D_constant_G6DOF_JOINT_LINEAR_LIMIT_SOFTNESS:
  531. .. rst-class:: classref-enumeration-constant
  532. :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` **G6DOF_JOINT_LINEAR_LIMIT_SOFTNESS** = ``2``
  533. A factor that gets applied to the movement across the axes. The lower, the slower the movement.
  534. .. _class_PhysicsServer3D_constant_G6DOF_JOINT_LINEAR_RESTITUTION:
  535. .. rst-class:: classref-enumeration-constant
  536. :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` **G6DOF_JOINT_LINEAR_RESTITUTION** = ``3``
  537. The amount of restitution on the axes movement. The lower, the more velocity-energy gets lost.
  538. .. _class_PhysicsServer3D_constant_G6DOF_JOINT_LINEAR_DAMPING:
  539. .. rst-class:: classref-enumeration-constant
  540. :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` **G6DOF_JOINT_LINEAR_DAMPING** = ``4``
  541. The amount of damping that happens at the linear motion across the axes.
  542. .. _class_PhysicsServer3D_constant_G6DOF_JOINT_LINEAR_MOTOR_TARGET_VELOCITY:
  543. .. rst-class:: classref-enumeration-constant
  544. :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` **G6DOF_JOINT_LINEAR_MOTOR_TARGET_VELOCITY** = ``5``
  545. The velocity that the joint's linear motor will attempt to reach.
  546. .. _class_PhysicsServer3D_constant_G6DOF_JOINT_LINEAR_MOTOR_FORCE_LIMIT:
  547. .. rst-class:: classref-enumeration-constant
  548. :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` **G6DOF_JOINT_LINEAR_MOTOR_FORCE_LIMIT** = ``6``
  549. The maximum force that the linear motor can apply while trying to reach the target velocity.
  550. .. _class_PhysicsServer3D_constant_G6DOF_JOINT_ANGULAR_LOWER_LIMIT:
  551. .. rst-class:: classref-enumeration-constant
  552. :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` **G6DOF_JOINT_ANGULAR_LOWER_LIMIT** = ``10``
  553. The minimum rotation in negative direction to break loose and rotate around the axes.
  554. .. _class_PhysicsServer3D_constant_G6DOF_JOINT_ANGULAR_UPPER_LIMIT:
  555. .. rst-class:: classref-enumeration-constant
  556. :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` **G6DOF_JOINT_ANGULAR_UPPER_LIMIT** = ``11``
  557. The minimum rotation in positive direction to break loose and rotate around the axes.
  558. .. _class_PhysicsServer3D_constant_G6DOF_JOINT_ANGULAR_LIMIT_SOFTNESS:
  559. .. rst-class:: classref-enumeration-constant
  560. :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` **G6DOF_JOINT_ANGULAR_LIMIT_SOFTNESS** = ``12``
  561. A factor that gets multiplied onto all rotations across the axes.
  562. .. _class_PhysicsServer3D_constant_G6DOF_JOINT_ANGULAR_DAMPING:
  563. .. rst-class:: classref-enumeration-constant
  564. :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` **G6DOF_JOINT_ANGULAR_DAMPING** = ``13``
  565. The amount of rotational damping across the axes. The lower, the more damping occurs.
  566. .. _class_PhysicsServer3D_constant_G6DOF_JOINT_ANGULAR_RESTITUTION:
  567. .. rst-class:: classref-enumeration-constant
  568. :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` **G6DOF_JOINT_ANGULAR_RESTITUTION** = ``14``
  569. The amount of rotational restitution across the axes. The lower, the more restitution occurs.
  570. .. _class_PhysicsServer3D_constant_G6DOF_JOINT_ANGULAR_FORCE_LIMIT:
  571. .. rst-class:: classref-enumeration-constant
  572. :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` **G6DOF_JOINT_ANGULAR_FORCE_LIMIT** = ``15``
  573. The maximum amount of force that can occur, when rotating around the axes.
  574. .. _class_PhysicsServer3D_constant_G6DOF_JOINT_ANGULAR_ERP:
  575. .. rst-class:: classref-enumeration-constant
  576. :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` **G6DOF_JOINT_ANGULAR_ERP** = ``16``
  577. When correcting the crossing of limits in rotation across the axes, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.
  578. .. _class_PhysicsServer3D_constant_G6DOF_JOINT_ANGULAR_MOTOR_TARGET_VELOCITY:
  579. .. rst-class:: classref-enumeration-constant
  580. :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` **G6DOF_JOINT_ANGULAR_MOTOR_TARGET_VELOCITY** = ``17``
  581. Target speed for the motor at the axes.
  582. .. _class_PhysicsServer3D_constant_G6DOF_JOINT_ANGULAR_MOTOR_FORCE_LIMIT:
  583. .. rst-class:: classref-enumeration-constant
  584. :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` **G6DOF_JOINT_ANGULAR_MOTOR_FORCE_LIMIT** = ``18``
  585. Maximum acceleration for the motor at the axes.
  586. .. rst-class:: classref-item-separator
  587. ----
  588. .. _enum_PhysicsServer3D_G6DOFJointAxisFlag:
  589. .. rst-class:: classref-enumeration
  590. enum **G6DOFJointAxisFlag**:
  591. .. _class_PhysicsServer3D_constant_G6DOF_JOINT_FLAG_ENABLE_LINEAR_LIMIT:
  592. .. rst-class:: classref-enumeration-constant
  593. :ref:`G6DOFJointAxisFlag<enum_PhysicsServer3D_G6DOFJointAxisFlag>` **G6DOF_JOINT_FLAG_ENABLE_LINEAR_LIMIT** = ``0``
  594. If set, linear motion is possible within the given limits.
  595. .. _class_PhysicsServer3D_constant_G6DOF_JOINT_FLAG_ENABLE_ANGULAR_LIMIT:
  596. .. rst-class:: classref-enumeration-constant
  597. :ref:`G6DOFJointAxisFlag<enum_PhysicsServer3D_G6DOFJointAxisFlag>` **G6DOF_JOINT_FLAG_ENABLE_ANGULAR_LIMIT** = ``1``
  598. If set, rotational motion is possible.
  599. .. _class_PhysicsServer3D_constant_G6DOF_JOINT_FLAG_ENABLE_MOTOR:
  600. .. rst-class:: classref-enumeration-constant
  601. :ref:`G6DOFJointAxisFlag<enum_PhysicsServer3D_G6DOFJointAxisFlag>` **G6DOF_JOINT_FLAG_ENABLE_MOTOR** = ``4``
  602. If set, there is a rotational motor across these axes.
  603. .. _class_PhysicsServer3D_constant_G6DOF_JOINT_FLAG_ENABLE_LINEAR_MOTOR:
  604. .. rst-class:: classref-enumeration-constant
  605. :ref:`G6DOFJointAxisFlag<enum_PhysicsServer3D_G6DOFJointAxisFlag>` **G6DOF_JOINT_FLAG_ENABLE_LINEAR_MOTOR** = ``5``
  606. If set, there is a linear motor on this axis that targets a specific velocity.
  607. .. rst-class:: classref-item-separator
  608. ----
  609. .. _enum_PhysicsServer3D_ShapeType:
  610. .. rst-class:: classref-enumeration
  611. enum **ShapeType**:
  612. .. _class_PhysicsServer3D_constant_SHAPE_WORLD_BOUNDARY:
  613. .. rst-class:: classref-enumeration-constant
  614. :ref:`ShapeType<enum_PhysicsServer3D_ShapeType>` **SHAPE_WORLD_BOUNDARY** = ``0``
  615. The :ref:`Shape3D<class_Shape3D>` is a :ref:`WorldBoundaryShape3D<class_WorldBoundaryShape3D>`.
  616. .. _class_PhysicsServer3D_constant_SHAPE_SEPARATION_RAY:
  617. .. rst-class:: classref-enumeration-constant
  618. :ref:`ShapeType<enum_PhysicsServer3D_ShapeType>` **SHAPE_SEPARATION_RAY** = ``1``
  619. The :ref:`Shape3D<class_Shape3D>` is a :ref:`SeparationRayShape3D<class_SeparationRayShape3D>`.
  620. .. _class_PhysicsServer3D_constant_SHAPE_SPHERE:
  621. .. rst-class:: classref-enumeration-constant
  622. :ref:`ShapeType<enum_PhysicsServer3D_ShapeType>` **SHAPE_SPHERE** = ``2``
  623. The :ref:`Shape3D<class_Shape3D>` is a :ref:`SphereShape3D<class_SphereShape3D>`.
  624. .. _class_PhysicsServer3D_constant_SHAPE_BOX:
  625. .. rst-class:: classref-enumeration-constant
  626. :ref:`ShapeType<enum_PhysicsServer3D_ShapeType>` **SHAPE_BOX** = ``3``
  627. The :ref:`Shape3D<class_Shape3D>` is a :ref:`BoxShape3D<class_BoxShape3D>`.
  628. .. _class_PhysicsServer3D_constant_SHAPE_CAPSULE:
  629. .. rst-class:: classref-enumeration-constant
  630. :ref:`ShapeType<enum_PhysicsServer3D_ShapeType>` **SHAPE_CAPSULE** = ``4``
  631. The :ref:`Shape3D<class_Shape3D>` is a :ref:`CapsuleShape3D<class_CapsuleShape3D>`.
  632. .. _class_PhysicsServer3D_constant_SHAPE_CYLINDER:
  633. .. rst-class:: classref-enumeration-constant
  634. :ref:`ShapeType<enum_PhysicsServer3D_ShapeType>` **SHAPE_CYLINDER** = ``5``
  635. The :ref:`Shape3D<class_Shape3D>` is a :ref:`CylinderShape3D<class_CylinderShape3D>`.
  636. .. _class_PhysicsServer3D_constant_SHAPE_CONVEX_POLYGON:
  637. .. rst-class:: classref-enumeration-constant
  638. :ref:`ShapeType<enum_PhysicsServer3D_ShapeType>` **SHAPE_CONVEX_POLYGON** = ``6``
  639. The :ref:`Shape3D<class_Shape3D>` is a :ref:`ConvexPolygonShape3D<class_ConvexPolygonShape3D>`.
  640. .. _class_PhysicsServer3D_constant_SHAPE_CONCAVE_POLYGON:
  641. .. rst-class:: classref-enumeration-constant
  642. :ref:`ShapeType<enum_PhysicsServer3D_ShapeType>` **SHAPE_CONCAVE_POLYGON** = ``7``
  643. The :ref:`Shape3D<class_Shape3D>` is a :ref:`ConcavePolygonShape3D<class_ConcavePolygonShape3D>`.
  644. .. _class_PhysicsServer3D_constant_SHAPE_HEIGHTMAP:
  645. .. rst-class:: classref-enumeration-constant
  646. :ref:`ShapeType<enum_PhysicsServer3D_ShapeType>` **SHAPE_HEIGHTMAP** = ``8``
  647. The :ref:`Shape3D<class_Shape3D>` is a :ref:`HeightMapShape3D<class_HeightMapShape3D>`.
  648. .. _class_PhysicsServer3D_constant_SHAPE_SOFT_BODY:
  649. .. rst-class:: classref-enumeration-constant
  650. :ref:`ShapeType<enum_PhysicsServer3D_ShapeType>` **SHAPE_SOFT_BODY** = ``9``
  651. The :ref:`Shape3D<class_Shape3D>` is used internally for a soft body. Any attempt to create this kind of shape results in an error.
  652. .. _class_PhysicsServer3D_constant_SHAPE_CUSTOM:
  653. .. rst-class:: classref-enumeration-constant
  654. :ref:`ShapeType<enum_PhysicsServer3D_ShapeType>` **SHAPE_CUSTOM** = ``10``
  655. This constant is used internally by the engine. Any attempt to create this kind of shape results in an error.
  656. .. rst-class:: classref-item-separator
  657. ----
  658. .. _enum_PhysicsServer3D_AreaParameter:
  659. .. rst-class:: classref-enumeration
  660. enum **AreaParameter**:
  661. .. _class_PhysicsServer3D_constant_AREA_PARAM_GRAVITY_OVERRIDE_MODE:
  662. .. rst-class:: classref-enumeration-constant
  663. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_GRAVITY_OVERRIDE_MODE** = ``0``
  664. Constant to set/get gravity override mode in an area. See :ref:`AreaSpaceOverrideMode<enum_PhysicsServer3D_AreaSpaceOverrideMode>` for possible values.
  665. .. _class_PhysicsServer3D_constant_AREA_PARAM_GRAVITY:
  666. .. rst-class:: classref-enumeration-constant
  667. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_GRAVITY** = ``1``
  668. Constant to set/get gravity strength in an area.
  669. .. _class_PhysicsServer3D_constant_AREA_PARAM_GRAVITY_VECTOR:
  670. .. rst-class:: classref-enumeration-constant
  671. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_GRAVITY_VECTOR** = ``2``
  672. Constant to set/get gravity vector/center in an area.
  673. .. _class_PhysicsServer3D_constant_AREA_PARAM_GRAVITY_IS_POINT:
  674. .. rst-class:: classref-enumeration-constant
  675. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_GRAVITY_IS_POINT** = ``3``
  676. Constant to set/get whether the gravity vector of an area is a direction, or a center point.
  677. .. _class_PhysicsServer3D_constant_AREA_PARAM_GRAVITY_POINT_UNIT_DISTANCE:
  678. .. rst-class:: classref-enumeration-constant
  679. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_GRAVITY_POINT_UNIT_DISTANCE** = ``4``
  680. Constant to set/get the distance at which the gravity strength is equal to the gravity controlled by :ref:`AREA_PARAM_GRAVITY<class_PhysicsServer3D_constant_AREA_PARAM_GRAVITY>`. For example, on a planet 100 meters in radius with a surface gravity of 4.0 m/s², set the gravity to 4.0 and the unit distance to 100.0. The gravity will have falloff according to the inverse square law, so in the example, at 200 meters from the center the gravity will be 1.0 m/s² (twice the distance, 1/4th the gravity), at 50 meters it will be 16.0 m/s² (half the distance, 4x the gravity), and so on.
  681. The above is true only when the unit distance is a positive number. When this is set to 0.0, the gravity will be constant regardless of distance.
  682. .. _class_PhysicsServer3D_constant_AREA_PARAM_LINEAR_DAMP_OVERRIDE_MODE:
  683. .. rst-class:: classref-enumeration-constant
  684. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_LINEAR_DAMP_OVERRIDE_MODE** = ``5``
  685. Constant to set/get linear damping override mode in an area. See :ref:`AreaSpaceOverrideMode<enum_PhysicsServer3D_AreaSpaceOverrideMode>` for possible values.
  686. .. _class_PhysicsServer3D_constant_AREA_PARAM_LINEAR_DAMP:
  687. .. rst-class:: classref-enumeration-constant
  688. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_LINEAR_DAMP** = ``6``
  689. Constant to set/get the linear damping factor of an area.
  690. .. _class_PhysicsServer3D_constant_AREA_PARAM_ANGULAR_DAMP_OVERRIDE_MODE:
  691. .. rst-class:: classref-enumeration-constant
  692. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_ANGULAR_DAMP_OVERRIDE_MODE** = ``7``
  693. Constant to set/get angular damping override mode in an area. See :ref:`AreaSpaceOverrideMode<enum_PhysicsServer3D_AreaSpaceOverrideMode>` for possible values.
  694. .. _class_PhysicsServer3D_constant_AREA_PARAM_ANGULAR_DAMP:
  695. .. rst-class:: classref-enumeration-constant
  696. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_ANGULAR_DAMP** = ``8``
  697. Constant to set/get the angular damping factor of an area.
  698. .. _class_PhysicsServer3D_constant_AREA_PARAM_PRIORITY:
  699. .. rst-class:: classref-enumeration-constant
  700. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_PRIORITY** = ``9``
  701. Constant to set/get the priority (order of processing) of an area.
  702. .. _class_PhysicsServer3D_constant_AREA_PARAM_WIND_FORCE_MAGNITUDE:
  703. .. rst-class:: classref-enumeration-constant
  704. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_WIND_FORCE_MAGNITUDE** = ``10``
  705. Constant to set/get the magnitude of area-specific wind force.
  706. .. _class_PhysicsServer3D_constant_AREA_PARAM_WIND_SOURCE:
  707. .. rst-class:: classref-enumeration-constant
  708. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_WIND_SOURCE** = ``11``
  709. Constant to set/get the 3D vector that specifies the origin from which an area-specific wind blows.
  710. .. _class_PhysicsServer3D_constant_AREA_PARAM_WIND_DIRECTION:
  711. .. rst-class:: classref-enumeration-constant
  712. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_WIND_DIRECTION** = ``12``
  713. Constant to set/get the 3D vector that specifies the direction in which an area-specific wind blows.
  714. .. _class_PhysicsServer3D_constant_AREA_PARAM_WIND_ATTENUATION_FACTOR:
  715. .. rst-class:: classref-enumeration-constant
  716. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_WIND_ATTENUATION_FACTOR** = ``13``
  717. Constant to set/get the exponential rate at which wind force decreases with distance from its origin.
  718. .. rst-class:: classref-item-separator
  719. ----
  720. .. _enum_PhysicsServer3D_AreaSpaceOverrideMode:
  721. .. rst-class:: classref-enumeration
  722. enum **AreaSpaceOverrideMode**:
  723. .. _class_PhysicsServer3D_constant_AREA_SPACE_OVERRIDE_DISABLED:
  724. .. rst-class:: classref-enumeration-constant
  725. :ref:`AreaSpaceOverrideMode<enum_PhysicsServer3D_AreaSpaceOverrideMode>` **AREA_SPACE_OVERRIDE_DISABLED** = ``0``
  726. This area does not affect gravity/damp. These are generally areas that exist only to detect collisions, and objects entering or exiting them.
  727. .. _class_PhysicsServer3D_constant_AREA_SPACE_OVERRIDE_COMBINE:
  728. .. rst-class:: classref-enumeration-constant
  729. :ref:`AreaSpaceOverrideMode<enum_PhysicsServer3D_AreaSpaceOverrideMode>` **AREA_SPACE_OVERRIDE_COMBINE** = ``1``
  730. This area adds its gravity/damp values to whatever has been calculated so far. This way, many overlapping areas can combine their physics to make interesting effects.
  731. .. _class_PhysicsServer3D_constant_AREA_SPACE_OVERRIDE_COMBINE_REPLACE:
  732. .. rst-class:: classref-enumeration-constant
  733. :ref:`AreaSpaceOverrideMode<enum_PhysicsServer3D_AreaSpaceOverrideMode>` **AREA_SPACE_OVERRIDE_COMBINE_REPLACE** = ``2``
  734. This area adds its gravity/damp values to whatever has been calculated so far. Then stops taking into account the rest of the areas, even the default one.
  735. .. _class_PhysicsServer3D_constant_AREA_SPACE_OVERRIDE_REPLACE:
  736. .. rst-class:: classref-enumeration-constant
  737. :ref:`AreaSpaceOverrideMode<enum_PhysicsServer3D_AreaSpaceOverrideMode>` **AREA_SPACE_OVERRIDE_REPLACE** = ``3``
  738. This area replaces any gravity/damp, even the default one, and stops taking into account the rest of the areas.
  739. .. _class_PhysicsServer3D_constant_AREA_SPACE_OVERRIDE_REPLACE_COMBINE:
  740. .. rst-class:: classref-enumeration-constant
  741. :ref:`AreaSpaceOverrideMode<enum_PhysicsServer3D_AreaSpaceOverrideMode>` **AREA_SPACE_OVERRIDE_REPLACE_COMBINE** = ``4``
  742. This area replaces any gravity/damp calculated so far, but keeps calculating the rest of the areas, down to the default one.
  743. .. rst-class:: classref-item-separator
  744. ----
  745. .. _enum_PhysicsServer3D_BodyMode:
  746. .. rst-class:: classref-enumeration
  747. enum **BodyMode**:
  748. .. _class_PhysicsServer3D_constant_BODY_MODE_STATIC:
  749. .. rst-class:: classref-enumeration-constant
  750. :ref:`BodyMode<enum_PhysicsServer3D_BodyMode>` **BODY_MODE_STATIC** = ``0``
  751. Constant for static bodies. In this mode, a body can be only moved by user code and doesn't collide with other bodies along its path when moved.
  752. .. _class_PhysicsServer3D_constant_BODY_MODE_KINEMATIC:
  753. .. rst-class:: classref-enumeration-constant
  754. :ref:`BodyMode<enum_PhysicsServer3D_BodyMode>` **BODY_MODE_KINEMATIC** = ``1``
  755. Constant for kinematic bodies. In this mode, a body can be only moved by user code and collides with other bodies along its path.
  756. .. _class_PhysicsServer3D_constant_BODY_MODE_RIGID:
  757. .. rst-class:: classref-enumeration-constant
  758. :ref:`BodyMode<enum_PhysicsServer3D_BodyMode>` **BODY_MODE_RIGID** = ``2``
  759. Constant for rigid bodies. In this mode, a body can be pushed by other bodies and has forces applied.
  760. .. _class_PhysicsServer3D_constant_BODY_MODE_RIGID_LINEAR:
  761. .. rst-class:: classref-enumeration-constant
  762. :ref:`BodyMode<enum_PhysicsServer3D_BodyMode>` **BODY_MODE_RIGID_LINEAR** = ``3``
  763. Constant for linear rigid bodies. In this mode, a body can not rotate, and only its linear velocity is affected by external forces.
  764. .. rst-class:: classref-item-separator
  765. ----
  766. .. _enum_PhysicsServer3D_BodyParameter:
  767. .. rst-class:: classref-enumeration
  768. enum **BodyParameter**:
  769. .. _class_PhysicsServer3D_constant_BODY_PARAM_BOUNCE:
  770. .. rst-class:: classref-enumeration-constant
  771. :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` **BODY_PARAM_BOUNCE** = ``0``
  772. Constant to set/get a body's bounce factor.
  773. .. _class_PhysicsServer3D_constant_BODY_PARAM_FRICTION:
  774. .. rst-class:: classref-enumeration-constant
  775. :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` **BODY_PARAM_FRICTION** = ``1``
  776. Constant to set/get a body's friction.
  777. .. _class_PhysicsServer3D_constant_BODY_PARAM_MASS:
  778. .. rst-class:: classref-enumeration-constant
  779. :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` **BODY_PARAM_MASS** = ``2``
  780. Constant to set/get a body's mass.
  781. .. _class_PhysicsServer3D_constant_BODY_PARAM_INERTIA:
  782. .. rst-class:: classref-enumeration-constant
  783. :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` **BODY_PARAM_INERTIA** = ``3``
  784. Constant to set/get a body's inertia.
  785. .. _class_PhysicsServer3D_constant_BODY_PARAM_CENTER_OF_MASS:
  786. .. rst-class:: classref-enumeration-constant
  787. :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` **BODY_PARAM_CENTER_OF_MASS** = ``4``
  788. Constant to set/get a body's center of mass position in the body's local coordinate system.
  789. .. _class_PhysicsServer3D_constant_BODY_PARAM_GRAVITY_SCALE:
  790. .. rst-class:: classref-enumeration-constant
  791. :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` **BODY_PARAM_GRAVITY_SCALE** = ``5``
  792. Constant to set/get a body's gravity multiplier.
  793. .. _class_PhysicsServer3D_constant_BODY_PARAM_LINEAR_DAMP_MODE:
  794. .. rst-class:: classref-enumeration-constant
  795. :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` **BODY_PARAM_LINEAR_DAMP_MODE** = ``6``
  796. Constant to set/get a body's linear damping mode. See :ref:`BodyDampMode<enum_PhysicsServer3D_BodyDampMode>` for possible values.
  797. .. _class_PhysicsServer3D_constant_BODY_PARAM_ANGULAR_DAMP_MODE:
  798. .. rst-class:: classref-enumeration-constant
  799. :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` **BODY_PARAM_ANGULAR_DAMP_MODE** = ``7``
  800. Constant to set/get a body's angular damping mode. See :ref:`BodyDampMode<enum_PhysicsServer3D_BodyDampMode>` for possible values.
  801. .. _class_PhysicsServer3D_constant_BODY_PARAM_LINEAR_DAMP:
  802. .. rst-class:: classref-enumeration-constant
  803. :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` **BODY_PARAM_LINEAR_DAMP** = ``8``
  804. Constant to set/get a body's linear damping factor.
  805. .. _class_PhysicsServer3D_constant_BODY_PARAM_ANGULAR_DAMP:
  806. .. rst-class:: classref-enumeration-constant
  807. :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` **BODY_PARAM_ANGULAR_DAMP** = ``9``
  808. Constant to set/get a body's angular damping factor.
  809. .. _class_PhysicsServer3D_constant_BODY_PARAM_MAX:
  810. .. rst-class:: classref-enumeration-constant
  811. :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` **BODY_PARAM_MAX** = ``10``
  812. Represents the size of the :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` enum.
  813. .. rst-class:: classref-item-separator
  814. ----
  815. .. _enum_PhysicsServer3D_BodyDampMode:
  816. .. rst-class:: classref-enumeration
  817. enum **BodyDampMode**:
  818. .. _class_PhysicsServer3D_constant_BODY_DAMP_MODE_COMBINE:
  819. .. rst-class:: classref-enumeration-constant
  820. :ref:`BodyDampMode<enum_PhysicsServer3D_BodyDampMode>` **BODY_DAMP_MODE_COMBINE** = ``0``
  821. The body's damping value is added to any value set in areas or the default value.
  822. .. _class_PhysicsServer3D_constant_BODY_DAMP_MODE_REPLACE:
  823. .. rst-class:: classref-enumeration-constant
  824. :ref:`BodyDampMode<enum_PhysicsServer3D_BodyDampMode>` **BODY_DAMP_MODE_REPLACE** = ``1``
  825. The body's damping value replaces any value set in areas or the default value.
  826. .. rst-class:: classref-item-separator
  827. ----
  828. .. _enum_PhysicsServer3D_BodyState:
  829. .. rst-class:: classref-enumeration
  830. enum **BodyState**:
  831. .. _class_PhysicsServer3D_constant_BODY_STATE_TRANSFORM:
  832. .. rst-class:: classref-enumeration-constant
  833. :ref:`BodyState<enum_PhysicsServer3D_BodyState>` **BODY_STATE_TRANSFORM** = ``0``
  834. Constant to set/get the current transform matrix of the body.
  835. .. _class_PhysicsServer3D_constant_BODY_STATE_LINEAR_VELOCITY:
  836. .. rst-class:: classref-enumeration-constant
  837. :ref:`BodyState<enum_PhysicsServer3D_BodyState>` **BODY_STATE_LINEAR_VELOCITY** = ``1``
  838. Constant to set/get the current linear velocity of the body.
  839. .. _class_PhysicsServer3D_constant_BODY_STATE_ANGULAR_VELOCITY:
  840. .. rst-class:: classref-enumeration-constant
  841. :ref:`BodyState<enum_PhysicsServer3D_BodyState>` **BODY_STATE_ANGULAR_VELOCITY** = ``2``
  842. Constant to set/get the current angular velocity of the body.
  843. .. _class_PhysicsServer3D_constant_BODY_STATE_SLEEPING:
  844. .. rst-class:: classref-enumeration-constant
  845. :ref:`BodyState<enum_PhysicsServer3D_BodyState>` **BODY_STATE_SLEEPING** = ``3``
  846. Constant to sleep/wake up a body, or to get whether it is sleeping.
  847. .. _class_PhysicsServer3D_constant_BODY_STATE_CAN_SLEEP:
  848. .. rst-class:: classref-enumeration-constant
  849. :ref:`BodyState<enum_PhysicsServer3D_BodyState>` **BODY_STATE_CAN_SLEEP** = ``4``
  850. Constant to set/get whether the body can sleep.
  851. .. rst-class:: classref-item-separator
  852. ----
  853. .. _enum_PhysicsServer3D_AreaBodyStatus:
  854. .. rst-class:: classref-enumeration
  855. enum **AreaBodyStatus**:
  856. .. _class_PhysicsServer3D_constant_AREA_BODY_ADDED:
  857. .. rst-class:: classref-enumeration-constant
  858. :ref:`AreaBodyStatus<enum_PhysicsServer3D_AreaBodyStatus>` **AREA_BODY_ADDED** = ``0``
  859. The value of the first parameter and area callback function receives, when an object enters one of its shapes.
  860. .. _class_PhysicsServer3D_constant_AREA_BODY_REMOVED:
  861. .. rst-class:: classref-enumeration-constant
  862. :ref:`AreaBodyStatus<enum_PhysicsServer3D_AreaBodyStatus>` **AREA_BODY_REMOVED** = ``1``
  863. The value of the first parameter and area callback function receives, when an object exits one of its shapes.
  864. .. rst-class:: classref-item-separator
  865. ----
  866. .. _enum_PhysicsServer3D_ProcessInfo:
  867. .. rst-class:: classref-enumeration
  868. enum **ProcessInfo**:
  869. .. _class_PhysicsServer3D_constant_INFO_ACTIVE_OBJECTS:
  870. .. rst-class:: classref-enumeration-constant
  871. :ref:`ProcessInfo<enum_PhysicsServer3D_ProcessInfo>` **INFO_ACTIVE_OBJECTS** = ``0``
  872. Constant to get the number of objects that are not sleeping.
  873. .. _class_PhysicsServer3D_constant_INFO_COLLISION_PAIRS:
  874. .. rst-class:: classref-enumeration-constant
  875. :ref:`ProcessInfo<enum_PhysicsServer3D_ProcessInfo>` **INFO_COLLISION_PAIRS** = ``1``
  876. Constant to get the number of possible collisions.
  877. .. _class_PhysicsServer3D_constant_INFO_ISLAND_COUNT:
  878. .. rst-class:: classref-enumeration-constant
  879. :ref:`ProcessInfo<enum_PhysicsServer3D_ProcessInfo>` **INFO_ISLAND_COUNT** = ``2``
  880. Constant to get the number of space regions where a collision could occur.
  881. .. rst-class:: classref-item-separator
  882. ----
  883. .. _enum_PhysicsServer3D_SpaceParameter:
  884. .. rst-class:: classref-enumeration
  885. enum **SpaceParameter**:
  886. .. _class_PhysicsServer3D_constant_SPACE_PARAM_CONTACT_RECYCLE_RADIUS:
  887. .. rst-class:: classref-enumeration-constant
  888. :ref:`SpaceParameter<enum_PhysicsServer3D_SpaceParameter>` **SPACE_PARAM_CONTACT_RECYCLE_RADIUS** = ``0``
  889. Constant to set/get the maximum distance a pair of bodies has to move before their collision status has to be recalculated.
  890. .. _class_PhysicsServer3D_constant_SPACE_PARAM_CONTACT_MAX_SEPARATION:
  891. .. rst-class:: classref-enumeration-constant
  892. :ref:`SpaceParameter<enum_PhysicsServer3D_SpaceParameter>` **SPACE_PARAM_CONTACT_MAX_SEPARATION** = ``1``
  893. Constant to set/get the maximum distance a shape can be from another before they are considered separated and the contact is discarded.
  894. .. _class_PhysicsServer3D_constant_SPACE_PARAM_CONTACT_MAX_ALLOWED_PENETRATION:
  895. .. rst-class:: classref-enumeration-constant
  896. :ref:`SpaceParameter<enum_PhysicsServer3D_SpaceParameter>` **SPACE_PARAM_CONTACT_MAX_ALLOWED_PENETRATION** = ``2``
  897. Constant to set/get the maximum distance a shape can penetrate another shape before it is considered a collision.
  898. .. _class_PhysicsServer3D_constant_SPACE_PARAM_CONTACT_DEFAULT_BIAS:
  899. .. rst-class:: classref-enumeration-constant
  900. :ref:`SpaceParameter<enum_PhysicsServer3D_SpaceParameter>` **SPACE_PARAM_CONTACT_DEFAULT_BIAS** = ``3``
  901. Constant to set/get the default solver bias for all physics contacts. A solver bias is a factor controlling how much two objects "rebound", after overlapping, to avoid leaving them in that state because of numerical imprecision.
  902. .. _class_PhysicsServer3D_constant_SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD:
  903. .. rst-class:: classref-enumeration-constant
  904. :ref:`SpaceParameter<enum_PhysicsServer3D_SpaceParameter>` **SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD** = ``4``
  905. Constant to set/get the threshold linear velocity of activity. A body marked as potentially inactive for both linear and angular velocity will be put to sleep after the time given.
  906. .. _class_PhysicsServer3D_constant_SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD:
  907. .. rst-class:: classref-enumeration-constant
  908. :ref:`SpaceParameter<enum_PhysicsServer3D_SpaceParameter>` **SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD** = ``5``
  909. Constant to set/get the threshold angular velocity of activity. A body marked as potentially inactive for both linear and angular velocity will be put to sleep after the time given.
  910. .. _class_PhysicsServer3D_constant_SPACE_PARAM_BODY_TIME_TO_SLEEP:
  911. .. rst-class:: classref-enumeration-constant
  912. :ref:`SpaceParameter<enum_PhysicsServer3D_SpaceParameter>` **SPACE_PARAM_BODY_TIME_TO_SLEEP** = ``6``
  913. Constant to set/get the maximum time of activity. A body marked as potentially inactive for both linear and angular velocity will be put to sleep after this time.
  914. .. _class_PhysicsServer3D_constant_SPACE_PARAM_SOLVER_ITERATIONS:
  915. .. rst-class:: classref-enumeration-constant
  916. :ref:`SpaceParameter<enum_PhysicsServer3D_SpaceParameter>` **SPACE_PARAM_SOLVER_ITERATIONS** = ``7``
  917. Constant to set/get the number of solver iterations for contacts and constraints. The greater the number of iterations, the more accurate the collisions and constraints will be. However, a greater number of iterations requires more CPU power, which can decrease performance.
  918. .. rst-class:: classref-item-separator
  919. ----
  920. .. _enum_PhysicsServer3D_BodyAxis:
  921. .. rst-class:: classref-enumeration
  922. enum **BodyAxis**:
  923. .. _class_PhysicsServer3D_constant_BODY_AXIS_LINEAR_X:
  924. .. rst-class:: classref-enumeration-constant
  925. :ref:`BodyAxis<enum_PhysicsServer3D_BodyAxis>` **BODY_AXIS_LINEAR_X** = ``1``
  926. .. _class_PhysicsServer3D_constant_BODY_AXIS_LINEAR_Y:
  927. .. rst-class:: classref-enumeration-constant
  928. :ref:`BodyAxis<enum_PhysicsServer3D_BodyAxis>` **BODY_AXIS_LINEAR_Y** = ``2``
  929. .. _class_PhysicsServer3D_constant_BODY_AXIS_LINEAR_Z:
  930. .. rst-class:: classref-enumeration-constant
  931. :ref:`BodyAxis<enum_PhysicsServer3D_BodyAxis>` **BODY_AXIS_LINEAR_Z** = ``4``
  932. .. _class_PhysicsServer3D_constant_BODY_AXIS_ANGULAR_X:
  933. .. rst-class:: classref-enumeration-constant
  934. :ref:`BodyAxis<enum_PhysicsServer3D_BodyAxis>` **BODY_AXIS_ANGULAR_X** = ``8``
  935. .. _class_PhysicsServer3D_constant_BODY_AXIS_ANGULAR_Y:
  936. .. rst-class:: classref-enumeration-constant
  937. :ref:`BodyAxis<enum_PhysicsServer3D_BodyAxis>` **BODY_AXIS_ANGULAR_Y** = ``16``
  938. .. _class_PhysicsServer3D_constant_BODY_AXIS_ANGULAR_Z:
  939. .. rst-class:: classref-enumeration-constant
  940. :ref:`BodyAxis<enum_PhysicsServer3D_BodyAxis>` **BODY_AXIS_ANGULAR_Z** = ``32``
  941. .. rst-class:: classref-section-separator
  942. ----
  943. .. rst-class:: classref-descriptions-group
  944. Method Descriptions
  945. -------------------
  946. .. _class_PhysicsServer3D_method_area_add_shape:
  947. .. rst-class:: classref-method
  948. void **area_add_shape** **(** :ref:`RID<class_RID>` area, :ref:`RID<class_RID>` shape, :ref:`Transform3D<class_Transform3D>` transform=Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0), :ref:`bool<class_bool>` disabled=false **)**
  949. Adds a shape to the area, along with a transform matrix. Shapes are usually referenced by their index, so you should track which shape has a given index.
  950. .. rst-class:: classref-item-separator
  951. ----
  952. .. _class_PhysicsServer3D_method_area_attach_object_instance_id:
  953. .. rst-class:: classref-method
  954. void **area_attach_object_instance_id** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` id **)**
  955. Assigns the area to a descendant of :ref:`Object<class_Object>`, so it can exist in the node tree.
  956. .. rst-class:: classref-item-separator
  957. ----
  958. .. _class_PhysicsServer3D_method_area_clear_shapes:
  959. .. rst-class:: classref-method
  960. void **area_clear_shapes** **(** :ref:`RID<class_RID>` area **)**
  961. Removes all shapes from an area. It does not delete the shapes, so they can be reassigned later.
  962. .. rst-class:: classref-item-separator
  963. ----
  964. .. _class_PhysicsServer3D_method_area_create:
  965. .. rst-class:: classref-method
  966. :ref:`RID<class_RID>` **area_create** **(** **)**
  967. Creates an :ref:`Area3D<class_Area3D>`.
  968. .. rst-class:: classref-item-separator
  969. ----
  970. .. _class_PhysicsServer3D_method_area_get_collision_layer:
  971. .. rst-class:: classref-method
  972. :ref:`int<class_int>` **area_get_collision_layer** **(** :ref:`RID<class_RID>` area **)** |const|
  973. Returns the physics layer or layers an area belongs to.
  974. .. rst-class:: classref-item-separator
  975. ----
  976. .. _class_PhysicsServer3D_method_area_get_collision_mask:
  977. .. rst-class:: classref-method
  978. :ref:`int<class_int>` **area_get_collision_mask** **(** :ref:`RID<class_RID>` area **)** |const|
  979. Returns the physics layer or layers an area can contact with.
  980. .. rst-class:: classref-item-separator
  981. ----
  982. .. _class_PhysicsServer3D_method_area_get_object_instance_id:
  983. .. rst-class:: classref-method
  984. :ref:`int<class_int>` **area_get_object_instance_id** **(** :ref:`RID<class_RID>` area **)** |const|
  985. Gets the instance ID of the object the area is assigned to.
  986. .. rst-class:: classref-item-separator
  987. ----
  988. .. _class_PhysicsServer3D_method_area_get_param:
  989. .. rst-class:: classref-method
  990. :ref:`Variant<class_Variant>` **area_get_param** **(** :ref:`RID<class_RID>` area, :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` param **)** |const|
  991. Returns an area parameter value. A list of available parameters is on the :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` constants.
  992. .. rst-class:: classref-item-separator
  993. ----
  994. .. _class_PhysicsServer3D_method_area_get_shape:
  995. .. rst-class:: classref-method
  996. :ref:`RID<class_RID>` **area_get_shape** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx **)** |const|
  997. Returns the :ref:`RID<class_RID>` of the nth shape of an area.
  998. .. rst-class:: classref-item-separator
  999. ----
  1000. .. _class_PhysicsServer3D_method_area_get_shape_count:
  1001. .. rst-class:: classref-method
  1002. :ref:`int<class_int>` **area_get_shape_count** **(** :ref:`RID<class_RID>` area **)** |const|
  1003. Returns the number of shapes assigned to an area.
  1004. .. rst-class:: classref-item-separator
  1005. ----
  1006. .. _class_PhysicsServer3D_method_area_get_shape_transform:
  1007. .. rst-class:: classref-method
  1008. :ref:`Transform3D<class_Transform3D>` **area_get_shape_transform** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx **)** |const|
  1009. Returns the transform matrix of a shape within an area.
  1010. .. rst-class:: classref-item-separator
  1011. ----
  1012. .. _class_PhysicsServer3D_method_area_get_space:
  1013. .. rst-class:: classref-method
  1014. :ref:`RID<class_RID>` **area_get_space** **(** :ref:`RID<class_RID>` area **)** |const|
  1015. Returns the space assigned to the area.
  1016. .. rst-class:: classref-item-separator
  1017. ----
  1018. .. _class_PhysicsServer3D_method_area_get_transform:
  1019. .. rst-class:: classref-method
  1020. :ref:`Transform3D<class_Transform3D>` **area_get_transform** **(** :ref:`RID<class_RID>` area **)** |const|
  1021. Returns the transform matrix for an area.
  1022. .. rst-class:: classref-item-separator
  1023. ----
  1024. .. _class_PhysicsServer3D_method_area_remove_shape:
  1025. .. rst-class:: classref-method
  1026. void **area_remove_shape** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx **)**
  1027. Removes a shape from an area. It does not delete the shape, so it can be reassigned later.
  1028. .. rst-class:: classref-item-separator
  1029. ----
  1030. .. _class_PhysicsServer3D_method_area_set_area_monitor_callback:
  1031. .. rst-class:: classref-method
  1032. void **area_set_area_monitor_callback** **(** :ref:`RID<class_RID>` area, :ref:`Callable<class_Callable>` callback **)**
  1033. Sets the area's area monitor callback. This callback will be called when any other (shape of an) area enters or exits (a shape of) the given area, and must take the following five parameters:
  1034. 1. an integer ``status``: either :ref:`AREA_BODY_ADDED<class_PhysicsServer3D_constant_AREA_BODY_ADDED>` or :ref:`AREA_BODY_REMOVED<class_PhysicsServer3D_constant_AREA_BODY_REMOVED>` depending on whether the other area's shape entered or exited the area,
  1035. 2. an :ref:`RID<class_RID>` ``area_rid``: the :ref:`RID<class_RID>` of the other area that entered or exited the area,
  1036. 3. an integer ``instance_id``: the ``ObjectID`` attached to the other area,
  1037. 4. an integer ``area_shape_idx``: the index of the shape of the other area that entered or exited the area,
  1038. 5. an integer ``self_shape_idx``: the index of the shape of the area where the other area entered or exited.
  1039. By counting (or keeping track of) the shapes that enter and exit, it can be determined if an area (with all its shapes) is entering for the first time or exiting for the last time.
  1040. .. rst-class:: classref-item-separator
  1041. ----
  1042. .. _class_PhysicsServer3D_method_area_set_collision_layer:
  1043. .. rst-class:: classref-method
  1044. void **area_set_collision_layer** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` layer **)**
  1045. Assigns the area to one or many physics layers.
  1046. .. rst-class:: classref-item-separator
  1047. ----
  1048. .. _class_PhysicsServer3D_method_area_set_collision_mask:
  1049. .. rst-class:: classref-method
  1050. void **area_set_collision_mask** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` mask **)**
  1051. Sets which physics layers the area will monitor.
  1052. .. rst-class:: classref-item-separator
  1053. ----
  1054. .. _class_PhysicsServer3D_method_area_set_monitor_callback:
  1055. .. rst-class:: classref-method
  1056. void **area_set_monitor_callback** **(** :ref:`RID<class_RID>` area, :ref:`Callable<class_Callable>` callback **)**
  1057. Sets the area's body monitor callback. This callback will be called when any other (shape of a) body enters or exits (a shape of) the given area, and must take the following five parameters:
  1058. 1. an integer ``status``: either :ref:`AREA_BODY_ADDED<class_PhysicsServer3D_constant_AREA_BODY_ADDED>` or :ref:`AREA_BODY_REMOVED<class_PhysicsServer3D_constant_AREA_BODY_REMOVED>` depending on whether the other body shape entered or exited the area,
  1059. 2. an :ref:`RID<class_RID>` ``body_rid``: the :ref:`RID<class_RID>` of the body that entered or exited the area,
  1060. 3. an integer ``instance_id``: the ``ObjectID`` attached to the body,
  1061. 4. an integer ``body_shape_idx``: the index of the shape of the body that entered or exited the area,
  1062. 5. an integer ``self_shape_idx``: the index of the shape of the area where the body entered or exited.
  1063. By counting (or keeping track of) the shapes that enter and exit, it can be determined if a body (with all its shapes) is entering for the first time or exiting for the last time.
  1064. .. rst-class:: classref-item-separator
  1065. ----
  1066. .. _class_PhysicsServer3D_method_area_set_monitorable:
  1067. .. rst-class:: classref-method
  1068. void **area_set_monitorable** **(** :ref:`RID<class_RID>` area, :ref:`bool<class_bool>` monitorable **)**
  1069. .. container:: contribute
  1070. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1071. .. rst-class:: classref-item-separator
  1072. ----
  1073. .. _class_PhysicsServer3D_method_area_set_param:
  1074. .. rst-class:: classref-method
  1075. void **area_set_param** **(** :ref:`RID<class_RID>` area, :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` param, :ref:`Variant<class_Variant>` value **)**
  1076. Sets the value for an area parameter. A list of available parameters is on the :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` constants.
  1077. .. rst-class:: classref-item-separator
  1078. ----
  1079. .. _class_PhysicsServer3D_method_area_set_ray_pickable:
  1080. .. rst-class:: classref-method
  1081. void **area_set_ray_pickable** **(** :ref:`RID<class_RID>` area, :ref:`bool<class_bool>` enable **)**
  1082. Sets object pickable with rays.
  1083. .. rst-class:: classref-item-separator
  1084. ----
  1085. .. _class_PhysicsServer3D_method_area_set_shape:
  1086. .. rst-class:: classref-method
  1087. void **area_set_shape** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx, :ref:`RID<class_RID>` shape **)**
  1088. Substitutes a given area shape by another. The old shape is selected by its index, the new one by its :ref:`RID<class_RID>`.
  1089. .. rst-class:: classref-item-separator
  1090. ----
  1091. .. _class_PhysicsServer3D_method_area_set_shape_disabled:
  1092. .. rst-class:: classref-method
  1093. void **area_set_shape_disabled** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` disabled **)**
  1094. .. container:: contribute
  1095. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1096. .. rst-class:: classref-item-separator
  1097. ----
  1098. .. _class_PhysicsServer3D_method_area_set_shape_transform:
  1099. .. rst-class:: classref-method
  1100. void **area_set_shape_transform** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx, :ref:`Transform3D<class_Transform3D>` transform **)**
  1101. Sets the transform matrix for an area shape.
  1102. .. rst-class:: classref-item-separator
  1103. ----
  1104. .. _class_PhysicsServer3D_method_area_set_space:
  1105. .. rst-class:: classref-method
  1106. void **area_set_space** **(** :ref:`RID<class_RID>` area, :ref:`RID<class_RID>` space **)**
  1107. Assigns a space to the area.
  1108. .. rst-class:: classref-item-separator
  1109. ----
  1110. .. _class_PhysicsServer3D_method_area_set_transform:
  1111. .. rst-class:: classref-method
  1112. void **area_set_transform** **(** :ref:`RID<class_RID>` area, :ref:`Transform3D<class_Transform3D>` transform **)**
  1113. Sets the transform matrix for an area.
  1114. .. rst-class:: classref-item-separator
  1115. ----
  1116. .. _class_PhysicsServer3D_method_body_add_collision_exception:
  1117. .. rst-class:: classref-method
  1118. void **body_add_collision_exception** **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` excepted_body **)**
  1119. Adds a body to the list of bodies exempt from collisions.
  1120. .. rst-class:: classref-item-separator
  1121. ----
  1122. .. _class_PhysicsServer3D_method_body_add_constant_central_force:
  1123. .. rst-class:: classref-method
  1124. void **body_add_constant_central_force** **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` force **)**
  1125. Adds a constant directional force without affecting rotation that keeps being applied over time until cleared with ``body_set_constant_force(body, Vector3(0, 0, 0))``.
  1126. This is equivalent to using :ref:`body_add_constant_force<class_PhysicsServer3D_method_body_add_constant_force>` at the body's center of mass.
  1127. .. rst-class:: classref-item-separator
  1128. ----
  1129. .. _class_PhysicsServer3D_method_body_add_constant_force:
  1130. .. rst-class:: classref-method
  1131. void **body_add_constant_force** **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` force, :ref:`Vector3<class_Vector3>` position=Vector3(0, 0, 0) **)**
  1132. Adds a constant positioned force to the body that keeps being applied over time until cleared with ``body_set_constant_force(body, Vector3(0, 0, 0))``.
  1133. \ ``position`` is the offset from the body origin in global coordinates.
  1134. .. rst-class:: classref-item-separator
  1135. ----
  1136. .. _class_PhysicsServer3D_method_body_add_constant_torque:
  1137. .. rst-class:: classref-method
  1138. void **body_add_constant_torque** **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` torque **)**
  1139. Adds a constant rotational force without affecting position that keeps being applied over time until cleared with ``body_set_constant_torque(body, Vector3(0, 0, 0))``.
  1140. .. rst-class:: classref-item-separator
  1141. ----
  1142. .. _class_PhysicsServer3D_method_body_add_shape:
  1143. .. rst-class:: classref-method
  1144. void **body_add_shape** **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` shape, :ref:`Transform3D<class_Transform3D>` transform=Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0), :ref:`bool<class_bool>` disabled=false **)**
  1145. Adds a shape to the body, along with a transform matrix. Shapes are usually referenced by their index, so you should track which shape has a given index.
  1146. .. rst-class:: classref-item-separator
  1147. ----
  1148. .. _class_PhysicsServer3D_method_body_apply_central_force:
  1149. .. rst-class:: classref-method
  1150. void **body_apply_central_force** **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` force **)**
  1151. Applies a directional force without affecting rotation. A force is time dependent and meant to be applied every physics update.
  1152. This is equivalent to using :ref:`body_apply_force<class_PhysicsServer3D_method_body_apply_force>` at the body's center of mass.
  1153. .. rst-class:: classref-item-separator
  1154. ----
  1155. .. _class_PhysicsServer3D_method_body_apply_central_impulse:
  1156. .. rst-class:: classref-method
  1157. void **body_apply_central_impulse** **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` impulse **)**
  1158. Applies a directional impulse without affecting rotation.
  1159. An impulse is time-independent! Applying an impulse every frame would result in a framerate-dependent force. For this reason, it should only be used when simulating one-time impacts (use the "_force" functions otherwise).
  1160. This is equivalent to using :ref:`body_apply_impulse<class_PhysicsServer3D_method_body_apply_impulse>` at the body's center of mass.
  1161. .. rst-class:: classref-item-separator
  1162. ----
  1163. .. _class_PhysicsServer3D_method_body_apply_force:
  1164. .. rst-class:: classref-method
  1165. void **body_apply_force** **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` force, :ref:`Vector3<class_Vector3>` position=Vector3(0, 0, 0) **)**
  1166. Applies a positioned force to the body. A force is time dependent and meant to be applied every physics update.
  1167. \ ``position`` is the offset from the body origin in global coordinates.
  1168. .. rst-class:: classref-item-separator
  1169. ----
  1170. .. _class_PhysicsServer3D_method_body_apply_impulse:
  1171. .. rst-class:: classref-method
  1172. void **body_apply_impulse** **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` impulse, :ref:`Vector3<class_Vector3>` position=Vector3(0, 0, 0) **)**
  1173. Applies a positioned impulse to the body.
  1174. An impulse is time-independent! Applying an impulse every frame would result in a framerate-dependent force. For this reason, it should only be used when simulating one-time impacts (use the "_force" functions otherwise).
  1175. \ ``position`` is the offset from the body origin in global coordinates.
  1176. .. rst-class:: classref-item-separator
  1177. ----
  1178. .. _class_PhysicsServer3D_method_body_apply_torque:
  1179. .. rst-class:: classref-method
  1180. void **body_apply_torque** **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` torque **)**
  1181. Applies a rotational force without affecting position. A force is time dependent and meant to be applied every physics update.
  1182. .. rst-class:: classref-item-separator
  1183. ----
  1184. .. _class_PhysicsServer3D_method_body_apply_torque_impulse:
  1185. .. rst-class:: classref-method
  1186. void **body_apply_torque_impulse** **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` impulse **)**
  1187. Applies a rotational impulse to the body without affecting the position.
  1188. An impulse is time-independent! Applying an impulse every frame would result in a framerate-dependent force. For this reason, it should only be used when simulating one-time impacts (use the "_force" functions otherwise).
  1189. .. rst-class:: classref-item-separator
  1190. ----
  1191. .. _class_PhysicsServer3D_method_body_attach_object_instance_id:
  1192. .. rst-class:: classref-method
  1193. void **body_attach_object_instance_id** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` id **)**
  1194. Assigns the area to a descendant of :ref:`Object<class_Object>`, so it can exist in the node tree.
  1195. .. rst-class:: classref-item-separator
  1196. ----
  1197. .. _class_PhysicsServer3D_method_body_clear_shapes:
  1198. .. rst-class:: classref-method
  1199. void **body_clear_shapes** **(** :ref:`RID<class_RID>` body **)**
  1200. Removes all shapes from a body.
  1201. .. rst-class:: classref-item-separator
  1202. ----
  1203. .. _class_PhysicsServer3D_method_body_create:
  1204. .. rst-class:: classref-method
  1205. :ref:`RID<class_RID>` **body_create** **(** **)**
  1206. .. container:: contribute
  1207. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1208. .. rst-class:: classref-item-separator
  1209. ----
  1210. .. _class_PhysicsServer3D_method_body_get_collision_layer:
  1211. .. rst-class:: classref-method
  1212. :ref:`int<class_int>` **body_get_collision_layer** **(** :ref:`RID<class_RID>` body **)** |const|
  1213. Returns the physics layer or layers a body belongs to.
  1214. .. rst-class:: classref-item-separator
  1215. ----
  1216. .. _class_PhysicsServer3D_method_body_get_collision_mask:
  1217. .. rst-class:: classref-method
  1218. :ref:`int<class_int>` **body_get_collision_mask** **(** :ref:`RID<class_RID>` body **)** |const|
  1219. Returns the physics layer or layers a body can collide with.
  1220. .. rst-class:: classref-item-separator
  1221. ----
  1222. .. _class_PhysicsServer3D_method_body_get_collision_priority:
  1223. .. rst-class:: classref-method
  1224. :ref:`float<class_float>` **body_get_collision_priority** **(** :ref:`RID<class_RID>` body **)** |const|
  1225. Returns the body's collision priority.
  1226. .. rst-class:: classref-item-separator
  1227. ----
  1228. .. _class_PhysicsServer3D_method_body_get_constant_force:
  1229. .. rst-class:: classref-method
  1230. :ref:`Vector3<class_Vector3>` **body_get_constant_force** **(** :ref:`RID<class_RID>` body **)** |const|
  1231. Returns the body's total constant positional forces applied during each physics update.
  1232. See :ref:`body_add_constant_force<class_PhysicsServer3D_method_body_add_constant_force>` and :ref:`body_add_constant_central_force<class_PhysicsServer3D_method_body_add_constant_central_force>`.
  1233. .. rst-class:: classref-item-separator
  1234. ----
  1235. .. _class_PhysicsServer3D_method_body_get_constant_torque:
  1236. .. rst-class:: classref-method
  1237. :ref:`Vector3<class_Vector3>` **body_get_constant_torque** **(** :ref:`RID<class_RID>` body **)** |const|
  1238. Returns the body's total constant rotational forces applied during each physics update.
  1239. See :ref:`body_add_constant_torque<class_PhysicsServer3D_method_body_add_constant_torque>`.
  1240. .. rst-class:: classref-item-separator
  1241. ----
  1242. .. _class_PhysicsServer3D_method_body_get_direct_state:
  1243. .. rst-class:: classref-method
  1244. :ref:`PhysicsDirectBodyState3D<class_PhysicsDirectBodyState3D>` **body_get_direct_state** **(** :ref:`RID<class_RID>` body **)**
  1245. Returns the :ref:`PhysicsDirectBodyState3D<class_PhysicsDirectBodyState3D>` of the body. Returns ``null`` if the body is destroyed or removed from the physics space.
  1246. .. rst-class:: classref-item-separator
  1247. ----
  1248. .. _class_PhysicsServer3D_method_body_get_max_contacts_reported:
  1249. .. rst-class:: classref-method
  1250. :ref:`int<class_int>` **body_get_max_contacts_reported** **(** :ref:`RID<class_RID>` body **)** |const|
  1251. Returns the maximum contacts that can be reported. See :ref:`body_set_max_contacts_reported<class_PhysicsServer3D_method_body_set_max_contacts_reported>`.
  1252. .. rst-class:: classref-item-separator
  1253. ----
  1254. .. _class_PhysicsServer3D_method_body_get_mode:
  1255. .. rst-class:: classref-method
  1256. :ref:`BodyMode<enum_PhysicsServer3D_BodyMode>` **body_get_mode** **(** :ref:`RID<class_RID>` body **)** |const|
  1257. Returns the body mode.
  1258. .. rst-class:: classref-item-separator
  1259. ----
  1260. .. _class_PhysicsServer3D_method_body_get_object_instance_id:
  1261. .. rst-class:: classref-method
  1262. :ref:`int<class_int>` **body_get_object_instance_id** **(** :ref:`RID<class_RID>` body **)** |const|
  1263. Gets the instance ID of the object the area is assigned to.
  1264. .. rst-class:: classref-item-separator
  1265. ----
  1266. .. _class_PhysicsServer3D_method_body_get_param:
  1267. .. rst-class:: classref-method
  1268. :ref:`Variant<class_Variant>` **body_get_param** **(** :ref:`RID<class_RID>` body, :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` param **)** |const|
  1269. Returns the value of a body parameter. A list of available parameters is on the :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` constants.
  1270. .. rst-class:: classref-item-separator
  1271. ----
  1272. .. _class_PhysicsServer3D_method_body_get_shape:
  1273. .. rst-class:: classref-method
  1274. :ref:`RID<class_RID>` **body_get_shape** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx **)** |const|
  1275. Returns the :ref:`RID<class_RID>` of the nth shape of a body.
  1276. .. rst-class:: classref-item-separator
  1277. ----
  1278. .. _class_PhysicsServer3D_method_body_get_shape_count:
  1279. .. rst-class:: classref-method
  1280. :ref:`int<class_int>` **body_get_shape_count** **(** :ref:`RID<class_RID>` body **)** |const|
  1281. Returns the number of shapes assigned to a body.
  1282. .. rst-class:: classref-item-separator
  1283. ----
  1284. .. _class_PhysicsServer3D_method_body_get_shape_transform:
  1285. .. rst-class:: classref-method
  1286. :ref:`Transform3D<class_Transform3D>` **body_get_shape_transform** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx **)** |const|
  1287. Returns the transform matrix of a body shape.
  1288. .. rst-class:: classref-item-separator
  1289. ----
  1290. .. _class_PhysicsServer3D_method_body_get_space:
  1291. .. rst-class:: classref-method
  1292. :ref:`RID<class_RID>` **body_get_space** **(** :ref:`RID<class_RID>` body **)** |const|
  1293. Returns the :ref:`RID<class_RID>` of the space assigned to a body.
  1294. .. rst-class:: classref-item-separator
  1295. ----
  1296. .. _class_PhysicsServer3D_method_body_get_state:
  1297. .. rst-class:: classref-method
  1298. :ref:`Variant<class_Variant>` **body_get_state** **(** :ref:`RID<class_RID>` body, :ref:`BodyState<enum_PhysicsServer3D_BodyState>` state **)** |const|
  1299. Returns a body state.
  1300. .. rst-class:: classref-item-separator
  1301. ----
  1302. .. _class_PhysicsServer3D_method_body_is_axis_locked:
  1303. .. rst-class:: classref-method
  1304. :ref:`bool<class_bool>` **body_is_axis_locked** **(** :ref:`RID<class_RID>` body, :ref:`BodyAxis<enum_PhysicsServer3D_BodyAxis>` axis **)** |const|
  1305. .. container:: contribute
  1306. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1307. .. rst-class:: classref-item-separator
  1308. ----
  1309. .. _class_PhysicsServer3D_method_body_is_continuous_collision_detection_enabled:
  1310. .. rst-class:: classref-method
  1311. :ref:`bool<class_bool>` **body_is_continuous_collision_detection_enabled** **(** :ref:`RID<class_RID>` body **)** |const|
  1312. If ``true``, the continuous collision detection mode is enabled.
  1313. .. rst-class:: classref-item-separator
  1314. ----
  1315. .. _class_PhysicsServer3D_method_body_is_omitting_force_integration:
  1316. .. rst-class:: classref-method
  1317. :ref:`bool<class_bool>` **body_is_omitting_force_integration** **(** :ref:`RID<class_RID>` body **)** |const|
  1318. Returns whether a body uses a callback function to calculate its own physics (see :ref:`body_set_force_integration_callback<class_PhysicsServer3D_method_body_set_force_integration_callback>`).
  1319. .. rst-class:: classref-item-separator
  1320. ----
  1321. .. _class_PhysicsServer3D_method_body_remove_collision_exception:
  1322. .. rst-class:: classref-method
  1323. void **body_remove_collision_exception** **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` excepted_body **)**
  1324. Removes a body from the list of bodies exempt from collisions.
  1325. Continuous collision detection tries to predict where a moving body will collide, instead of moving it and correcting its movement if it collided.
  1326. .. rst-class:: classref-item-separator
  1327. ----
  1328. .. _class_PhysicsServer3D_method_body_remove_shape:
  1329. .. rst-class:: classref-method
  1330. void **body_remove_shape** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx **)**
  1331. Removes a shape from a body. The shape is not deleted, so it can be reused afterwards.
  1332. .. rst-class:: classref-item-separator
  1333. ----
  1334. .. _class_PhysicsServer3D_method_body_reset_mass_properties:
  1335. .. rst-class:: classref-method
  1336. void **body_reset_mass_properties** **(** :ref:`RID<class_RID>` body **)**
  1337. Restores the default inertia and center of mass based on shapes to cancel any custom values previously set using :ref:`body_set_param<class_PhysicsServer3D_method_body_set_param>`.
  1338. .. rst-class:: classref-item-separator
  1339. ----
  1340. .. _class_PhysicsServer3D_method_body_set_axis_lock:
  1341. .. rst-class:: classref-method
  1342. void **body_set_axis_lock** **(** :ref:`RID<class_RID>` body, :ref:`BodyAxis<enum_PhysicsServer3D_BodyAxis>` axis, :ref:`bool<class_bool>` lock **)**
  1343. .. container:: contribute
  1344. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1345. .. rst-class:: classref-item-separator
  1346. ----
  1347. .. _class_PhysicsServer3D_method_body_set_axis_velocity:
  1348. .. rst-class:: classref-method
  1349. void **body_set_axis_velocity** **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` axis_velocity **)**
  1350. Sets an axis velocity. The velocity in the given vector axis will be set as the given vector length. This is useful for jumping behavior.
  1351. .. rst-class:: classref-item-separator
  1352. ----
  1353. .. _class_PhysicsServer3D_method_body_set_collision_layer:
  1354. .. rst-class:: classref-method
  1355. void **body_set_collision_layer** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` layer **)**
  1356. Sets the physics layer or layers a body belongs to.
  1357. .. rst-class:: classref-item-separator
  1358. ----
  1359. .. _class_PhysicsServer3D_method_body_set_collision_mask:
  1360. .. rst-class:: classref-method
  1361. void **body_set_collision_mask** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` mask **)**
  1362. Sets the physics layer or layers a body can collide with.
  1363. .. rst-class:: classref-item-separator
  1364. ----
  1365. .. _class_PhysicsServer3D_method_body_set_collision_priority:
  1366. .. rst-class:: classref-method
  1367. void **body_set_collision_priority** **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` priority **)**
  1368. Sets the body's collision priority.
  1369. .. rst-class:: classref-item-separator
  1370. ----
  1371. .. _class_PhysicsServer3D_method_body_set_constant_force:
  1372. .. rst-class:: classref-method
  1373. void **body_set_constant_force** **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` force **)**
  1374. Sets the body's total constant positional forces applied during each physics update.
  1375. See :ref:`body_add_constant_force<class_PhysicsServer3D_method_body_add_constant_force>` and :ref:`body_add_constant_central_force<class_PhysicsServer3D_method_body_add_constant_central_force>`.
  1376. .. rst-class:: classref-item-separator
  1377. ----
  1378. .. _class_PhysicsServer3D_method_body_set_constant_torque:
  1379. .. rst-class:: classref-method
  1380. void **body_set_constant_torque** **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` torque **)**
  1381. Sets the body's total constant rotational forces applied during each physics update.
  1382. See :ref:`body_add_constant_torque<class_PhysicsServer3D_method_body_add_constant_torque>`.
  1383. .. rst-class:: classref-item-separator
  1384. ----
  1385. .. _class_PhysicsServer3D_method_body_set_enable_continuous_collision_detection:
  1386. .. rst-class:: classref-method
  1387. void **body_set_enable_continuous_collision_detection** **(** :ref:`RID<class_RID>` body, :ref:`bool<class_bool>` enable **)**
  1388. If ``true``, the continuous collision detection mode is enabled.
  1389. Continuous collision detection tries to predict where a moving body will collide, instead of moving it and correcting its movement if it collided.
  1390. .. rst-class:: classref-item-separator
  1391. ----
  1392. .. _class_PhysicsServer3D_method_body_set_force_integration_callback:
  1393. .. rst-class:: classref-method
  1394. void **body_set_force_integration_callback** **(** :ref:`RID<class_RID>` body, :ref:`Callable<class_Callable>` callable, :ref:`Variant<class_Variant>` userdata=null **)**
  1395. Sets the function used to calculate physics for an object, if that object allows it (see :ref:`body_set_omit_force_integration<class_PhysicsServer3D_method_body_set_omit_force_integration>`).
  1396. The force integration function takes 2 arguments:
  1397. \ ``state:`` :ref:`PhysicsDirectBodyState3D<class_PhysicsDirectBodyState3D>` used to retrieve and modify the body's state.
  1398. \ ``userdata:`` Optional user data, if it was passed when calling ``body_set_force_integration_callback``.
  1399. .. rst-class:: classref-item-separator
  1400. ----
  1401. .. _class_PhysicsServer3D_method_body_set_max_contacts_reported:
  1402. .. rst-class:: classref-method
  1403. void **body_set_max_contacts_reported** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` amount **)**
  1404. Sets the maximum contacts to report. Bodies can keep a log of the contacts with other bodies. This is enabled by setting the maximum number of contacts reported to a number greater than 0.
  1405. .. rst-class:: classref-item-separator
  1406. ----
  1407. .. _class_PhysicsServer3D_method_body_set_mode:
  1408. .. rst-class:: classref-method
  1409. void **body_set_mode** **(** :ref:`RID<class_RID>` body, :ref:`BodyMode<enum_PhysicsServer3D_BodyMode>` mode **)**
  1410. Sets the body mode, from one of the :ref:`BodyMode<enum_PhysicsServer3D_BodyMode>` constants.
  1411. .. rst-class:: classref-item-separator
  1412. ----
  1413. .. _class_PhysicsServer3D_method_body_set_omit_force_integration:
  1414. .. rst-class:: classref-method
  1415. void **body_set_omit_force_integration** **(** :ref:`RID<class_RID>` body, :ref:`bool<class_bool>` enable **)**
  1416. Sets whether a body uses a callback function to calculate its own physics (see :ref:`body_set_force_integration_callback<class_PhysicsServer3D_method_body_set_force_integration_callback>`).
  1417. .. rst-class:: classref-item-separator
  1418. ----
  1419. .. _class_PhysicsServer3D_method_body_set_param:
  1420. .. rst-class:: classref-method
  1421. void **body_set_param** **(** :ref:`RID<class_RID>` body, :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` param, :ref:`Variant<class_Variant>` value **)**
  1422. Sets a body parameter. A list of available parameters is on the :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` constants.
  1423. .. rst-class:: classref-item-separator
  1424. ----
  1425. .. _class_PhysicsServer3D_method_body_set_ray_pickable:
  1426. .. rst-class:: classref-method
  1427. void **body_set_ray_pickable** **(** :ref:`RID<class_RID>` body, :ref:`bool<class_bool>` enable **)**
  1428. Sets the body pickable with rays if ``enable`` is set.
  1429. .. rst-class:: classref-item-separator
  1430. ----
  1431. .. _class_PhysicsServer3D_method_body_set_shape:
  1432. .. rst-class:: classref-method
  1433. void **body_set_shape** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`RID<class_RID>` shape **)**
  1434. Substitutes a given body shape by another. The old shape is selected by its index, the new one by its :ref:`RID<class_RID>`.
  1435. .. rst-class:: classref-item-separator
  1436. ----
  1437. .. _class_PhysicsServer3D_method_body_set_shape_disabled:
  1438. .. rst-class:: classref-method
  1439. void **body_set_shape_disabled** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` disabled **)**
  1440. .. container:: contribute
  1441. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1442. .. rst-class:: classref-item-separator
  1443. ----
  1444. .. _class_PhysicsServer3D_method_body_set_shape_transform:
  1445. .. rst-class:: classref-method
  1446. void **body_set_shape_transform** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`Transform3D<class_Transform3D>` transform **)**
  1447. Sets the transform matrix for a body shape.
  1448. .. rst-class:: classref-item-separator
  1449. ----
  1450. .. _class_PhysicsServer3D_method_body_set_space:
  1451. .. rst-class:: classref-method
  1452. void **body_set_space** **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` space **)**
  1453. Assigns a space to the body (see :ref:`space_create<class_PhysicsServer3D_method_space_create>`).
  1454. .. rst-class:: classref-item-separator
  1455. ----
  1456. .. _class_PhysicsServer3D_method_body_set_state:
  1457. .. rst-class:: classref-method
  1458. void **body_set_state** **(** :ref:`RID<class_RID>` body, :ref:`BodyState<enum_PhysicsServer3D_BodyState>` state, :ref:`Variant<class_Variant>` value **)**
  1459. Sets a body state (see :ref:`BodyState<enum_PhysicsServer3D_BodyState>` constants).
  1460. .. rst-class:: classref-item-separator
  1461. ----
  1462. .. _class_PhysicsServer3D_method_body_test_motion:
  1463. .. rst-class:: classref-method
  1464. :ref:`bool<class_bool>` **body_test_motion** **(** :ref:`RID<class_RID>` body, :ref:`PhysicsTestMotionParameters3D<class_PhysicsTestMotionParameters3D>` parameters, :ref:`PhysicsTestMotionResult3D<class_PhysicsTestMotionResult3D>` result=null **)**
  1465. Returns ``true`` if a collision would result from moving along a motion vector from a given point in space. :ref:`PhysicsTestMotionParameters3D<class_PhysicsTestMotionParameters3D>` is passed to set motion parameters. :ref:`PhysicsTestMotionResult3D<class_PhysicsTestMotionResult3D>` can be passed to return additional information.
  1466. .. rst-class:: classref-item-separator
  1467. ----
  1468. .. _class_PhysicsServer3D_method_box_shape_create:
  1469. .. rst-class:: classref-method
  1470. :ref:`RID<class_RID>` **box_shape_create** **(** **)**
  1471. .. container:: contribute
  1472. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1473. .. rst-class:: classref-item-separator
  1474. ----
  1475. .. _class_PhysicsServer3D_method_capsule_shape_create:
  1476. .. rst-class:: classref-method
  1477. :ref:`RID<class_RID>` **capsule_shape_create** **(** **)**
  1478. .. container:: contribute
  1479. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1480. .. rst-class:: classref-item-separator
  1481. ----
  1482. .. _class_PhysicsServer3D_method_concave_polygon_shape_create:
  1483. .. rst-class:: classref-method
  1484. :ref:`RID<class_RID>` **concave_polygon_shape_create** **(** **)**
  1485. .. container:: contribute
  1486. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1487. .. rst-class:: classref-item-separator
  1488. ----
  1489. .. _class_PhysicsServer3D_method_cone_twist_joint_get_param:
  1490. .. rst-class:: classref-method
  1491. :ref:`float<class_float>` **cone_twist_joint_get_param** **(** :ref:`RID<class_RID>` joint, :ref:`ConeTwistJointParam<enum_PhysicsServer3D_ConeTwistJointParam>` param **)** |const|
  1492. Gets a cone_twist_joint parameter (see :ref:`ConeTwistJointParam<enum_PhysicsServer3D_ConeTwistJointParam>` constants).
  1493. .. rst-class:: classref-item-separator
  1494. ----
  1495. .. _class_PhysicsServer3D_method_cone_twist_joint_set_param:
  1496. .. rst-class:: classref-method
  1497. void **cone_twist_joint_set_param** **(** :ref:`RID<class_RID>` joint, :ref:`ConeTwistJointParam<enum_PhysicsServer3D_ConeTwistJointParam>` param, :ref:`float<class_float>` value **)**
  1498. Sets a cone_twist_joint parameter (see :ref:`ConeTwistJointParam<enum_PhysicsServer3D_ConeTwistJointParam>` constants).
  1499. .. rst-class:: classref-item-separator
  1500. ----
  1501. .. _class_PhysicsServer3D_method_convex_polygon_shape_create:
  1502. .. rst-class:: classref-method
  1503. :ref:`RID<class_RID>` **convex_polygon_shape_create** **(** **)**
  1504. .. container:: contribute
  1505. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1506. .. rst-class:: classref-item-separator
  1507. ----
  1508. .. _class_PhysicsServer3D_method_custom_shape_create:
  1509. .. rst-class:: classref-method
  1510. :ref:`RID<class_RID>` **custom_shape_create** **(** **)**
  1511. .. container:: contribute
  1512. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1513. .. rst-class:: classref-item-separator
  1514. ----
  1515. .. _class_PhysicsServer3D_method_cylinder_shape_create:
  1516. .. rst-class:: classref-method
  1517. :ref:`RID<class_RID>` **cylinder_shape_create** **(** **)**
  1518. .. container:: contribute
  1519. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1520. .. rst-class:: classref-item-separator
  1521. ----
  1522. .. _class_PhysicsServer3D_method_free_rid:
  1523. .. rst-class:: classref-method
  1524. void **free_rid** **(** :ref:`RID<class_RID>` rid **)**
  1525. Destroys any of the objects created by PhysicsServer3D. If the :ref:`RID<class_RID>` passed is not one of the objects that can be created by PhysicsServer3D, an error will be sent to the console.
  1526. .. rst-class:: classref-item-separator
  1527. ----
  1528. .. _class_PhysicsServer3D_method_generic_6dof_joint_get_flag:
  1529. .. rst-class:: classref-method
  1530. :ref:`bool<class_bool>` **generic_6dof_joint_get_flag** **(** :ref:`RID<class_RID>` joint, Vector3.Axis axis, :ref:`G6DOFJointAxisFlag<enum_PhysicsServer3D_G6DOFJointAxisFlag>` flag **)** |const|
  1531. Gets a generic_6_DOF_joint flag (see :ref:`G6DOFJointAxisFlag<enum_PhysicsServer3D_G6DOFJointAxisFlag>` constants).
  1532. .. rst-class:: classref-item-separator
  1533. ----
  1534. .. _class_PhysicsServer3D_method_generic_6dof_joint_get_param:
  1535. .. rst-class:: classref-method
  1536. :ref:`float<class_float>` **generic_6dof_joint_get_param** **(** :ref:`RID<class_RID>` joint, Vector3.Axis axis, :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` param **)** |const|
  1537. Gets a generic_6_DOF_joint parameter (see :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` constants).
  1538. .. rst-class:: classref-item-separator
  1539. ----
  1540. .. _class_PhysicsServer3D_method_generic_6dof_joint_set_flag:
  1541. .. rst-class:: classref-method
  1542. void **generic_6dof_joint_set_flag** **(** :ref:`RID<class_RID>` joint, Vector3.Axis axis, :ref:`G6DOFJointAxisFlag<enum_PhysicsServer3D_G6DOFJointAxisFlag>` flag, :ref:`bool<class_bool>` enable **)**
  1543. Sets a generic_6_DOF_joint flag (see :ref:`G6DOFJointAxisFlag<enum_PhysicsServer3D_G6DOFJointAxisFlag>` constants).
  1544. .. rst-class:: classref-item-separator
  1545. ----
  1546. .. _class_PhysicsServer3D_method_generic_6dof_joint_set_param:
  1547. .. rst-class:: classref-method
  1548. void **generic_6dof_joint_set_param** **(** :ref:`RID<class_RID>` joint, Vector3.Axis axis, :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` param, :ref:`float<class_float>` value **)**
  1549. Sets a generic_6_DOF_joint parameter (see :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` constants).
  1550. .. rst-class:: classref-item-separator
  1551. ----
  1552. .. _class_PhysicsServer3D_method_get_process_info:
  1553. .. rst-class:: classref-method
  1554. :ref:`int<class_int>` **get_process_info** **(** :ref:`ProcessInfo<enum_PhysicsServer3D_ProcessInfo>` process_info **)**
  1555. Returns information about the current state of the 3D physics engine. See :ref:`ProcessInfo<enum_PhysicsServer3D_ProcessInfo>` for a list of available states.
  1556. .. rst-class:: classref-item-separator
  1557. ----
  1558. .. _class_PhysicsServer3D_method_heightmap_shape_create:
  1559. .. rst-class:: classref-method
  1560. :ref:`RID<class_RID>` **heightmap_shape_create** **(** **)**
  1561. .. container:: contribute
  1562. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1563. .. rst-class:: classref-item-separator
  1564. ----
  1565. .. _class_PhysicsServer3D_method_hinge_joint_get_flag:
  1566. .. rst-class:: classref-method
  1567. :ref:`bool<class_bool>` **hinge_joint_get_flag** **(** :ref:`RID<class_RID>` joint, :ref:`HingeJointFlag<enum_PhysicsServer3D_HingeJointFlag>` flag **)** |const|
  1568. Gets a hinge_joint flag (see :ref:`HingeJointFlag<enum_PhysicsServer3D_HingeJointFlag>` constants).
  1569. .. rst-class:: classref-item-separator
  1570. ----
  1571. .. _class_PhysicsServer3D_method_hinge_joint_get_param:
  1572. .. rst-class:: classref-method
  1573. :ref:`float<class_float>` **hinge_joint_get_param** **(** :ref:`RID<class_RID>` joint, :ref:`HingeJointParam<enum_PhysicsServer3D_HingeJointParam>` param **)** |const|
  1574. Gets a hinge_joint parameter (see :ref:`HingeJointParam<enum_PhysicsServer3D_HingeJointParam>`).
  1575. .. rst-class:: classref-item-separator
  1576. ----
  1577. .. _class_PhysicsServer3D_method_hinge_joint_set_flag:
  1578. .. rst-class:: classref-method
  1579. void **hinge_joint_set_flag** **(** :ref:`RID<class_RID>` joint, :ref:`HingeJointFlag<enum_PhysicsServer3D_HingeJointFlag>` flag, :ref:`bool<class_bool>` enabled **)**
  1580. Sets a hinge_joint flag (see :ref:`HingeJointFlag<enum_PhysicsServer3D_HingeJointFlag>` constants).
  1581. .. rst-class:: classref-item-separator
  1582. ----
  1583. .. _class_PhysicsServer3D_method_hinge_joint_set_param:
  1584. .. rst-class:: classref-method
  1585. void **hinge_joint_set_param** **(** :ref:`RID<class_RID>` joint, :ref:`HingeJointParam<enum_PhysicsServer3D_HingeJointParam>` param, :ref:`float<class_float>` value **)**
  1586. Sets a hinge_joint parameter (see :ref:`HingeJointParam<enum_PhysicsServer3D_HingeJointParam>` constants).
  1587. .. rst-class:: classref-item-separator
  1588. ----
  1589. .. _class_PhysicsServer3D_method_joint_clear:
  1590. .. rst-class:: classref-method
  1591. void **joint_clear** **(** :ref:`RID<class_RID>` joint **)**
  1592. .. container:: contribute
  1593. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1594. .. rst-class:: classref-item-separator
  1595. ----
  1596. .. _class_PhysicsServer3D_method_joint_create:
  1597. .. rst-class:: classref-method
  1598. :ref:`RID<class_RID>` **joint_create** **(** **)**
  1599. .. container:: contribute
  1600. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1601. .. rst-class:: classref-item-separator
  1602. ----
  1603. .. _class_PhysicsServer3D_method_joint_disable_collisions_between_bodies:
  1604. .. rst-class:: classref-method
  1605. void **joint_disable_collisions_between_bodies** **(** :ref:`RID<class_RID>` joint, :ref:`bool<class_bool>` disable **)**
  1606. Sets whether the bodies attached to the :ref:`Joint3D<class_Joint3D>` will collide with each other.
  1607. .. rst-class:: classref-item-separator
  1608. ----
  1609. .. _class_PhysicsServer3D_method_joint_get_solver_priority:
  1610. .. rst-class:: classref-method
  1611. :ref:`int<class_int>` **joint_get_solver_priority** **(** :ref:`RID<class_RID>` joint **)** |const|
  1612. Gets the priority value of the Joint3D.
  1613. .. rst-class:: classref-item-separator
  1614. ----
  1615. .. _class_PhysicsServer3D_method_joint_get_type:
  1616. .. rst-class:: classref-method
  1617. :ref:`JointType<enum_PhysicsServer3D_JointType>` **joint_get_type** **(** :ref:`RID<class_RID>` joint **)** |const|
  1618. Returns the type of the Joint3D.
  1619. .. rst-class:: classref-item-separator
  1620. ----
  1621. .. _class_PhysicsServer3D_method_joint_is_disabled_collisions_between_bodies:
  1622. .. rst-class:: classref-method
  1623. :ref:`bool<class_bool>` **joint_is_disabled_collisions_between_bodies** **(** :ref:`RID<class_RID>` joint **)** |const|
  1624. Returns whether the bodies attached to the :ref:`Joint3D<class_Joint3D>` will collide with each other.
  1625. .. rst-class:: classref-item-separator
  1626. ----
  1627. .. _class_PhysicsServer3D_method_joint_make_cone_twist:
  1628. .. rst-class:: classref-method
  1629. void **joint_make_cone_twist** **(** :ref:`RID<class_RID>` joint, :ref:`RID<class_RID>` body_A, :ref:`Transform3D<class_Transform3D>` local_ref_A, :ref:`RID<class_RID>` body_B, :ref:`Transform3D<class_Transform3D>` local_ref_B **)**
  1630. .. container:: contribute
  1631. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1632. .. rst-class:: classref-item-separator
  1633. ----
  1634. .. _class_PhysicsServer3D_method_joint_make_generic_6dof:
  1635. .. rst-class:: classref-method
  1636. void **joint_make_generic_6dof** **(** :ref:`RID<class_RID>` joint, :ref:`RID<class_RID>` body_A, :ref:`Transform3D<class_Transform3D>` local_ref_A, :ref:`RID<class_RID>` body_B, :ref:`Transform3D<class_Transform3D>` local_ref_B **)**
  1637. .. container:: contribute
  1638. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1639. .. rst-class:: classref-item-separator
  1640. ----
  1641. .. _class_PhysicsServer3D_method_joint_make_hinge:
  1642. .. rst-class:: classref-method
  1643. void **joint_make_hinge** **(** :ref:`RID<class_RID>` joint, :ref:`RID<class_RID>` body_A, :ref:`Transform3D<class_Transform3D>` hinge_A, :ref:`RID<class_RID>` body_B, :ref:`Transform3D<class_Transform3D>` hinge_B **)**
  1644. .. container:: contribute
  1645. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1646. .. rst-class:: classref-item-separator
  1647. ----
  1648. .. _class_PhysicsServer3D_method_joint_make_pin:
  1649. .. rst-class:: classref-method
  1650. void **joint_make_pin** **(** :ref:`RID<class_RID>` joint, :ref:`RID<class_RID>` body_A, :ref:`Vector3<class_Vector3>` local_A, :ref:`RID<class_RID>` body_B, :ref:`Vector3<class_Vector3>` local_B **)**
  1651. .. container:: contribute
  1652. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1653. .. rst-class:: classref-item-separator
  1654. ----
  1655. .. _class_PhysicsServer3D_method_joint_make_slider:
  1656. .. rst-class:: classref-method
  1657. void **joint_make_slider** **(** :ref:`RID<class_RID>` joint, :ref:`RID<class_RID>` body_A, :ref:`Transform3D<class_Transform3D>` local_ref_A, :ref:`RID<class_RID>` body_B, :ref:`Transform3D<class_Transform3D>` local_ref_B **)**
  1658. .. container:: contribute
  1659. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1660. .. rst-class:: classref-item-separator
  1661. ----
  1662. .. _class_PhysicsServer3D_method_joint_set_solver_priority:
  1663. .. rst-class:: classref-method
  1664. void **joint_set_solver_priority** **(** :ref:`RID<class_RID>` joint, :ref:`int<class_int>` priority **)**
  1665. Sets the priority value of the Joint3D.
  1666. .. rst-class:: classref-item-separator
  1667. ----
  1668. .. _class_PhysicsServer3D_method_pin_joint_get_local_a:
  1669. .. rst-class:: classref-method
  1670. :ref:`Vector3<class_Vector3>` **pin_joint_get_local_a** **(** :ref:`RID<class_RID>` joint **)** |const|
  1671. Returns position of the joint in the local space of body a of the joint.
  1672. .. rst-class:: classref-item-separator
  1673. ----
  1674. .. _class_PhysicsServer3D_method_pin_joint_get_local_b:
  1675. .. rst-class:: classref-method
  1676. :ref:`Vector3<class_Vector3>` **pin_joint_get_local_b** **(** :ref:`RID<class_RID>` joint **)** |const|
  1677. Returns position of the joint in the local space of body b of the joint.
  1678. .. rst-class:: classref-item-separator
  1679. ----
  1680. .. _class_PhysicsServer3D_method_pin_joint_get_param:
  1681. .. rst-class:: classref-method
  1682. :ref:`float<class_float>` **pin_joint_get_param** **(** :ref:`RID<class_RID>` joint, :ref:`PinJointParam<enum_PhysicsServer3D_PinJointParam>` param **)** |const|
  1683. Gets a pin_joint parameter (see :ref:`PinJointParam<enum_PhysicsServer3D_PinJointParam>` constants).
  1684. .. rst-class:: classref-item-separator
  1685. ----
  1686. .. _class_PhysicsServer3D_method_pin_joint_set_local_a:
  1687. .. rst-class:: classref-method
  1688. void **pin_joint_set_local_a** **(** :ref:`RID<class_RID>` joint, :ref:`Vector3<class_Vector3>` local_A **)**
  1689. Sets position of the joint in the local space of body a of the joint.
  1690. .. rst-class:: classref-item-separator
  1691. ----
  1692. .. _class_PhysicsServer3D_method_pin_joint_set_local_b:
  1693. .. rst-class:: classref-method
  1694. void **pin_joint_set_local_b** **(** :ref:`RID<class_RID>` joint, :ref:`Vector3<class_Vector3>` local_B **)**
  1695. Sets position of the joint in the local space of body b of the joint.
  1696. .. rst-class:: classref-item-separator
  1697. ----
  1698. .. _class_PhysicsServer3D_method_pin_joint_set_param:
  1699. .. rst-class:: classref-method
  1700. void **pin_joint_set_param** **(** :ref:`RID<class_RID>` joint, :ref:`PinJointParam<enum_PhysicsServer3D_PinJointParam>` param, :ref:`float<class_float>` value **)**
  1701. Sets a pin_joint parameter (see :ref:`PinJointParam<enum_PhysicsServer3D_PinJointParam>` constants).
  1702. .. rst-class:: classref-item-separator
  1703. ----
  1704. .. _class_PhysicsServer3D_method_separation_ray_shape_create:
  1705. .. rst-class:: classref-method
  1706. :ref:`RID<class_RID>` **separation_ray_shape_create** **(** **)**
  1707. .. container:: contribute
  1708. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1709. .. rst-class:: classref-item-separator
  1710. ----
  1711. .. _class_PhysicsServer3D_method_set_active:
  1712. .. rst-class:: classref-method
  1713. void **set_active** **(** :ref:`bool<class_bool>` active **)**
  1714. Activates or deactivates the 3D physics engine.
  1715. .. rst-class:: classref-item-separator
  1716. ----
  1717. .. _class_PhysicsServer3D_method_shape_get_data:
  1718. .. rst-class:: classref-method
  1719. :ref:`Variant<class_Variant>` **shape_get_data** **(** :ref:`RID<class_RID>` shape **)** |const|
  1720. Returns the shape data.
  1721. .. rst-class:: classref-item-separator
  1722. ----
  1723. .. _class_PhysicsServer3D_method_shape_get_type:
  1724. .. rst-class:: classref-method
  1725. :ref:`ShapeType<enum_PhysicsServer3D_ShapeType>` **shape_get_type** **(** :ref:`RID<class_RID>` shape **)** |const|
  1726. Returns the type of shape (see :ref:`ShapeType<enum_PhysicsServer3D_ShapeType>` constants).
  1727. .. rst-class:: classref-item-separator
  1728. ----
  1729. .. _class_PhysicsServer3D_method_shape_set_data:
  1730. .. rst-class:: classref-method
  1731. void **shape_set_data** **(** :ref:`RID<class_RID>` shape, :ref:`Variant<class_Variant>` data **)**
  1732. Sets the shape data that defines its shape and size. The data to be passed depends on the kind of shape created :ref:`shape_get_type<class_PhysicsServer3D_method_shape_get_type>`.
  1733. .. rst-class:: classref-item-separator
  1734. ----
  1735. .. _class_PhysicsServer3D_method_slider_joint_get_param:
  1736. .. rst-class:: classref-method
  1737. :ref:`float<class_float>` **slider_joint_get_param** **(** :ref:`RID<class_RID>` joint, :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` param **)** |const|
  1738. Gets a slider_joint parameter (see :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` constants).
  1739. .. rst-class:: classref-item-separator
  1740. ----
  1741. .. _class_PhysicsServer3D_method_slider_joint_set_param:
  1742. .. rst-class:: classref-method
  1743. void **slider_joint_set_param** **(** :ref:`RID<class_RID>` joint, :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` param, :ref:`float<class_float>` value **)**
  1744. Gets a slider_joint parameter (see :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` constants).
  1745. .. rst-class:: classref-item-separator
  1746. ----
  1747. .. _class_PhysicsServer3D_method_soft_body_get_bounds:
  1748. .. rst-class:: classref-method
  1749. :ref:`AABB<class_AABB>` **soft_body_get_bounds** **(** :ref:`RID<class_RID>` body **)** |const|
  1750. .. container:: contribute
  1751. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1752. .. rst-class:: classref-item-separator
  1753. ----
  1754. .. _class_PhysicsServer3D_method_space_create:
  1755. .. rst-class:: classref-method
  1756. :ref:`RID<class_RID>` **space_create** **(** **)**
  1757. Creates a space. A space is a collection of parameters for the physics engine that can be assigned to an area or a body. It can be assigned to an area with :ref:`area_set_space<class_PhysicsServer3D_method_area_set_space>`, or to a body with :ref:`body_set_space<class_PhysicsServer3D_method_body_set_space>`.
  1758. .. rst-class:: classref-item-separator
  1759. ----
  1760. .. _class_PhysicsServer3D_method_space_get_direct_state:
  1761. .. rst-class:: classref-method
  1762. :ref:`PhysicsDirectSpaceState3D<class_PhysicsDirectSpaceState3D>` **space_get_direct_state** **(** :ref:`RID<class_RID>` space **)**
  1763. Returns the state of a space, a :ref:`PhysicsDirectSpaceState3D<class_PhysicsDirectSpaceState3D>`. This object can be used to make collision/intersection queries.
  1764. .. rst-class:: classref-item-separator
  1765. ----
  1766. .. _class_PhysicsServer3D_method_space_get_param:
  1767. .. rst-class:: classref-method
  1768. :ref:`float<class_float>` **space_get_param** **(** :ref:`RID<class_RID>` space, :ref:`SpaceParameter<enum_PhysicsServer3D_SpaceParameter>` param **)** |const|
  1769. Returns the value of a space parameter.
  1770. .. rst-class:: classref-item-separator
  1771. ----
  1772. .. _class_PhysicsServer3D_method_space_is_active:
  1773. .. rst-class:: classref-method
  1774. :ref:`bool<class_bool>` **space_is_active** **(** :ref:`RID<class_RID>` space **)** |const|
  1775. Returns whether the space is active.
  1776. .. rst-class:: classref-item-separator
  1777. ----
  1778. .. _class_PhysicsServer3D_method_space_set_active:
  1779. .. rst-class:: classref-method
  1780. void **space_set_active** **(** :ref:`RID<class_RID>` space, :ref:`bool<class_bool>` active **)**
  1781. Marks a space as active. It will not have an effect, unless it is assigned to an area or body.
  1782. .. rst-class:: classref-item-separator
  1783. ----
  1784. .. _class_PhysicsServer3D_method_space_set_param:
  1785. .. rst-class:: classref-method
  1786. void **space_set_param** **(** :ref:`RID<class_RID>` space, :ref:`SpaceParameter<enum_PhysicsServer3D_SpaceParameter>` param, :ref:`float<class_float>` value **)**
  1787. Sets the value for a space parameter. A list of available parameters is on the :ref:`SpaceParameter<enum_PhysicsServer3D_SpaceParameter>` constants.
  1788. .. rst-class:: classref-item-separator
  1789. ----
  1790. .. _class_PhysicsServer3D_method_sphere_shape_create:
  1791. .. rst-class:: classref-method
  1792. :ref:`RID<class_RID>` **sphere_shape_create** **(** **)**
  1793. .. container:: contribute
  1794. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1795. .. rst-class:: classref-item-separator
  1796. ----
  1797. .. _class_PhysicsServer3D_method_world_boundary_shape_create:
  1798. .. rst-class:: classref-method
  1799. :ref:`RID<class_RID>` **world_boundary_shape_create** **(** **)**
  1800. .. container:: contribute
  1801. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1802. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  1803. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  1804. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  1805. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  1806. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  1807. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`