Up to date

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

AnimatedSprite3D

Inherits: SpriteBase3D < GeometryInstance3D < VisualInstance3D < Node3D < Node < Object

2D sprite node in 3D world, that can use multiple 2D textures for animation.

Description

AnimatedSprite3D is similar to the Sprite3D node, except it carries multiple textures as animation sprite_frames. Animations are created using a SpriteFrames resource, which allows you to import image files (or a folder containing said files) to provide the animation frames for the sprite. The SpriteFrames resource can be configured in the editor via the SpriteFrames bottom panel.

Tutorials

Properties

StringName

animation

&"default"

String

autoplay

""

int

frame

0

float

frame_progress

0.0

float

speed_scale

1.0

SpriteFrames

sprite_frames

Methods

float

get_playing_speed ( ) const

bool

is_playing ( ) const

void

pause ( )

void

play ( StringName name=&"", float custom_speed=1.0, bool from_end=false )

void

play_backwards ( StringName name=&"" )

void

set_frame_and_progress ( int frame, float progress )

void

stop ( )


Signals

animation_changed ( )

Emitted when animation changes.


animation_finished ( )

Emitted when the animation reaches the end, or the start if it is played in reverse. When the animation finishes, it pauses the playback.


animation_looped ( )

Emitted when the animation loops.


frame_changed ( )

Emitted when frame changes.


sprite_frames_changed ( )

Emitted when sprite_frames changes.


Property Descriptions

StringName animation = &"default"

The current animation from the sprite_frames resource. If this value is changed, the frame counter and the frame_progress are reset.


String autoplay = ""

  • void set_autoplay ( String value )

  • String get_autoplay ( )

The key of the animation to play when the scene loads.


int frame = 0

  • void set_frame ( int value )

  • int get_frame ( )

The displayed animation frame's index. Setting this property also resets frame_progress. If this is not desired, use set_frame_and_progress.


float frame_progress = 0.0

  • void set_frame_progress ( float value )

  • float get_frame_progress ( )

The progress value between 0.0