class_physicsserver3d.rst 191 KB

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