2017-09-13 04:42:36 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2020-03-31 00:22:57 +08:00
<class name= "SpriteBase3D" inherits= "GeometryInstance3D" version= "4.0" >
2017-09-13 04:42:36 +08:00
<brief_description >
2019-06-22 07:04:47 +08:00
2D sprite node in 3D environment.
2017-09-13 04:42:36 +08:00
</brief_description>
<description >
2020-09-11 03:38:36 +08:00
A node that displays 2D texture information in a 3D environment. See also [Sprite3D] where many other properties are defined.
2017-09-13 04:42:36 +08:00
</description>
<tutorials >
</tutorials>
<methods >
2018-06-14 04:29:54 +08:00
<method name= "generate_triangle_mesh" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "TriangleMesh" />
2018-06-14 04:29:54 +08:00
<description >
2020-09-11 03:38:36 +08:00
Returns a [TriangleMesh] with the sprite's vertices following its current configuration (such as its [member axis] and [member pixel_size]).
2018-06-14 04:29:54 +08:00
</description>
</method>
2019-06-27 22:10:09 +08:00
<method name= "get_draw_flag" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "bool" />
<argument index= "0" name= "flag" type= "int" enum= "SpriteBase3D.DrawFlags" />
2019-06-27 22:10:09 +08:00
<description >
2020-03-04 02:21:21 +08:00
Returns the value of the specified flag.
2019-06-27 22:10:09 +08:00
</description>
</method>
2017-09-13 04:42:36 +08:00
<method name= "get_item_rect" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "Rect2" />
2017-09-13 04:42:36 +08:00
<description >
2020-03-04 02:21:21 +08:00
Returns the rectangle representing this sprite.
2017-09-13 04:42:36 +08:00
</description>
</method>
2019-06-27 22:10:09 +08:00
<method name= "set_draw_flag" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
<argument index= "0" name= "flag" type= "int" enum= "SpriteBase3D.DrawFlags" />
<argument index= "1" name= "enabled" type= "bool" />
2019-06-27 22:10:09 +08:00
<description >
2020-09-11 03:38:36 +08:00
If [code]true[/code], the specified flag will be enabled. See [enum SpriteBase3D.DrawFlags] for a list of flags.
2019-06-27 22:10:09 +08:00
</description>
</method>
2017-09-13 04:42:36 +08:00
</methods>
<members >
2019-06-29 18:38:01 +08:00
<member name= "alpha_cut" type= "int" setter= "set_alpha_cut_mode" getter= "get_alpha_cut_mode" enum= "SpriteBase3D.AlphaCutMode" default= "0" >
2020-09-11 03:38:36 +08:00
The alpha cutting mode to use for the sprite. See [enum AlphaCutMode] for possible values.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "axis" type= "int" setter= "set_axis" getter= "get_axis" enum= "Vector3.Axis" default= "2" >
2017-10-07 00:33:16 +08:00
The direction in which the front of the texture faces.
2017-09-13 04:42:36 +08:00
</member>
2020-02-12 16:59:06 +08:00
<member name= "billboard" type= "int" setter= "set_billboard_mode" getter= "get_billboard_mode" enum= "BaseMaterial3D.BillboardMode" default= "0" >
2020-09-11 03:38:36 +08:00
The billboard mode to use for the sprite. See [enum BaseMaterial3D.BillboardMode] for possible values.
2019-08-29 21:33:52 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "centered" type= "bool" setter= "set_centered" getter= "is_centered" default= "true" >
2019-06-29 21:24:23 +08:00
If [code]true[/code], texture will be centered.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "double_sided" type= "bool" setter= "set_draw_flag" getter= "get_draw_flag" default= "true" >
2019-06-29 21:24:23 +08:00
If [code]true[/code], texture can be seen from the back as well, if [code]false[/code], it is invisible when looking at it from behind.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "flip_h" type= "bool" setter= "set_flip_h" getter= "is_flipped_h" default= "false" >
2019-06-29 21:24:23 +08:00
If [code]true[/code], texture is flipped horizontally.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "flip_v" type= "bool" setter= "set_flip_v" getter= "is_flipped_v" default= "false" >
2019-06-29 21:24:23 +08:00
If [code]true[/code], texture is flipped vertically.
2017-09-13 04:42:36 +08:00
</member>
2019-09-25 01:45:03 +08:00
<member name= "modulate" type= "Color" setter= "set_modulate" getter= "get_modulate" default= "Color(1, 1, 1, 1)" >
2021-11-29 22:52:07 +08:00
A color value used to [i]multiply[/i] the texture's colors. Can be used for mood-coloring or to simulate the color of light.
[b]Note:[/b] If a [member GeometryInstance3D.material_override] is defined on the [SpriteBase3D], the material override must be configured to take vertex colors into account for albedo. Otherwise, the color defined in [member modulate] will be ignored. For a [BaseMaterial3D], [member BaseMaterial3D.vertex_color_use_as_albedo] must be [code]true[/code]. For a [ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the shader's [code]fragment()[/code] function.
2017-09-13 04:42:36 +08:00
</member>
2019-09-25 01:45:03 +08:00
<member name= "offset" type= "Vector2" setter= "set_offset" getter= "get_offset" default= "Vector2(0, 0)" >
2017-10-07 00:33:16 +08:00
The texture's drawing offset.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "pixel_size" type= "float" setter= "set_pixel_size" getter= "get_pixel_size" default= "0.01" >
2019-06-22 07:04:47 +08:00
The size of one pixel's width on the sprite to scale it in 3D.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "shaded" type= "bool" setter= "set_draw_flag" getter= "get_draw_flag" default= "false" >
2020-03-31 00:22:57 +08:00
If [code]true[/code], the [Light3D] in the [Environment] has effects on the sprite.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "transparent" type= "bool" setter= "set_draw_flag" getter= "get_draw_flag" default= "true" >
2019-06-29 21:24:23 +08:00
If [code]true[/code], the texture's transparency and the opacity are used to make those parts of the sprite invisible.
2017-09-13 04:42:36 +08:00
</member>
</members>
<constants >
2017-11-25 06:16:30 +08:00
<constant name= "FLAG_TRANSPARENT" value= "0" enum= "DrawFlags" >
2019-06-22 07:04:47 +08:00
If set, the texture's transparency and the opacity are used to make those parts of the sprite invisible.
2017-09-13 04:42:36 +08:00
</constant>
2017-11-25 06:16:30 +08:00
<constant name= "FLAG_SHADED" value= "1" enum= "DrawFlags" >
2019-06-22 07:04:47 +08:00
If set, lights in the environment affect the sprite.
2017-09-13 04:42:36 +08:00
</constant>
2017-11-25 06:16:30 +08:00
<constant name= "FLAG_DOUBLE_SIDED" value= "2" enum= "DrawFlags" >
2020-09-11 03:38:36 +08:00
If set, texture can be seen from the back as well. If not, the texture is invisible when looking at it from behind.
2017-09-13 04:42:36 +08:00
</constant>
2017-11-25 06:16:30 +08:00
<constant name= "FLAG_MAX" value= "3" enum= "DrawFlags" >
2019-06-27 17:10:53 +08:00
Represents the size of the [enum DrawFlags] enum.
2017-09-13 04:42:36 +08:00
</constant>
2017-11-25 06:16:30 +08:00
<constant name= "ALPHA_CUT_DISABLED" value= "0" enum= "AlphaCutMode" >
2020-09-11 03:38:36 +08:00
This mode performs standard alpha blending. It can display translucent areas, but transparency sorting issues may be visible when multiple transparent materials are overlapping.
2017-09-13 04:42:36 +08:00
</constant>
2017-11-25 06:16:30 +08:00
<constant name= "ALPHA_CUT_DISCARD" value= "1" enum= "AlphaCutMode" >
2021-02-19 20:35:31 +08:00
This mode only allows fully transparent or fully opaque pixels. Harsh edges will be visible unless some form of screen-space antialiasing is enabled (see [member ProjectSettings.rendering/anti_aliasing/quality/screen_space_aa]). On the bright side, this mode doesn't suffer from transparency sorting issues when multiple transparent materials are overlapping. This mode is also known as [i]alpha testing[/i] or [i]1-bit transparency[/i].
2017-09-13 04:42:36 +08:00
</constant>
2017-11-25 06:16:30 +08:00
<constant name= "ALPHA_CUT_OPAQUE_PREPASS" value= "2" enum= "AlphaCutMode" >
2020-09-11 03:38:36 +08:00
This mode draws fully opaque pixels in the depth prepass. This is slower than [constant ALPHA_CUT_DISABLED] or [constant ALPHA_CUT_DISCARD], but it allows displaying translucent areas and smooth edges while using proper sorting.
2017-09-13 04:42:36 +08:00
</constant>
</constants>
</class>