class_physicsserver3d.rst 191 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339
  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/master/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/master/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 dampening 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_DISTANCE_SCALE:
  678. .. rst-class:: classref-enumeration-constant
  679. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_GRAVITY_DISTANCE_SCALE** = ``4``
  680. Constant to set/get the falloff factor for point gravity of an area. The greater this value is, the faster the strength of gravity decreases with the square of distance.
  681. .. _class_PhysicsServer3D_constant_AREA_PARAM_GRAVITY_POINT_ATTENUATION:
  682. .. rst-class:: classref-enumeration-constant
  683. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_GRAVITY_POINT_ATTENUATION** = ``5``
  684. This constant was used to set/get the falloff factor for point gravity. It has been superseded by :ref:`AREA_PARAM_GRAVITY_DISTANCE_SCALE<class_PhysicsServer3D_constant_AREA_PARAM_GRAVITY_DISTANCE_SCALE>`.
  685. .. _class_PhysicsServer3D_constant_AREA_PARAM_LINEAR_DAMP_OVERRIDE_MODE:
  686. .. rst-class:: classref-enumeration-constant
  687. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_LINEAR_DAMP_OVERRIDE_MODE** = ``6``
  688. Constant to set/get linear damping override mode in an area. See :ref:`AreaSpaceOverrideMode<enum_PhysicsServer3D_AreaSpaceOverrideMode>` for possible values.
  689. .. _class_PhysicsServer3D_constant_AREA_PARAM_LINEAR_DAMP:
  690. .. rst-class:: classref-enumeration-constant
  691. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_LINEAR_DAMP** = ``7``
  692. Constant to set/get the linear damping factor of an area.
  693. .. _class_PhysicsServer3D_constant_AREA_PARAM_ANGULAR_DAMP_OVERRIDE_MODE:
  694. .. rst-class:: classref-enumeration-constant
  695. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_ANGULAR_DAMP_OVERRIDE_MODE** = ``8``
  696. Constant to set/get angular damping override mode in an area. See :ref:`AreaSpaceOverrideMode<enum_PhysicsServer3D_AreaSpaceOverrideMode>` for possible values.
  697. .. _class_PhysicsServer3D_constant_AREA_PARAM_ANGULAR_DAMP:
  698. .. rst-class:: classref-enumeration-constant
  699. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_ANGULAR_DAMP** = ``9``
  700. Constant to set/get the angular damping factor of an area.
  701. .. _class_PhysicsServer3D_constant_AREA_PARAM_PRIORITY:
  702. .. rst-class:: classref-enumeration-constant
  703. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_PRIORITY** = ``10``
  704. Constant to set/get the priority (order of processing) of an area.
  705. .. _class_PhysicsServer3D_constant_AREA_PARAM_WIND_FORCE_MAGNITUDE:
  706. .. rst-class:: classref-enumeration-constant
  707. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_WIND_FORCE_MAGNITUDE** = ``11``
  708. Constant to set/get the magnitude of area-specific wind force.
  709. .. _class_PhysicsServer3D_constant_AREA_PARAM_WIND_SOURCE:
  710. .. rst-class:: classref-enumeration-constant
  711. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_WIND_SOURCE** = ``12``
  712. Constant to set/get the 3D vector that specifies the origin from which an area-specific wind blows.
  713. .. _class_PhysicsServer3D_constant_AREA_PARAM_WIND_DIRECTION:
  714. .. rst-class:: classref-enumeration-constant
  715. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_WIND_DIRECTION** = ``13``
  716. Constant to set/get the 3D vector that specifies the direction in which an area-specific wind blows.
  717. .. _class_PhysicsServer3D_constant_AREA_PARAM_WIND_ATTENUATION_FACTOR:
  718. .. rst-class:: classref-enumeration-constant
  719. :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` **AREA_PARAM_WIND_ATTENUATION_FACTOR** = ``14``
  720. Constant to set/get the exponential rate at which wind force decreases with distance from its origin.
  721. .. rst-class:: classref-item-separator
  722. ----
  723. .. _enum_PhysicsServer3D_AreaSpaceOverrideMode:
  724. .. rst-class:: classref-enumeration
  725. enum **AreaSpaceOverrideMode**:
  726. .. _class_PhysicsServer3D_constant_AREA_SPACE_OVERRIDE_DISABLED:
  727. .. rst-class:: classref-enumeration-constant
  728. :ref:`AreaSpaceOverrideMode<enum_PhysicsServer3D_AreaSpaceOverrideMode>` **AREA_SPACE_OVERRIDE_DISABLED** = ``0``
  729. This area does not affect gravity/damp. These are generally areas that exist only to detect collisions, and objects entering or exiting them.
  730. .. _class_PhysicsServer3D_constant_AREA_SPACE_OVERRIDE_COMBINE:
  731. .. rst-class:: classref-enumeration-constant
  732. :ref:`AreaSpaceOverrideMode<enum_PhysicsServer3D_AreaSpaceOverrideMode>` **AREA_SPACE_OVERRIDE_COMBINE** = ``1``
  733. 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.
  734. .. _class_PhysicsServer3D_constant_AREA_SPACE_OVERRIDE_COMBINE_REPLACE:
  735. .. rst-class:: classref-enumeration-constant
  736. :ref:`AreaSpaceOverrideMode<enum_PhysicsServer3D_AreaSpaceOverrideMode>` **AREA_SPACE_OVERRIDE_COMBINE_REPLACE** = ``2``
  737. 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.
  738. .. _class_PhysicsServer3D_constant_AREA_SPACE_OVERRIDE_REPLACE:
  739. .. rst-class:: classref-enumeration-constant
  740. :ref:`AreaSpaceOverrideMode<enum_PhysicsServer3D_AreaSpaceOverrideMode>` **AREA_SPACE_OVERRIDE_REPLACE** = ``3``
  741. This area replaces any gravity/damp, even the default one, and stops taking into account the rest of the areas.
  742. .. _class_PhysicsServer3D_constant_AREA_SPACE_OVERRIDE_REPLACE_COMBINE:
  743. .. rst-class:: classref-enumeration-constant
  744. :ref:`AreaSpaceOverrideMode<enum_PhysicsServer3D_AreaSpaceOverrideMode>` **AREA_SPACE_OVERRIDE_REPLACE_COMBINE** = ``4``
  745. This area replaces any gravity/damp calculated so far, but keeps calculating the rest of the areas, down to the default one.
  746. .. rst-class:: classref-item-separator
  747. ----
  748. .. _enum_PhysicsServer3D_BodyMode:
  749. .. rst-class:: classref-enumeration
  750. enum **BodyMode**:
  751. .. _class_PhysicsServer3D_constant_BODY_MODE_STATIC:
  752. .. rst-class:: classref-enumeration-constant
  753. :ref:`BodyMode<enum_PhysicsServer3D_BodyMode>` **BODY_MODE_STATIC** = ``0``
  754. 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.
  755. .. _class_PhysicsServer3D_constant_BODY_MODE_KINEMATIC:
  756. .. rst-class:: classref-enumeration-constant
  757. :ref:`BodyMode<enum_PhysicsServer3D_BodyMode>` **BODY_MODE_KINEMATIC** = ``1``
  758. Constant for kinematic bodies. In this mode, a body can be only moved by user code and collides with other bodies along its path.
  759. .. _class_PhysicsServer3D_constant_BODY_MODE_RIGID:
  760. .. rst-class:: classref-enumeration-constant
  761. :ref:`BodyMode<enum_PhysicsServer3D_BodyMode>` **BODY_MODE_RIGID** = ``2``
  762. Constant for rigid bodies. In this mode, a body can be pushed by other bodies and has forces applied.
  763. .. _class_PhysicsServer3D_constant_BODY_MODE_RIGID_LINEAR:
  764. .. rst-class:: classref-enumeration-constant
  765. :ref:`BodyMode<enum_PhysicsServer3D_BodyMode>` **BODY_MODE_RIGID_LINEAR** = ``3``
  766. Constant for linear rigid bodies. In this mode, a body can not rotate, and only its linear velocity is affected by external forces.
  767. .. rst-class:: classref-item-separator
  768. ----
  769. .. _enum_PhysicsServer3D_BodyParameter:
  770. .. rst-class:: classref-enumeration
  771. enum **BodyParameter**:
  772. .. _class_PhysicsServer3D_constant_BODY_PARAM_BOUNCE:
  773. .. rst-class:: classref-enumeration-constant
  774. :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` **BODY_PARAM_BOUNCE** = ``0``
  775. Constant to set/get a body's bounce factor.
  776. .. _class_PhysicsServer3D_constant_BODY_PARAM_FRICTION:
  777. .. rst-class:: classref-enumeration-constant
  778. :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` **BODY_PARAM_FRICTION** = ``1``
  779. Constant to set/get a body's friction.
  780. .. _class_PhysicsServer3D_constant_BODY_PARAM_MASS:
  781. .. rst-class:: classref-enumeration-constant
  782. :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` **BODY_PARAM_MASS** = ``2``
  783. Constant to set/get a body's mass.
  784. .. _class_PhysicsServer3D_constant_BODY_PARAM_INERTIA:
  785. .. rst-class:: classref-enumeration-constant
  786. :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` **BODY_PARAM_INERTIA** = ``3``
  787. Constant to set/get a body's inertia.
  788. .. _class_PhysicsServer3D_constant_BODY_PARAM_CENTER_OF_MASS:
  789. .. rst-class:: classref-enumeration-constant
  790. :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` **BODY_PARAM_CENTER_OF_MASS** = ``4``
  791. Constant to set/get a body's center of mass position in the body's local coordinate system.
  792. .. _class_PhysicsServer3D_constant_BODY_PARAM_GRAVITY_SCALE:
  793. .. rst-class:: classref-enumeration-constant
  794. :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` **BODY_PARAM_GRAVITY_SCALE** = ``5``
  795. Constant to set/get a body's gravity multiplier.
  796. .. _class_PhysicsServer3D_constant_BODY_PARAM_LINEAR_DAMP_MODE:
  797. .. rst-class:: classref-enumeration-constant
  798. :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` **BODY_PARAM_LINEAR_DAMP_MODE** = ``6``
  799. Constant to set/get a body's linear dampening mode. See :ref:`BodyDampMode<enum_PhysicsServer3D_BodyDampMode>` for possible values.
  800. .. _class_PhysicsServer3D_constant_BODY_PARAM_ANGULAR_DAMP_MODE:
  801. .. rst-class:: classref-enumeration-constant
  802. :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` **BODY_PARAM_ANGULAR_DAMP_MODE** = ``7``
  803. Constant to set/get a body's angular dampening mode. See :ref:`BodyDampMode<enum_PhysicsServer3D_BodyDampMode>` for possible values.
  804. .. _class_PhysicsServer3D_constant_BODY_PARAM_LINEAR_DAMP:
  805. .. rst-class:: classref-enumeration-constant
  806. :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` **BODY_PARAM_LINEAR_DAMP** = ``8``
  807. Constant to set/get a body's linear dampening factor.
  808. .. _class_PhysicsServer3D_constant_BODY_PARAM_ANGULAR_DAMP:
  809. .. rst-class:: classref-enumeration-constant
  810. :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` **BODY_PARAM_ANGULAR_DAMP** = ``9``
  811. Constant to set/get a body's angular dampening factor.
  812. .. _class_PhysicsServer3D_constant_BODY_PARAM_MAX:
  813. .. rst-class:: classref-enumeration-constant
  814. :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` **BODY_PARAM_MAX** = ``10``
  815. Represents the size of the :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` enum.
  816. .. rst-class:: classref-item-separator
  817. ----
  818. .. _enum_PhysicsServer3D_BodyDampMode:
  819. .. rst-class:: classref-enumeration
  820. enum **BodyDampMode**:
  821. .. _class_PhysicsServer3D_constant_BODY_DAMP_MODE_COMBINE:
  822. .. rst-class:: classref-enumeration-constant
  823. :ref:`BodyDampMode<enum_PhysicsServer3D_BodyDampMode>` **BODY_DAMP_MODE_COMBINE** = ``0``
  824. The body's damping value is added to any value set in areas or the default value.
  825. .. _class_PhysicsServer3D_constant_BODY_DAMP_MODE_REPLACE:
  826. .. rst-class:: classref-enumeration-constant
  827. :ref:`BodyDampMode<enum_PhysicsServer3D_BodyDampMode>` **BODY_DAMP_MODE_REPLACE** = ``1``
  828. The body's damping value replaces any value set in areas or the default value.
  829. .. rst-class:: classref-item-separator
  830. ----
  831. .. _enum_PhysicsServer3D_BodyState:
  832. .. rst-class:: classref-enumeration
  833. enum **BodyState**:
  834. .. _class_PhysicsServer3D_constant_BODY_STATE_TRANSFORM:
  835. .. rst-class:: classref-enumeration-constant
  836. :ref:`BodyState<enum_PhysicsServer3D_BodyState>` **BODY_STATE_TRANSFORM** = ``0``
  837. Constant to set/get the current transform matrix of the body.
  838. .. _class_PhysicsServer3D_constant_BODY_STATE_LINEAR_VELOCITY:
  839. .. rst-class:: classref-enumeration-constant
  840. :ref:`BodyState<enum_PhysicsServer3D_BodyState>` **BODY_STATE_LINEAR_VELOCITY** = ``1``
  841. Constant to set/get the current linear velocity of the body.
  842. .. _class_PhysicsServer3D_constant_BODY_STATE_ANGULAR_VELOCITY:
  843. .. rst-class:: classref-enumeration-constant
  844. :ref:`BodyState<enum_PhysicsServer3D_BodyState>` **BODY_STATE_ANGULAR_VELOCITY** = ``2``
  845. Constant to set/get the current angular velocity of the body.
  846. .. _class_PhysicsServer3D_constant_BODY_STATE_SLEEPING:
  847. .. rst-class:: classref-enumeration-constant
  848. :ref:`BodyState<enum_PhysicsServer3D_BodyState>` **BODY_STATE_SLEEPING** = ``3``
  849. Constant to sleep/wake up a body, or to get whether it is sleeping.
  850. .. _class_PhysicsServer3D_constant_BODY_STATE_CAN_SLEEP:
  851. .. rst-class:: classref-enumeration-constant
  852. :ref:`BodyState<enum_PhysicsServer3D_BodyState>` **BODY_STATE_CAN_SLEEP** = ``4``
  853. Constant to set/get whether the body can sleep.
  854. .. rst-class:: classref-item-separator
  855. ----
  856. .. _enum_PhysicsServer3D_AreaBodyStatus:
  857. .. rst-class:: classref-enumeration
  858. enum **AreaBodyStatus**:
  859. .. _class_PhysicsServer3D_constant_AREA_BODY_ADDED:
  860. .. rst-class:: classref-enumeration-constant
  861. :ref:`AreaBodyStatus<enum_PhysicsServer3D_AreaBodyStatus>` **AREA_BODY_ADDED** = ``0``
  862. The value of the first parameter and area callback function receives, when an object enters one of its shapes.
  863. .. _class_PhysicsServer3D_constant_AREA_BODY_REMOVED:
  864. .. rst-class:: classref-enumeration-constant
  865. :ref:`AreaBodyStatus<enum_PhysicsServer3D_AreaBodyStatus>` **AREA_BODY_REMOVED** = ``1``
  866. The value of the first parameter and area callback function receives, when an object exits one of its shapes.
  867. .. rst-class:: classref-item-separator
  868. ----
  869. .. _enum_PhysicsServer3D_ProcessInfo:
  870. .. rst-class:: classref-enumeration
  871. enum **ProcessInfo**:
  872. .. _class_PhysicsServer3D_constant_INFO_ACTIVE_OBJECTS:
  873. .. rst-class:: classref-enumeration-constant
  874. :ref:`ProcessInfo<enum_PhysicsServer3D_ProcessInfo>` **INFO_ACTIVE_OBJECTS** = ``0``
  875. Constant to get the number of objects that are not sleeping.
  876. .. _class_PhysicsServer3D_constant_INFO_COLLISION_PAIRS:
  877. .. rst-class:: classref-enumeration-constant
  878. :ref:`ProcessInfo<enum_PhysicsServer3D_ProcessInfo>` **INFO_COLLISION_PAIRS** = ``1``
  879. Constant to get the number of possible collisions.
  880. .. _class_PhysicsServer3D_constant_INFO_ISLAND_COUNT:
  881. .. rst-class:: classref-enumeration-constant
  882. :ref:`ProcessInfo<enum_PhysicsServer3D_ProcessInfo>` **INFO_ISLAND_COUNT** = ``2``
  883. Constant to get the number of space regions where a collision could occur.
  884. .. rst-class:: classref-item-separator
  885. ----
  886. .. _enum_PhysicsServer3D_SpaceParameter:
  887. .. rst-class:: classref-enumeration
  888. enum **SpaceParameter**:
  889. .. _class_PhysicsServer3D_constant_SPACE_PARAM_CONTACT_RECYCLE_RADIUS:
  890. .. rst-class:: classref-enumeration-constant
  891. :ref:`SpaceParameter<enum_PhysicsServer3D_SpaceParameter>` **SPACE_PARAM_CONTACT_RECYCLE_RADIUS** = ``0``
  892. Constant to set/get the maximum distance a pair of bodies has to move before their collision status has to be recalculated.
  893. .. _class_PhysicsServer3D_constant_SPACE_PARAM_CONTACT_MAX_SEPARATION:
  894. .. rst-class:: classref-enumeration-constant
  895. :ref:`SpaceParameter<enum_PhysicsServer3D_SpaceParameter>` **SPACE_PARAM_CONTACT_MAX_SEPARATION** = ``1``
  896. Constant to set/get the maximum distance a shape can be from another before they are considered separated and the contact is discarded.
  897. .. _class_PhysicsServer3D_constant_SPACE_PARAM_CONTACT_MAX_ALLOWED_PENETRATION:
  898. .. rst-class:: classref-enumeration-constant
  899. :ref:`SpaceParameter<enum_PhysicsServer3D_SpaceParameter>` **SPACE_PARAM_CONTACT_MAX_ALLOWED_PENETRATION** = ``2``
  900. Constant to set/get the maximum distance a shape can penetrate another shape before it is considered a collision.
  901. .. _class_PhysicsServer3D_constant_SPACE_PARAM_CONTACT_DEFAULT_BIAS:
  902. .. rst-class:: classref-enumeration-constant
  903. :ref:`SpaceParameter<enum_PhysicsServer3D_SpaceParameter>` **SPACE_PARAM_CONTACT_DEFAULT_BIAS** = ``3``
  904. 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.
  905. .. _class_PhysicsServer3D_constant_SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD:
  906. .. rst-class:: classref-enumeration-constant
  907. :ref:`SpaceParameter<enum_PhysicsServer3D_SpaceParameter>` **SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD** = ``4``
  908. 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.
  909. .. _class_PhysicsServer3D_constant_SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD:
  910. .. rst-class:: classref-enumeration-constant
  911. :ref:`SpaceParameter<enum_PhysicsServer3D_SpaceParameter>` **SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD** = ``5``
  912. 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.
  913. .. _class_PhysicsServer3D_constant_SPACE_PARAM_BODY_TIME_TO_SLEEP:
  914. .. rst-class:: classref-enumeration-constant
  915. :ref:`SpaceParameter<enum_PhysicsServer3D_SpaceParameter>` **SPACE_PARAM_BODY_TIME_TO_SLEEP** = ``6``
  916. 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.
  917. .. _class_PhysicsServer3D_constant_SPACE_PARAM_SOLVER_ITERATIONS:
  918. .. rst-class:: classref-enumeration-constant
  919. :ref:`SpaceParameter<enum_PhysicsServer3D_SpaceParameter>` **SPACE_PARAM_SOLVER_ITERATIONS** = ``7``
  920. 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.
  921. .. rst-class:: classref-item-separator
  922. ----
  923. .. _enum_PhysicsServer3D_BodyAxis:
  924. .. rst-class:: classref-enumeration
  925. enum **BodyAxis**:
  926. .. _class_PhysicsServer3D_constant_BODY_AXIS_LINEAR_X:
  927. .. rst-class:: classref-enumeration-constant
  928. :ref:`BodyAxis<enum_PhysicsServer3D_BodyAxis>` **BODY_AXIS_LINEAR_X** = ``1``
  929. .. _class_PhysicsServer3D_constant_BODY_AXIS_LINEAR_Y:
  930. .. rst-class:: classref-enumeration-constant
  931. :ref:`BodyAxis<enum_PhysicsServer3D_BodyAxis>` **BODY_AXIS_LINEAR_Y** = ``2``
  932. .. _class_PhysicsServer3D_constant_BODY_AXIS_LINEAR_Z:
  933. .. rst-class:: classref-enumeration-constant
  934. :ref:`BodyAxis<enum_PhysicsServer3D_BodyAxis>` **BODY_AXIS_LINEAR_Z** = ``4``
  935. .. _class_PhysicsServer3D_constant_BODY_AXIS_ANGULAR_X:
  936. .. rst-class:: classref-enumeration-constant
  937. :ref:`BodyAxis<enum_PhysicsServer3D_BodyAxis>` **BODY_AXIS_ANGULAR_X** = ``8``
  938. .. _class_PhysicsServer3D_constant_BODY_AXIS_ANGULAR_Y:
  939. .. rst-class:: classref-enumeration-constant
  940. :ref:`BodyAxis<enum_PhysicsServer3D_BodyAxis>` **BODY_AXIS_ANGULAR_Y** = ``16``
  941. .. _class_PhysicsServer3D_constant_BODY_AXIS_ANGULAR_Z:
  942. .. rst-class:: classref-enumeration-constant
  943. :ref:`BodyAxis<enum_PhysicsServer3D_BodyAxis>` **BODY_AXIS_ANGULAR_Z** = ``32``
  944. .. rst-class:: classref-section-separator
  945. ----
  946. .. rst-class:: classref-descriptions-group
  947. Method Descriptions
  948. -------------------
  949. .. _class_PhysicsServer3D_method_area_add_shape:
  950. .. rst-class:: classref-method
  951. 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 **)**
  952. 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.
  953. .. rst-class:: classref-item-separator
  954. ----
  955. .. _class_PhysicsServer3D_method_area_attach_object_instance_id:
  956. .. rst-class:: classref-method
  957. void **area_attach_object_instance_id** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` id **)**
  958. Assigns the area to a descendant of :ref:`Object<class_Object>`, so it can exist in the node tree.
  959. .. rst-class:: classref-item-separator
  960. ----
  961. .. _class_PhysicsServer3D_method_area_clear_shapes:
  962. .. rst-class:: classref-method
  963. void **area_clear_shapes** **(** :ref:`RID<class_RID>` area **)**
  964. Removes all shapes from an area. It does not delete the shapes, so they can be reassigned later.
  965. .. rst-class:: classref-item-separator
  966. ----
  967. .. _class_PhysicsServer3D_method_area_create:
  968. .. rst-class:: classref-method
  969. :ref:`RID<class_RID>` **area_create** **(** **)**
  970. Creates an :ref:`Area3D<class_Area3D>`.
  971. .. rst-class:: classref-item-separator
  972. ----
  973. .. _class_PhysicsServer3D_method_area_get_collision_layer:
  974. .. rst-class:: classref-method
  975. :ref:`int<class_int>` **area_get_collision_layer** **(** :ref:`RID<class_RID>` area **)** |const|
  976. Returns the physics layer or layers an area belongs to.
  977. .. rst-class:: classref-item-separator
  978. ----
  979. .. _class_PhysicsServer3D_method_area_get_collision_mask:
  980. .. rst-class:: classref-method
  981. :ref:`int<class_int>` **area_get_collision_mask** **(** :ref:`RID<class_RID>` area **)** |const|
  982. Returns the physics layer or layers an area can contact with.
  983. .. rst-class:: classref-item-separator
  984. ----
  985. .. _class_PhysicsServer3D_method_area_get_object_instance_id:
  986. .. rst-class:: classref-method
  987. :ref:`int<class_int>` **area_get_object_instance_id** **(** :ref:`RID<class_RID>` area **)** |const|
  988. Gets the instance ID of the object the area is assigned to.
  989. .. rst-class:: classref-item-separator
  990. ----
  991. .. _class_PhysicsServer3D_method_area_get_param:
  992. .. rst-class:: classref-method
  993. :ref:`Variant<class_Variant>` **area_get_param** **(** :ref:`RID<class_RID>` area, :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` param **)** |const|
  994. Returns an area parameter value. A list of available parameters is on the :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` constants.
  995. .. rst-class:: classref-item-separator
  996. ----
  997. .. _class_PhysicsServer3D_method_area_get_shape:
  998. .. rst-class:: classref-method
  999. :ref:`RID<class_RID>` **area_get_shape** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx **)** |const|
  1000. Returns the :ref:`RID<class_RID>` of the nth shape of an area.
  1001. .. rst-class:: classref-item-separator
  1002. ----
  1003. .. _class_PhysicsServer3D_method_area_get_shape_count:
  1004. .. rst-class:: classref-method
  1005. :ref:`int<class_int>` **area_get_shape_count** **(** :ref:`RID<class_RID>` area **)** |const|
  1006. Returns the number of shapes assigned to an area.
  1007. .. rst-class:: classref-item-separator
  1008. ----
  1009. .. _class_PhysicsServer3D_method_area_get_shape_transform:
  1010. .. rst-class:: classref-method
  1011. :ref:`Transform3D<class_Transform3D>` **area_get_shape_transform** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx **)** |const|
  1012. Returns the transform matrix of a shape within an area.
  1013. .. rst-class:: classref-item-separator
  1014. ----
  1015. .. _class_PhysicsServer3D_method_area_get_space:
  1016. .. rst-class:: classref-method
  1017. :ref:`RID<class_RID>` **area_get_space** **(** :ref:`RID<class_RID>` area **)** |const|
  1018. Returns the space assigned to the area.
  1019. .. rst-class:: classref-item-separator
  1020. ----
  1021. .. _class_PhysicsServer3D_method_area_get_transform:
  1022. .. rst-class:: classref-method
  1023. :ref:`Transform3D<class_Transform3D>` **area_get_transform** **(** :ref:`RID<class_RID>` area **)** |const|
  1024. Returns the transform matrix for an area.
  1025. .. rst-class:: classref-item-separator
  1026. ----
  1027. .. _class_PhysicsServer3D_method_area_remove_shape:
  1028. .. rst-class:: classref-method
  1029. void **area_remove_shape** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx **)**
  1030. Removes a shape from an area. It does not delete the shape, so it can be reassigned later.
  1031. .. rst-class:: classref-item-separator
  1032. ----
  1033. .. _class_PhysicsServer3D_method_area_set_area_monitor_callback:
  1034. .. rst-class:: classref-method
  1035. void **area_set_area_monitor_callback** **(** :ref:`RID<class_RID>` area, :ref:`Callable<class_Callable>` callback **)**
  1036. .. container:: contribute
  1037. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1038. .. rst-class:: classref-item-separator
  1039. ----
  1040. .. _class_PhysicsServer3D_method_area_set_collision_layer:
  1041. .. rst-class:: classref-method
  1042. void **area_set_collision_layer** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` layer **)**
  1043. Assigns the area to one or many physics layers.
  1044. .. rst-class:: classref-item-separator
  1045. ----
  1046. .. _class_PhysicsServer3D_method_area_set_collision_mask:
  1047. .. rst-class:: classref-method
  1048. void **area_set_collision_mask** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` mask **)**
  1049. Sets which physics layers the area will monitor.
  1050. .. rst-class:: classref-item-separator
  1051. ----
  1052. .. _class_PhysicsServer3D_method_area_set_monitor_callback:
  1053. .. rst-class:: classref-method
  1054. void **area_set_monitor_callback** **(** :ref:`RID<class_RID>` area, :ref:`Callable<class_Callable>` callback **)**
  1055. Sets the function to call when any body/area enters or exits the area. This callback will be called for any object interacting with the area, and takes five parameters:
  1056. 1: :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 object entered or exited the area.
  1057. 2: :ref:`RID<class_RID>` of the object that entered/exited the area.
  1058. 3: Instance ID of the object that entered/exited the area.
  1059. 4: The shape index of the object that entered/exited the area.
  1060. 5: The shape index of the area where the object entered/exited.
  1061. .. rst-class:: classref-item-separator
  1062. ----
  1063. .. _class_PhysicsServer3D_method_area_set_monitorable:
  1064. .. rst-class:: classref-method
  1065. void **area_set_monitorable** **(** :ref:`RID<class_RID>` area, :ref:`bool<class_bool>` monitorable **)**
  1066. .. container:: contribute
  1067. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1068. .. rst-class:: classref-item-separator
  1069. ----
  1070. .. _class_PhysicsServer3D_method_area_set_param:
  1071. .. rst-class:: classref-method
  1072. void **area_set_param** **(** :ref:`RID<class_RID>` area, :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` param, :ref:`Variant<class_Variant>` value **)**
  1073. Sets the value for an area parameter. A list of available parameters is on the :ref:`AreaParameter<enum_PhysicsServer3D_AreaParameter>` constants.
  1074. .. rst-class:: classref-item-separator
  1075. ----
  1076. .. _class_PhysicsServer3D_method_area_set_ray_pickable:
  1077. .. rst-class:: classref-method
  1078. void **area_set_ray_pickable** **(** :ref:`RID<class_RID>` area, :ref:`bool<class_bool>` enable **)**
  1079. Sets object pickable with rays.
  1080. .. rst-class:: classref-item-separator
  1081. ----
  1082. .. _class_PhysicsServer3D_method_area_set_shape:
  1083. .. rst-class:: classref-method
  1084. void **area_set_shape** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx, :ref:`RID<class_RID>` shape **)**
  1085. Substitutes a given area shape by another. The old shape is selected by its index, the new one by its :ref:`RID<class_RID>`.
  1086. .. rst-class:: classref-item-separator
  1087. ----
  1088. .. _class_PhysicsServer3D_method_area_set_shape_disabled:
  1089. .. rst-class:: classref-method
  1090. void **area_set_shape_disabled** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` disabled **)**
  1091. .. container:: contribute
  1092. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1093. .. rst-class:: classref-item-separator
  1094. ----
  1095. .. _class_PhysicsServer3D_method_area_set_shape_transform:
  1096. .. rst-class:: classref-method
  1097. void **area_set_shape_transform** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` shape_idx, :ref:`Transform3D<class_Transform3D>` transform **)**
  1098. Sets the transform matrix for an area shape.
  1099. .. rst-class:: classref-item-separator
  1100. ----
  1101. .. _class_PhysicsServer3D_method_area_set_space:
  1102. .. rst-class:: classref-method
  1103. void **area_set_space** **(** :ref:`RID<class_RID>` area, :ref:`RID<class_RID>` space **)**
  1104. Assigns a space to the area.
  1105. .. rst-class:: classref-item-separator
  1106. ----
  1107. .. _class_PhysicsServer3D_method_area_set_transform:
  1108. .. rst-class:: classref-method
  1109. void **area_set_transform** **(** :ref:`RID<class_RID>` area, :ref:`Transform3D<class_Transform3D>` transform **)**
  1110. Sets the transform matrix for an area.
  1111. .. rst-class:: classref-item-separator
  1112. ----
  1113. .. _class_PhysicsServer3D_method_body_add_collision_exception:
  1114. .. rst-class:: classref-method
  1115. void **body_add_collision_exception** **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` excepted_body **)**
  1116. Adds a body to the list of bodies exempt from collisions.
  1117. .. rst-class:: classref-item-separator
  1118. ----
  1119. .. _class_PhysicsServer3D_method_body_add_constant_central_force:
  1120. .. rst-class:: classref-method
  1121. void **body_add_constant_central_force** **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` force **)**
  1122. 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))``.
  1123. This is equivalent to using :ref:`body_add_constant_force<class_PhysicsServer3D_method_body_add_constant_force>` at the body's center of mass.
  1124. .. rst-class:: classref-item-separator
  1125. ----
  1126. .. _class_PhysicsServer3D_method_body_add_constant_force:
  1127. .. rst-class:: classref-method
  1128. void **body_add_constant_force** **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` force, :ref:`Vector3<class_Vector3>` position=Vector3(0, 0, 0) **)**
  1129. 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))``.
  1130. \ ``position`` is the offset from the body origin in global coordinates.
  1131. .. rst-class:: classref-item-separator
  1132. ----
  1133. .. _class_PhysicsServer3D_method_body_add_constant_torque:
  1134. .. rst-class:: classref-method
  1135. void **body_add_constant_torque** **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` torque **)**
  1136. 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))``.
  1137. .. rst-class:: classref-item-separator
  1138. ----
  1139. .. _class_PhysicsServer3D_method_body_add_shape:
  1140. .. rst-class:: classref-method
  1141. 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 **)**
  1142. 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.
  1143. .. rst-class:: classref-item-separator
  1144. ----
  1145. .. _class_PhysicsServer3D_method_body_apply_central_force:
  1146. .. rst-class:: classref-method
  1147. void **body_apply_central_force** **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` force **)**
  1148. Applies a directional force without affecting rotation. A force is time dependent and meant to be applied every physics update.
  1149. This is equivalent to using :ref:`body_apply_force<class_PhysicsServer3D_method_body_apply_force>` at the body's center of mass.
  1150. .. rst-class:: classref-item-separator
  1151. ----
  1152. .. _class_PhysicsServer3D_method_body_apply_central_impulse:
  1153. .. rst-class:: classref-method
  1154. void **body_apply_central_impulse** **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` impulse **)**
  1155. Applies a directional impulse without affecting rotation.
  1156. 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).
  1157. This is equivalent to using :ref:`body_apply_impulse<class_PhysicsServer3D_method_body_apply_impulse>` at the body's center of mass.
  1158. .. rst-class:: classref-item-separator
  1159. ----
  1160. .. _class_PhysicsServer3D_method_body_apply_force:
  1161. .. rst-class:: classref-method
  1162. void **body_apply_force** **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` force, :ref:`Vector3<class_Vector3>` position=Vector3(0, 0, 0) **)**
  1163. Applies a positioned force to the body. A force is time dependent and meant to be applied every physics update.
  1164. \ ``position`` is the offset from the body origin in global coordinates.
  1165. .. rst-class:: classref-item-separator
  1166. ----
  1167. .. _class_PhysicsServer3D_method_body_apply_impulse:
  1168. .. rst-class:: classref-method
  1169. void **body_apply_impulse** **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` impulse, :ref:`Vector3<class_Vector3>` position=Vector3(0, 0, 0) **)**
  1170. Applies a positioned impulse to the body.
  1171. 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).
  1172. \ ``position`` is the offset from the body origin in global coordinates.
  1173. .. rst-class:: classref-item-separator
  1174. ----
  1175. .. _class_PhysicsServer3D_method_body_apply_torque:
  1176. .. rst-class:: classref-method
  1177. void **body_apply_torque** **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` torque **)**
  1178. Applies a rotational force without affecting position. A force is time dependent and meant to be applied every physics update.
  1179. .. rst-class:: classref-item-separator
  1180. ----
  1181. .. _class_PhysicsServer3D_method_body_apply_torque_impulse:
  1182. .. rst-class:: classref-method
  1183. void **body_apply_torque_impulse** **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` impulse **)**
  1184. Applies a rotational impulse to the body without affecting the position.
  1185. 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).
  1186. .. rst-class:: classref-item-separator
  1187. ----
  1188. .. _class_PhysicsServer3D_method_body_attach_object_instance_id:
  1189. .. rst-class:: classref-method
  1190. void **body_attach_object_instance_id** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` id **)**
  1191. Assigns the area to a descendant of :ref:`Object<class_Object>`, so it can exist in the node tree.
  1192. .. rst-class:: classref-item-separator
  1193. ----
  1194. .. _class_PhysicsServer3D_method_body_clear_shapes:
  1195. .. rst-class:: classref-method
  1196. void **body_clear_shapes** **(** :ref:`RID<class_RID>` body **)**
  1197. Removes all shapes from a body.
  1198. .. rst-class:: classref-item-separator
  1199. ----
  1200. .. _class_PhysicsServer3D_method_body_create:
  1201. .. rst-class:: classref-method
  1202. :ref:`RID<class_RID>` **body_create** **(** **)**
  1203. .. container:: contribute
  1204. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1205. .. rst-class:: classref-item-separator
  1206. ----
  1207. .. _class_PhysicsServer3D_method_body_get_collision_layer:
  1208. .. rst-class:: classref-method
  1209. :ref:`int<class_int>` **body_get_collision_layer** **(** :ref:`RID<class_RID>` body **)** |const|
  1210. Returns the physics layer or layers a body belongs to.
  1211. .. rst-class:: classref-item-separator
  1212. ----
  1213. .. _class_PhysicsServer3D_method_body_get_collision_mask:
  1214. .. rst-class:: classref-method
  1215. :ref:`int<class_int>` **body_get_collision_mask** **(** :ref:`RID<class_RID>` body **)** |const|
  1216. Returns the physics layer or layers a body can collide with.
  1217. .. rst-class:: classref-item-separator
  1218. ----
  1219. .. _class_PhysicsServer3D_method_body_get_collision_priority:
  1220. .. rst-class:: classref-method
  1221. :ref:`float<class_float>` **body_get_collision_priority** **(** :ref:`RID<class_RID>` body **)** |const|
  1222. Returns the body's collision priority.
  1223. .. rst-class:: classref-item-separator
  1224. ----
  1225. .. _class_PhysicsServer3D_method_body_get_constant_force:
  1226. .. rst-class:: classref-method
  1227. :ref:`Vector3<class_Vector3>` **body_get_constant_force** **(** :ref:`RID<class_RID>` body **)** |const|
  1228. Returns the body's total constant positional forces applied during each physics update.
  1229. 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>`.
  1230. .. rst-class:: classref-item-separator
  1231. ----
  1232. .. _class_PhysicsServer3D_method_body_get_constant_torque:
  1233. .. rst-class:: classref-method
  1234. :ref:`Vector3<class_Vector3>` **body_get_constant_torque** **(** :ref:`RID<class_RID>` body **)** |const|
  1235. Returns the body's total constant rotational forces applied during each physics update.
  1236. See :ref:`body_add_constant_torque<class_PhysicsServer3D_method_body_add_constant_torque>`.
  1237. .. rst-class:: classref-item-separator
  1238. ----
  1239. .. _class_PhysicsServer3D_method_body_get_direct_state:
  1240. .. rst-class:: classref-method
  1241. :ref:`PhysicsDirectBodyState3D<class_PhysicsDirectBodyState3D>` **body_get_direct_state** **(** :ref:`RID<class_RID>` body **)**
  1242. Returns the :ref:`PhysicsDirectBodyState3D<class_PhysicsDirectBodyState3D>` of the body. Returns ``null`` if the body is destroyed or removed from the physics space.
  1243. .. rst-class:: classref-item-separator
  1244. ----
  1245. .. _class_PhysicsServer3D_method_body_get_max_contacts_reported:
  1246. .. rst-class:: classref-method
  1247. :ref:`int<class_int>` **body_get_max_contacts_reported** **(** :ref:`RID<class_RID>` body **)** |const|
  1248. Returns the maximum contacts that can be reported. See :ref:`body_set_max_contacts_reported<class_PhysicsServer3D_method_body_set_max_contacts_reported>`.
  1249. .. rst-class:: classref-item-separator
  1250. ----
  1251. .. _class_PhysicsServer3D_method_body_get_mode:
  1252. .. rst-class:: classref-method
  1253. :ref:`BodyMode<enum_PhysicsServer3D_BodyMode>` **body_get_mode** **(** :ref:`RID<class_RID>` body **)** |const|
  1254. Returns the body mode.
  1255. .. rst-class:: classref-item-separator
  1256. ----
  1257. .. _class_PhysicsServer3D_method_body_get_object_instance_id:
  1258. .. rst-class:: classref-method
  1259. :ref:`int<class_int>` **body_get_object_instance_id** **(** :ref:`RID<class_RID>` body **)** |const|
  1260. Gets the instance ID of the object the area is assigned to.
  1261. .. rst-class:: classref-item-separator
  1262. ----
  1263. .. _class_PhysicsServer3D_method_body_get_param:
  1264. .. rst-class:: classref-method
  1265. :ref:`Variant<class_Variant>` **body_get_param** **(** :ref:`RID<class_RID>` body, :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` param **)** |const|
  1266. Returns the value of a body parameter. A list of available parameters is on the :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` constants.
  1267. .. rst-class:: classref-item-separator
  1268. ----
  1269. .. _class_PhysicsServer3D_method_body_get_shape:
  1270. .. rst-class:: classref-method
  1271. :ref:`RID<class_RID>` **body_get_shape** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx **)** |const|
  1272. Returns the :ref:`RID<class_RID>` of the nth shape of a body.
  1273. .. rst-class:: classref-item-separator
  1274. ----
  1275. .. _class_PhysicsServer3D_method_body_get_shape_count:
  1276. .. rst-class:: classref-method
  1277. :ref:`int<class_int>` **body_get_shape_count** **(** :ref:`RID<class_RID>` body **)** |const|
  1278. Returns the number of shapes assigned to a body.
  1279. .. rst-class:: classref-item-separator
  1280. ----
  1281. .. _class_PhysicsServer3D_method_body_get_shape_transform:
  1282. .. rst-class:: classref-method
  1283. :ref:`Transform3D<class_Transform3D>` **body_get_shape_transform** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx **)** |const|
  1284. Returns the transform matrix of a body shape.
  1285. .. rst-class:: classref-item-separator
  1286. ----
  1287. .. _class_PhysicsServer3D_method_body_get_space:
  1288. .. rst-class:: classref-method
  1289. :ref:`RID<class_RID>` **body_get_space** **(** :ref:`RID<class_RID>` body **)** |const|
  1290. Returns the :ref:`RID<class_RID>` of the space assigned to a body.
  1291. .. rst-class:: classref-item-separator
  1292. ----
  1293. .. _class_PhysicsServer3D_method_body_get_state:
  1294. .. rst-class:: classref-method
  1295. :ref:`Variant<class_Variant>` **body_get_state** **(** :ref:`RID<class_RID>` body, :ref:`BodyState<enum_PhysicsServer3D_BodyState>` state **)** |const|
  1296. Returns a body state.
  1297. .. rst-class:: classref-item-separator
  1298. ----
  1299. .. _class_PhysicsServer3D_method_body_is_axis_locked:
  1300. .. rst-class:: classref-method
  1301. :ref:`bool<class_bool>` **body_is_axis_locked** **(** :ref:`RID<class_RID>` body, :ref:`BodyAxis<enum_PhysicsServer3D_BodyAxis>` axis **)** |const|
  1302. .. container:: contribute
  1303. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1304. .. rst-class:: classref-item-separator
  1305. ----
  1306. .. _class_PhysicsServer3D_method_body_is_continuous_collision_detection_enabled:
  1307. .. rst-class:: classref-method
  1308. :ref:`bool<class_bool>` **body_is_continuous_collision_detection_enabled** **(** :ref:`RID<class_RID>` body **)** |const|
  1309. If ``true``, the continuous collision detection mode is enabled.
  1310. .. rst-class:: classref-item-separator
  1311. ----
  1312. .. _class_PhysicsServer3D_method_body_is_omitting_force_integration:
  1313. .. rst-class:: classref-method
  1314. :ref:`bool<class_bool>` **body_is_omitting_force_integration** **(** :ref:`RID<class_RID>` body **)** |const|
  1315. 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>`).
  1316. .. rst-class:: classref-item-separator
  1317. ----
  1318. .. _class_PhysicsServer3D_method_body_remove_collision_exception:
  1319. .. rst-class:: classref-method
  1320. void **body_remove_collision_exception** **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` excepted_body **)**
  1321. Removes a body from the list of bodies exempt from collisions.
  1322. Continuous collision detection tries to predict where a moving body will collide, instead of moving it and correcting its movement if it collided.
  1323. .. rst-class:: classref-item-separator
  1324. ----
  1325. .. _class_PhysicsServer3D_method_body_remove_shape:
  1326. .. rst-class:: classref-method
  1327. void **body_remove_shape** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx **)**
  1328. Removes a shape from a body. The shape is not deleted, so it can be reused afterwards.
  1329. .. rst-class:: classref-item-separator
  1330. ----
  1331. .. _class_PhysicsServer3D_method_body_reset_mass_properties:
  1332. .. rst-class:: classref-method
  1333. void **body_reset_mass_properties** **(** :ref:`RID<class_RID>` body **)**
  1334. 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>`.
  1335. .. rst-class:: classref-item-separator
  1336. ----
  1337. .. _class_PhysicsServer3D_method_body_set_axis_lock:
  1338. .. rst-class:: classref-method
  1339. void **body_set_axis_lock** **(** :ref:`RID<class_RID>` body, :ref:`BodyAxis<enum_PhysicsServer3D_BodyAxis>` axis, :ref:`bool<class_bool>` lock **)**
  1340. .. container:: contribute
  1341. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1342. .. rst-class:: classref-item-separator
  1343. ----
  1344. .. _class_PhysicsServer3D_method_body_set_axis_velocity:
  1345. .. rst-class:: classref-method
  1346. void **body_set_axis_velocity** **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` axis_velocity **)**
  1347. 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.
  1348. .. rst-class:: classref-item-separator
  1349. ----
  1350. .. _class_PhysicsServer3D_method_body_set_collision_layer:
  1351. .. rst-class:: classref-method
  1352. void **body_set_collision_layer** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` layer **)**
  1353. Sets the physics layer or layers a body belongs to.
  1354. .. rst-class:: classref-item-separator
  1355. ----
  1356. .. _class_PhysicsServer3D_method_body_set_collision_mask:
  1357. .. rst-class:: classref-method
  1358. void **body_set_collision_mask** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` mask **)**
  1359. Sets the physics layer or layers a body can collide with.
  1360. .. rst-class:: classref-item-separator
  1361. ----
  1362. .. _class_PhysicsServer3D_method_body_set_collision_priority:
  1363. .. rst-class:: classref-method
  1364. void **body_set_collision_priority** **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` priority **)**
  1365. Sets the body's collision priority.
  1366. .. rst-class:: classref-item-separator
  1367. ----
  1368. .. _class_PhysicsServer3D_method_body_set_constant_force:
  1369. .. rst-class:: classref-method
  1370. void **body_set_constant_force** **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` force **)**
  1371. Sets the body's total constant positional forces applied during each physics update.
  1372. 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>`.
  1373. .. rst-class:: classref-item-separator
  1374. ----
  1375. .. _class_PhysicsServer3D_method_body_set_constant_torque:
  1376. .. rst-class:: classref-method
  1377. void **body_set_constant_torque** **(** :ref:`RID<class_RID>` body, :ref:`Vector3<class_Vector3>` torque **)**
  1378. Sets the body's total constant rotational forces applied during each physics update.
  1379. See :ref:`body_add_constant_torque<class_PhysicsServer3D_method_body_add_constant_torque>`.
  1380. .. rst-class:: classref-item-separator
  1381. ----
  1382. .. _class_PhysicsServer3D_method_body_set_enable_continuous_collision_detection:
  1383. .. rst-class:: classref-method
  1384. void **body_set_enable_continuous_collision_detection** **(** :ref:`RID<class_RID>` body, :ref:`bool<class_bool>` enable **)**
  1385. If ``true``, the continuous collision detection mode is enabled.
  1386. Continuous collision detection tries to predict where a moving body will collide, instead of moving it and correcting its movement if it collided.
  1387. .. rst-class:: classref-item-separator
  1388. ----
  1389. .. _class_PhysicsServer3D_method_body_set_force_integration_callback:
  1390. .. rst-class:: classref-method
  1391. void **body_set_force_integration_callback** **(** :ref:`RID<class_RID>` body, :ref:`Callable<class_Callable>` callable, :ref:`Variant<class_Variant>` userdata=null **)**
  1392. 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>`).
  1393. The force integration function takes 2 arguments:
  1394. \ ``state:`` :ref:`PhysicsDirectBodyState3D<class_PhysicsDirectBodyState3D>` used to retrieve and modify the body's state.
  1395. \ ``userdata:`` Optional user data, if it was passed when calling ``body_set_force_integration_callback``.
  1396. .. rst-class:: classref-item-separator
  1397. ----
  1398. .. _class_PhysicsServer3D_method_body_set_max_contacts_reported:
  1399. .. rst-class:: classref-method
  1400. void **body_set_max_contacts_reported** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` amount **)**
  1401. 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.
  1402. .. rst-class:: classref-item-separator
  1403. ----
  1404. .. _class_PhysicsServer3D_method_body_set_mode:
  1405. .. rst-class:: classref-method
  1406. void **body_set_mode** **(** :ref:`RID<class_RID>` body, :ref:`BodyMode<enum_PhysicsServer3D_BodyMode>` mode **)**
  1407. Sets the body mode, from one of the :ref:`BodyMode<enum_PhysicsServer3D_BodyMode>` constants.
  1408. .. rst-class:: classref-item-separator
  1409. ----
  1410. .. _class_PhysicsServer3D_method_body_set_omit_force_integration:
  1411. .. rst-class:: classref-method
  1412. void **body_set_omit_force_integration** **(** :ref:`RID<class_RID>` body, :ref:`bool<class_bool>` enable **)**
  1413. 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>`).
  1414. .. rst-class:: classref-item-separator
  1415. ----
  1416. .. _class_PhysicsServer3D_method_body_set_param:
  1417. .. rst-class:: classref-method
  1418. void **body_set_param** **(** :ref:`RID<class_RID>` body, :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` param, :ref:`Variant<class_Variant>` value **)**
  1419. Sets a body parameter. A list of available parameters is on the :ref:`BodyParameter<enum_PhysicsServer3D_BodyParameter>` constants.
  1420. .. rst-class:: classref-item-separator
  1421. ----
  1422. .. _class_PhysicsServer3D_method_body_set_ray_pickable:
  1423. .. rst-class:: classref-method
  1424. void **body_set_ray_pickable** **(** :ref:`RID<class_RID>` body, :ref:`bool<class_bool>` enable **)**
  1425. Sets the body pickable with rays if ``enable`` is set.
  1426. .. rst-class:: classref-item-separator
  1427. ----
  1428. .. _class_PhysicsServer3D_method_body_set_shape:
  1429. .. rst-class:: classref-method
  1430. void **body_set_shape** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`RID<class_RID>` shape **)**
  1431. Substitutes a given body shape by another. The old shape is selected by its index, the new one by its :ref:`RID<class_RID>`.
  1432. .. rst-class:: classref-item-separator
  1433. ----
  1434. .. _class_PhysicsServer3D_method_body_set_shape_disabled:
  1435. .. rst-class:: classref-method
  1436. void **body_set_shape_disabled** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` disabled **)**
  1437. .. container:: contribute
  1438. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1439. .. rst-class:: classref-item-separator
  1440. ----
  1441. .. _class_PhysicsServer3D_method_body_set_shape_transform:
  1442. .. rst-class:: classref-method
  1443. void **body_set_shape_transform** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`Transform3D<class_Transform3D>` transform **)**
  1444. Sets the transform matrix for a body shape.
  1445. .. rst-class:: classref-item-separator
  1446. ----
  1447. .. _class_PhysicsServer3D_method_body_set_space:
  1448. .. rst-class:: classref-method
  1449. void **body_set_space** **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` space **)**
  1450. Assigns a space to the body (see :ref:`space_create<class_PhysicsServer3D_method_space_create>`).
  1451. .. rst-class:: classref-item-separator
  1452. ----
  1453. .. _class_PhysicsServer3D_method_body_set_state:
  1454. .. rst-class:: classref-method
  1455. void **body_set_state** **(** :ref:`RID<class_RID>` body, :ref:`BodyState<enum_PhysicsServer3D_BodyState>` state, :ref:`Variant<class_Variant>` value **)**
  1456. Sets a body state (see :ref:`BodyState<enum_PhysicsServer3D_BodyState>` constants).
  1457. .. rst-class:: classref-item-separator
  1458. ----
  1459. .. _class_PhysicsServer3D_method_body_test_motion:
  1460. .. rst-class:: classref-method
  1461. :ref:`bool<class_bool>` **body_test_motion** **(** :ref:`RID<class_RID>` body, :ref:`PhysicsTestMotionParameters3D<class_PhysicsTestMotionParameters3D>` parameters, :ref:`PhysicsTestMotionResult3D<class_PhysicsTestMotionResult3D>` result=null **)**
  1462. 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.
  1463. .. rst-class:: classref-item-separator
  1464. ----
  1465. .. _class_PhysicsServer3D_method_box_shape_create:
  1466. .. rst-class:: classref-method
  1467. :ref:`RID<class_RID>` **box_shape_create** **(** **)**
  1468. .. container:: contribute
  1469. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1470. .. rst-class:: classref-item-separator
  1471. ----
  1472. .. _class_PhysicsServer3D_method_capsule_shape_create:
  1473. .. rst-class:: classref-method
  1474. :ref:`RID<class_RID>` **capsule_shape_create** **(** **)**
  1475. .. container:: contribute
  1476. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1477. .. rst-class:: classref-item-separator
  1478. ----
  1479. .. _class_PhysicsServer3D_method_concave_polygon_shape_create:
  1480. .. rst-class:: classref-method
  1481. :ref:`RID<class_RID>` **concave_polygon_shape_create** **(** **)**
  1482. .. container:: contribute
  1483. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1484. .. rst-class:: classref-item-separator
  1485. ----
  1486. .. _class_PhysicsServer3D_method_cone_twist_joint_get_param:
  1487. .. rst-class:: classref-method
  1488. :ref:`float<class_float>` **cone_twist_joint_get_param** **(** :ref:`RID<class_RID>` joint, :ref:`ConeTwistJointParam<enum_PhysicsServer3D_ConeTwistJointParam>` param **)** |const|
  1489. Gets a cone_twist_joint parameter (see :ref:`ConeTwistJointParam<enum_PhysicsServer3D_ConeTwistJointParam>` constants).
  1490. .. rst-class:: classref-item-separator
  1491. ----
  1492. .. _class_PhysicsServer3D_method_cone_twist_joint_set_param:
  1493. .. rst-class:: classref-method
  1494. void **cone_twist_joint_set_param** **(** :ref:`RID<class_RID>` joint, :ref:`ConeTwistJointParam<enum_PhysicsServer3D_ConeTwistJointParam>` param, :ref:`float<class_float>` value **)**
  1495. Sets a cone_twist_joint parameter (see :ref:`ConeTwistJointParam<enum_PhysicsServer3D_ConeTwistJointParam>` constants).
  1496. .. rst-class:: classref-item-separator
  1497. ----
  1498. .. _class_PhysicsServer3D_method_convex_polygon_shape_create:
  1499. .. rst-class:: classref-method
  1500. :ref:`RID<class_RID>` **convex_polygon_shape_create** **(** **)**
  1501. .. container:: contribute
  1502. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1503. .. rst-class:: classref-item-separator
  1504. ----
  1505. .. _class_PhysicsServer3D_method_custom_shape_create:
  1506. .. rst-class:: classref-method
  1507. :ref:`RID<class_RID>` **custom_shape_create** **(** **)**
  1508. .. container:: contribute
  1509. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1510. .. rst-class:: classref-item-separator
  1511. ----
  1512. .. _class_PhysicsServer3D_method_cylinder_shape_create:
  1513. .. rst-class:: classref-method
  1514. :ref:`RID<class_RID>` **cylinder_shape_create** **(** **)**
  1515. .. container:: contribute
  1516. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1517. .. rst-class:: classref-item-separator
  1518. ----
  1519. .. _class_PhysicsServer3D_method_free_rid:
  1520. .. rst-class:: classref-method
  1521. void **free_rid** **(** :ref:`RID<class_RID>` rid **)**
  1522. 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.
  1523. .. rst-class:: classref-item-separator
  1524. ----
  1525. .. _class_PhysicsServer3D_method_generic_6dof_joint_get_flag:
  1526. .. rst-class:: classref-method
  1527. :ref:`bool<class_bool>` **generic_6dof_joint_get_flag** **(** :ref:`RID<class_RID>` joint, Vector3.Axis axis, :ref:`G6DOFJointAxisFlag<enum_PhysicsServer3D_G6DOFJointAxisFlag>` flag **)** |const|
  1528. Gets a generic_6_DOF_joint flag (see :ref:`G6DOFJointAxisFlag<enum_PhysicsServer3D_G6DOFJointAxisFlag>` constants).
  1529. .. rst-class:: classref-item-separator
  1530. ----
  1531. .. _class_PhysicsServer3D_method_generic_6dof_joint_get_param:
  1532. .. rst-class:: classref-method
  1533. :ref:`float<class_float>` **generic_6dof_joint_get_param** **(** :ref:`RID<class_RID>` joint, Vector3.Axis axis, :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` param **)** |const|
  1534. Gets a generic_6_DOF_joint parameter (see :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` constants).
  1535. .. rst-class:: classref-item-separator
  1536. ----
  1537. .. _class_PhysicsServer3D_method_generic_6dof_joint_set_flag:
  1538. .. rst-class:: classref-method
  1539. 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 **)**
  1540. Sets a generic_6_DOF_joint flag (see :ref:`G6DOFJointAxisFlag<enum_PhysicsServer3D_G6DOFJointAxisFlag>` constants).
  1541. .. rst-class:: classref-item-separator
  1542. ----
  1543. .. _class_PhysicsServer3D_method_generic_6dof_joint_set_param:
  1544. .. rst-class:: classref-method
  1545. 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 **)**
  1546. Sets a generic_6_DOF_joint parameter (see :ref:`G6DOFJointAxisParam<enum_PhysicsServer3D_G6DOFJointAxisParam>` constants).
  1547. .. rst-class:: classref-item-separator
  1548. ----
  1549. .. _class_PhysicsServer3D_method_get_process_info:
  1550. .. rst-class:: classref-method
  1551. :ref:`int<class_int>` **get_process_info** **(** :ref:`ProcessInfo<enum_PhysicsServer3D_ProcessInfo>` process_info **)**
  1552. Returns information about the current state of the 3D physics engine. See :ref:`ProcessInfo<enum_PhysicsServer3D_ProcessInfo>` for a list of available states.
  1553. .. rst-class:: classref-item-separator
  1554. ----
  1555. .. _class_PhysicsServer3D_method_heightmap_shape_create:
  1556. .. rst-class:: classref-method
  1557. :ref:`RID<class_RID>` **heightmap_shape_create** **(** **)**
  1558. .. container:: contribute
  1559. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1560. .. rst-class:: classref-item-separator
  1561. ----
  1562. .. _class_PhysicsServer3D_method_hinge_joint_get_flag:
  1563. .. rst-class:: classref-method
  1564. :ref:`bool<class_bool>` **hinge_joint_get_flag** **(** :ref:`RID<class_RID>` joint, :ref:`HingeJointFlag<enum_PhysicsServer3D_HingeJointFlag>` flag **)** |const|
  1565. Gets a hinge_joint flag (see :ref:`HingeJointFlag<enum_PhysicsServer3D_HingeJointFlag>` constants).
  1566. .. rst-class:: classref-item-separator
  1567. ----
  1568. .. _class_PhysicsServer3D_method_hinge_joint_get_param:
  1569. .. rst-class:: classref-method
  1570. :ref:`float<class_float>` **hinge_joint_get_param** **(** :ref:`RID<class_RID>` joint, :ref:`HingeJointParam<enum_PhysicsServer3D_HingeJointParam>` param **)** |const|
  1571. Gets a hinge_joint parameter (see :ref:`HingeJointParam<enum_PhysicsServer3D_HingeJointParam>`).
  1572. .. rst-class:: classref-item-separator
  1573. ----
  1574. .. _class_PhysicsServer3D_method_hinge_joint_set_flag:
  1575. .. rst-class:: classref-method
  1576. void **hinge_joint_set_flag** **(** :ref:`RID<class_RID>` joint, :ref:`HingeJointFlag<enum_PhysicsServer3D_HingeJointFlag>` flag, :ref:`bool<class_bool>` enabled **)**
  1577. Sets a hinge_joint flag (see :ref:`HingeJointFlag<enum_PhysicsServer3D_HingeJointFlag>` constants).
  1578. .. rst-class:: classref-item-separator
  1579. ----
  1580. .. _class_PhysicsServer3D_method_hinge_joint_set_param:
  1581. .. rst-class:: classref-method
  1582. void **hinge_joint_set_param** **(** :ref:`RID<class_RID>` joint, :ref:`HingeJointParam<enum_PhysicsServer3D_HingeJointParam>` param, :ref:`float<class_float>` value **)**
  1583. Sets a hinge_joint parameter (see :ref:`HingeJointParam<enum_PhysicsServer3D_HingeJointParam>` constants).
  1584. .. rst-class:: classref-item-separator
  1585. ----
  1586. .. _class_PhysicsServer3D_method_joint_clear:
  1587. .. rst-class:: classref-method
  1588. void **joint_clear** **(** :ref:`RID<class_RID>` joint **)**
  1589. .. container:: contribute
  1590. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1591. .. rst-class:: classref-item-separator
  1592. ----
  1593. .. _class_PhysicsServer3D_method_joint_create:
  1594. .. rst-class:: classref-method
  1595. :ref:`RID<class_RID>` **joint_create** **(** **)**
  1596. .. container:: contribute
  1597. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1598. .. rst-class:: classref-item-separator
  1599. ----
  1600. .. _class_PhysicsServer3D_method_joint_disable_collisions_between_bodies:
  1601. .. rst-class:: classref-method
  1602. void **joint_disable_collisions_between_bodies** **(** :ref:`RID<class_RID>` joint, :ref:`bool<class_bool>` disable **)**
  1603. Sets whether the bodies attached to the :ref:`Joint3D<class_Joint3D>` will collide with each other.
  1604. .. rst-class:: classref-item-separator
  1605. ----
  1606. .. _class_PhysicsServer3D_method_joint_get_solver_priority:
  1607. .. rst-class:: classref-method
  1608. :ref:`int<class_int>` **joint_get_solver_priority** **(** :ref:`RID<class_RID>` joint **)** |const|
  1609. Gets the priority value of the Joint3D.
  1610. .. rst-class:: classref-item-separator
  1611. ----
  1612. .. _class_PhysicsServer3D_method_joint_get_type:
  1613. .. rst-class:: classref-method
  1614. :ref:`JointType<enum_PhysicsServer3D_JointType>` **joint_get_type** **(** :ref:`RID<class_RID>` joint **)** |const|
  1615. Returns the type of the Joint3D.
  1616. .. rst-class:: classref-item-separator
  1617. ----
  1618. .. _class_PhysicsServer3D_method_joint_is_disabled_collisions_between_bodies:
  1619. .. rst-class:: classref-method
  1620. :ref:`bool<class_bool>` **joint_is_disabled_collisions_between_bodies** **(** :ref:`RID<class_RID>` joint **)** |const|
  1621. Returns whether the bodies attached to the :ref:`Joint3D<class_Joint3D>` will collide with each other.
  1622. .. rst-class:: classref-item-separator
  1623. ----
  1624. .. _class_PhysicsServer3D_method_joint_make_cone_twist:
  1625. .. rst-class:: classref-method
  1626. 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 **)**
  1627. .. container:: contribute
  1628. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1629. .. rst-class:: classref-item-separator
  1630. ----
  1631. .. _class_PhysicsServer3D_method_joint_make_generic_6dof:
  1632. .. rst-class:: classref-method
  1633. 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 **)**
  1634. .. container:: contribute
  1635. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1636. .. rst-class:: classref-item-separator
  1637. ----
  1638. .. _class_PhysicsServer3D_method_joint_make_hinge:
  1639. .. rst-class:: classref-method
  1640. 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 **)**
  1641. .. container:: contribute
  1642. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1643. .. rst-class:: classref-item-separator
  1644. ----
  1645. .. _class_PhysicsServer3D_method_joint_make_pin:
  1646. .. rst-class:: classref-method
  1647. 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 **)**
  1648. .. container:: contribute
  1649. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1650. .. rst-class:: classref-item-separator
  1651. ----
  1652. .. _class_PhysicsServer3D_method_joint_make_slider:
  1653. .. rst-class:: classref-method
  1654. 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 **)**
  1655. .. container:: contribute
  1656. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1657. .. rst-class:: classref-item-separator
  1658. ----
  1659. .. _class_PhysicsServer3D_method_joint_set_solver_priority:
  1660. .. rst-class:: classref-method
  1661. void **joint_set_solver_priority** **(** :ref:`RID<class_RID>` joint, :ref:`int<class_int>` priority **)**
  1662. Sets the priority value of the Joint3D.
  1663. .. rst-class:: classref-item-separator
  1664. ----
  1665. .. _class_PhysicsServer3D_method_pin_joint_get_local_a:
  1666. .. rst-class:: classref-method
  1667. :ref:`Vector3<class_Vector3>` **pin_joint_get_local_a** **(** :ref:`RID<class_RID>` joint **)** |const|
  1668. Returns position of the joint in the local space of body a of the joint.
  1669. .. rst-class:: classref-item-separator
  1670. ----
  1671. .. _class_PhysicsServer3D_method_pin_joint_get_local_b:
  1672. .. rst-class:: classref-method
  1673. :ref:`Vector3<class_Vector3>` **pin_joint_get_local_b** **(** :ref:`RID<class_RID>` joint **)** |const|
  1674. Returns position of the joint in the local space of body b of the joint.
  1675. .. rst-class:: classref-item-separator
  1676. ----
  1677. .. _class_PhysicsServer3D_method_pin_joint_get_param:
  1678. .. rst-class:: classref-method
  1679. :ref:`float<class_float>` **pin_joint_get_param** **(** :ref:`RID<class_RID>` joint, :ref:`PinJointParam<enum_PhysicsServer3D_PinJointParam>` param **)** |const|
  1680. Gets a pin_joint parameter (see :ref:`PinJointParam<enum_PhysicsServer3D_PinJointParam>` constants).
  1681. .. rst-class:: classref-item-separator
  1682. ----
  1683. .. _class_PhysicsServer3D_method_pin_joint_set_local_a:
  1684. .. rst-class:: classref-method
  1685. void **pin_joint_set_local_a** **(** :ref:`RID<class_RID>` joint, :ref:`Vector3<class_Vector3>` local_A **)**
  1686. Sets position of the joint in the local space of body a of the joint.
  1687. .. rst-class:: classref-item-separator
  1688. ----
  1689. .. _class_PhysicsServer3D_method_pin_joint_set_local_b:
  1690. .. rst-class:: classref-method
  1691. void **pin_joint_set_local_b** **(** :ref:`RID<class_RID>` joint, :ref:`Vector3<class_Vector3>` local_B **)**
  1692. Sets position of the joint in the local space of body b of the joint.
  1693. .. rst-class:: classref-item-separator
  1694. ----
  1695. .. _class_PhysicsServer3D_method_pin_joint_set_param:
  1696. .. rst-class:: classref-method
  1697. void **pin_joint_set_param** **(** :ref:`RID<class_RID>` joint, :ref:`PinJointParam<enum_PhysicsServer3D_PinJointParam>` param, :ref:`float<class_float>` value **)**
  1698. Sets a pin_joint parameter (see :ref:`PinJointParam<enum_PhysicsServer3D_PinJointParam>` constants).
  1699. .. rst-class:: classref-item-separator
  1700. ----
  1701. .. _class_PhysicsServer3D_method_separation_ray_shape_create:
  1702. .. rst-class:: classref-method
  1703. :ref:`RID<class_RID>` **separation_ray_shape_create** **(** **)**
  1704. .. container:: contribute
  1705. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1706. .. rst-class:: classref-item-separator
  1707. ----
  1708. .. _class_PhysicsServer3D_method_set_active:
  1709. .. rst-class:: classref-method
  1710. void **set_active** **(** :ref:`bool<class_bool>` active **)**
  1711. Activates or deactivates the 3D physics engine.
  1712. .. rst-class:: classref-item-separator
  1713. ----
  1714. .. _class_PhysicsServer3D_method_shape_get_data:
  1715. .. rst-class:: classref-method
  1716. :ref:`Variant<class_Variant>` **shape_get_data** **(** :ref:`RID<class_RID>` shape **)** |const|
  1717. Returns the shape data.
  1718. .. rst-class:: classref-item-separator
  1719. ----
  1720. .. _class_PhysicsServer3D_method_shape_get_type:
  1721. .. rst-class:: classref-method
  1722. :ref:`ShapeType<enum_PhysicsServer3D_ShapeType>` **shape_get_type** **(** :ref:`RID<class_RID>` shape **)** |const|
  1723. Returns the type of shape (see :ref:`ShapeType<enum_PhysicsServer3D_ShapeType>` constants).
  1724. .. rst-class:: classref-item-separator
  1725. ----
  1726. .. _class_PhysicsServer3D_method_shape_set_data:
  1727. .. rst-class:: classref-method
  1728. void **shape_set_data** **(** :ref:`RID<class_RID>` shape, :ref:`Variant<class_Variant>` data **)**
  1729. 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>`.
  1730. .. rst-class:: classref-item-separator
  1731. ----
  1732. .. _class_PhysicsServer3D_method_slider_joint_get_param:
  1733. .. rst-class:: classref-method
  1734. :ref:`float<class_float>` **slider_joint_get_param** **(** :ref:`RID<class_RID>` joint, :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` param **)** |const|
  1735. Gets a slider_joint parameter (see :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` constants).
  1736. .. rst-class:: classref-item-separator
  1737. ----
  1738. .. _class_PhysicsServer3D_method_slider_joint_set_param:
  1739. .. rst-class:: classref-method
  1740. void **slider_joint_set_param** **(** :ref:`RID<class_RID>` joint, :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` param, :ref:`float<class_float>` value **)**
  1741. Gets a slider_joint parameter (see :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` constants).
  1742. .. rst-class:: classref-item-separator
  1743. ----
  1744. .. _class_PhysicsServer3D_method_soft_body_get_bounds:
  1745. .. rst-class:: classref-method
  1746. :ref:`AABB<class_AABB>` **soft_body_get_bounds** **(** :ref:`RID<class_RID>` body **)** |const|
  1747. .. container:: contribute
  1748. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1749. .. rst-class:: classref-item-separator
  1750. ----
  1751. .. _class_PhysicsServer3D_method_space_create:
  1752. .. rst-class:: classref-method
  1753. :ref:`RID<class_RID>` **space_create** **(** **)**
  1754. 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>`.
  1755. .. rst-class:: classref-item-separator
  1756. ----
  1757. .. _class_PhysicsServer3D_method_space_get_direct_state:
  1758. .. rst-class:: classref-method
  1759. :ref:`PhysicsDirectSpaceState3D<class_PhysicsDirectSpaceState3D>` **space_get_direct_state** **(** :ref:`RID<class_RID>` space **)**
  1760. Returns the state of a space, a :ref:`PhysicsDirectSpaceState3D<class_PhysicsDirectSpaceState3D>`. This object can be used to make collision/intersection queries.
  1761. .. rst-class:: classref-item-separator
  1762. ----
  1763. .. _class_PhysicsServer3D_method_space_get_param:
  1764. .. rst-class:: classref-method
  1765. :ref:`float<class_float>` **space_get_param** **(** :ref:`RID<class_RID>` space, :ref:`SpaceParameter<enum_PhysicsServer3D_SpaceParameter>` param **)** |const|
  1766. Returns the value of a space parameter.
  1767. .. rst-class:: classref-item-separator
  1768. ----
  1769. .. _class_PhysicsServer3D_method_space_is_active:
  1770. .. rst-class:: classref-method
  1771. :ref:`bool<class_bool>` **space_is_active** **(** :ref:`RID<class_RID>` space **)** |const|
  1772. Returns whether the space is active.
  1773. .. rst-class:: classref-item-separator
  1774. ----
  1775. .. _class_PhysicsServer3D_method_space_set_active:
  1776. .. rst-class:: classref-method
  1777. void **space_set_active** **(** :ref:`RID<class_RID>` space, :ref:`bool<class_bool>` active **)**
  1778. Marks a space as active. It will not have an effect, unless it is assigned to an area or body.
  1779. .. rst-class:: classref-item-separator
  1780. ----
  1781. .. _class_PhysicsServer3D_method_space_set_param:
  1782. .. rst-class:: classref-method
  1783. void **space_set_param** **(** :ref:`RID<class_RID>` space, :ref:`SpaceParameter<enum_PhysicsServer3D_SpaceParameter>` param, :ref:`float<class_float>` value **)**
  1784. Sets the value for a space parameter. A list of available parameters is on the :ref:`SpaceParameter<enum_PhysicsServer3D_SpaceParameter>` constants.
  1785. .. rst-class:: classref-item-separator
  1786. ----
  1787. .. _class_PhysicsServer3D_method_sphere_shape_create:
  1788. .. rst-class:: classref-method
  1789. :ref:`RID<class_RID>` **sphere_shape_create** **(** **)**
  1790. .. container:: contribute
  1791. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1792. .. rst-class:: classref-item-separator
  1793. ----
  1794. .. _class_PhysicsServer3D_method_world_boundary_shape_create:
  1795. .. rst-class:: classref-method
  1796. :ref:`RID<class_RID>` **world_boundary_shape_create** **(** **)**
  1797. .. container:: contribute
  1798. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  1799. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  1800. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  1801. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  1802. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  1803. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  1804. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`