:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/StaticBody3D.xml. .. _class_StaticBody3D: StaticBody3D ============ **Inherits:** :ref:`PhysicsBody3D` **<** :ref:`CollisionObject3D` **<** :ref:`Node3D` **<** :ref:`Node` **<** :ref:`Object` **Inherited By:** :ref:`AnimatableBody3D` A 3D physics body that can't be moved by external forces. When moved manually, it doesn't affect other bodies in its path. .. rst-class:: classref-introduction-group Description ----------- A static 3D physics body. It can't be moved by external forces or contacts, but can be moved manually by other means such as code, :ref:`AnimationMixer`\ s (with :ref:`AnimationMixer.callback_mode_process` set to :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_PHYSICS`), and :ref:`RemoteTransform3D`. When **StaticBody3D** is moved, it is teleported to its new position without affecting other physics bodies in its path. If this is not desired, use :ref:`AnimatableBody3D` instead. \ **StaticBody3D** is useful for completely static objects like floors and walls, as well as moving surfaces like conveyor belts and circular revolving platforms (by using :ref:`constant_linear_velocity` and :ref:`constant_angular_velocity`). .. rst-class:: classref-introduction-group Tutorials --------- - `3D Physics Tests Demo `__ - `Third Person Shooter (TPS) Demo `__ - `3D Voxel Demo `__ .. rst-class:: classref-reftable-group Properties ---------- .. table:: :widths: auto +-----------------------------------------------+-----------------------------------------------------------------------------------------+----------------------+ | :ref:`Vector3` | :ref:`constant_angular_velocity` | ``Vector3(0, 0, 0)`` | +-----------------------------------------------+-----------------------------------------------------------------------------------------+----------------------+ | :ref:`Vector3` | :ref:`constant_linear_velocity` | ``Vector3(0, 0, 0)`` | +-----------------------------------------------+-----------------------------------------------------------------------------------------+----------------------+ | :ref:`PhysicsMaterial` | :ref:`physics_material_override` | | +-----------------------------------------------+-----------------------------------------------------------------------------------------+----------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Property Descriptions --------------------- .. _class_StaticBody3D_property_constant_angular_velocity: .. rst-class:: classref-property :ref:`Vector3` **constant_angular_velocity** = ``Vector3(0, 0, 0)`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_constant_angular_velocity**\ (\ value\: :ref:`Vector3`\ ) - :ref:`Vector3` **get_constant_angular_velocity**\ (\ ) The body's constant angular velocity. This does not rotate the body, but affects touching bodies, as if it were rotating. .. rst-class:: classref-item-separator ---- .. _class_StaticBody3D_property_constant_linear_velocity: .. rst-class:: classref-property :ref:`Vector3` **constant_linear_velocity** = ``Vector3(0, 0, 0)`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_constant_linear_velocity**\ (\ value\: :ref:`Vector3`\ ) - :ref:`Vector3` **get_constant_linear_velocity**\ (\ ) The body's constant linear velocity. This does not move the body, but affects touching bodies, as if it were moving. .. rst-class:: classref-item-separator ---- .. _class_StaticBody3D_property_physics_material_override: .. rst-class:: classref-property :ref:`PhysicsMaterial` **physics_material_override** :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_physics_material_override**\ (\ value\: :ref:`PhysicsMaterial`\ ) - :ref:`PhysicsMaterial` **get_physics_material_override**\ (\ ) The physics material override for the body. If a material is assigned to this property, it will be used instead of any other physics material, such as an inherited one. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)` .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)` .. |void| replace:: :abbr:`void (No return value.)`