Up to date

This page is up to date for Godot 4.1. If you still find outdated information, please open an issue.

StaticBody3D

Inherits: PhysicsBody3D < CollisionObject3D < Node3D < Node < Object

Inherited By: 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.

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, AnimationPlayers (with AnimationPlayer.playback_process_mode set to ANIMATION_PROCESS_PHYSICS), and 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 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 constant_linear_velocity and constant_angular_velocity).

Tutorials

Properties

Vector3

constant_angular_velocity

Vector3(0, 0, 0)

Vector3

constant_linear_velocity

Vector3(0, 0, 0)

PhysicsMaterial

physics_material_override


Property Descriptions

Vector3 constant_angular_velocity = Vector3(0, 0, 0)

  • void set_constant_angular_velocity ( Vector3 value )

  • 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.


Vector3 constant_linear_velocity = Vector3(0, 0, 0)

  • void set_constant_linear_velocity ( Vector3 value )

  • 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.


PhysicsMaterial 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.