<?xml version="1.0" encoding="UTF-8" ?>
<class name="Sprite3D" inherits="SpriteBase3D" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
	<brief_description>
		2D sprite node in a 3D world.
	</brief_description>
	<description>
		A node that displays a 2D texture in a 3D environment. The texture displayed can be a region from a larger atlas texture, or a frame from a sprite sheet animation. See also [SpriteBase3D] where properties such as the billboard mode are defined.
	</description>
	<tutorials>
	</tutorials>
	<members>
		<member name="frame" type="int" setter="set_frame" getter="get_frame" default="0">
			Current frame to display from sprite sheet. [member hframes] or [member vframes] must be greater than 1. This property is automatically adjusted when [member hframes] or [member vframes] are changed to keep pointing to the same visual frame (same column and row). If that's impossible, this value is reset to [code]0[/code].
		</member>
		<member name="frame_coords" type="Vector2i" setter="set_frame_coords" getter="get_frame_coords" default="Vector2i(0, 0)">
			Coordinates of the frame to display from sprite sheet. This is as an alias for the [member frame] property. [member hframes] or [member vframes] must be greater than 1.
		</member>
		<member name="hframes" type="int" setter="set_hframes" getter="get_hframes" default="1">
			The number of columns in the sprite sheet. When this property is changed, [member frame] is adjusted so that the same visual frame is maintained (same row and column). If that's impossible, [member frame] is reset to [code]0[/code].
		</member>
		<member name="region_enabled" type="bool" setter="set_region_enabled" getter="is_region_enabled" default="false">
			If [code]true[/code], the sprite will use [member region_rect] and display only the specified part of its texture.
		</member>
		<member name="region_rect" type="Rect2" setter="set_region_rect" getter="get_region_rect" default="Rect2(0, 0, 0, 0)">
			The region of the atlas texture to display. [member region_enabled] must be [code]true[/code].
		</member>
		<member name="texture" type="Texture2D" setter="set_texture" getter="get_texture">
			[Texture2D] object to draw. If [member GeometryInstance3D.material_override] is used, this will be overridden. The size information is still used.
		</member>
		<member name="vframes" type="int" setter="set_vframes" getter="get_vframes" default="1">
			The number of rows in the sprite sheet. When this property is changed, [member frame] is adjusted so that the same visual frame is maintained (same row and column). If that's impossible, [member frame] is reset to [code]0[/code].
		</member>
	</members>
	<signals>
		<signal name="frame_changed">
			<description>
				Emitted when the [member frame] changes.
			</description>
		</signal>
		<signal name="texture_changed">
			<description>
				Emitted when the [member texture] changes.
			</description>
		</signal>
	</signals>
</class>
