SpriteBase3D.xml 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <class name="SpriteBase3D" inherits="GeometryInstance3D" version="4.0">
  3. <brief_description>
  4. 2D sprite node in 3D environment.
  5. </brief_description>
  6. <description>
  7. A node that displays 2D texture information in a 3D environment. See also [Sprite3D] where many other properties are defined.
  8. </description>
  9. <tutorials>
  10. </tutorials>
  11. <methods>
  12. <method name="generate_triangle_mesh" qualifiers="const">
  13. <return type="TriangleMesh" />
  14. <description>
  15. Returns a [TriangleMesh] with the sprite's vertices following its current configuration (such as its [member axis] and [member pixel_size]).
  16. </description>
  17. </method>
  18. <method name="get_draw_flag" qualifiers="const">
  19. <return type="bool" />
  20. <argument index="0" name="flag" type="int" enum="SpriteBase3D.DrawFlags" />
  21. <description>
  22. Returns the value of the specified flag.
  23. </description>
  24. </method>
  25. <method name="get_item_rect" qualifiers="const">
  26. <return type="Rect2" />
  27. <description>
  28. Returns the rectangle representing this sprite.
  29. </description>
  30. </method>
  31. <method name="set_draw_flag">
  32. <return type="void" />
  33. <argument index="0" name="flag" type="int" enum="SpriteBase3D.DrawFlags" />
  34. <argument index="1" name="enabled" type="bool" />
  35. <description>
  36. If [code]true[/code], the specified flag will be enabled. See [enum SpriteBase3D.DrawFlags] for a list of flags.
  37. </description>
  38. </method>
  39. </methods>
  40. <members>
  41. <member name="alpha_cut" type="int" setter="set_alpha_cut_mode" getter="get_alpha_cut_mode" enum="SpriteBase3D.AlphaCutMode" default="0">
  42. The alpha cutting mode to use for the sprite. See [enum AlphaCutMode] for possible values.
  43. </member>
  44. <member name="axis" type="int" setter="set_axis" getter="get_axis" enum="Vector3.Axis" default="2">
  45. The direction in which the front of the texture faces.
  46. </member>
  47. <member name="billboard" type="int" setter="set_billboard_mode" getter="get_billboard_mode" enum="BaseMaterial3D.BillboardMode" default="0">
  48. The billboard mode to use for the sprite. See [enum BaseMaterial3D.BillboardMode] for possible values.
  49. </member>
  50. <member name="centered" type="bool" setter="set_centered" getter="is_centered" default="true">
  51. If [code]true[/code], texture will be centered.
  52. </member>
  53. <member name="double_sided" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="true">
  54. 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.
  55. </member>
  56. <member name="flip_h" type="bool" setter="set_flip_h" getter="is_flipped_h" default="false">
  57. If [code]true[/code], texture is flipped horizontally.
  58. </member>
  59. <member name="flip_v" type="bool" setter="set_flip_v" getter="is_flipped_v" default="false">
  60. If [code]true[/code], texture is flipped vertically.
  61. </member>
  62. <member name="modulate" type="Color" setter="set_modulate" getter="get_modulate" default="Color(1, 1, 1, 1)">
  63. A color value that gets multiplied on, could be used for mood-coloring or to simulate the color of light.
  64. </member>
  65. <member name="offset" type="Vector2" setter="set_offset" getter="get_offset" default="Vector2(0, 0)">
  66. The texture's drawing offset.
  67. </member>
  68. <member name="opacity" type="float" setter="set_opacity" getter="get_opacity" default="1.0">
  69. The objects' visibility on a scale from [code]0[/code] fully invisible to [code]1[/code] fully visible.
  70. </member>
  71. <member name="pixel_size" type="float" setter="set_pixel_size" getter="get_pixel_size" default="0.01">
  72. The size of one pixel's width on the sprite to scale it in 3D.
  73. </member>
  74. <member name="shaded" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="false">
  75. If [code]true[/code], the [Light3D] in the [Environment] has effects on the sprite.
  76. </member>
  77. <member name="transparent" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="true">
  78. If [code]true[/code], the texture's transparency and the opacity are used to make those parts of the sprite invisible.
  79. </member>
  80. </members>
  81. <constants>
  82. <constant name="FLAG_TRANSPARENT" value="0" enum="DrawFlags">
  83. If set, the texture's transparency and the opacity are used to make those parts of the sprite invisible.
  84. </constant>
  85. <constant name="FLAG_SHADED" value="1" enum="DrawFlags">
  86. If set, lights in the environment affect the sprite.
  87. </constant>
  88. <constant name="FLAG_DOUBLE_SIDED" value="2" enum="DrawFlags">
  89. If set, texture can be seen from the back as well. If not, the texture is invisible when looking at it from behind.
  90. </constant>
  91. <constant name="FLAG_MAX" value="3" enum="DrawFlags">
  92. Represents the size of the [enum DrawFlags] enum.
  93. </constant>
  94. <constant name="ALPHA_CUT_DISABLED" value="0" enum="AlphaCutMode">
  95. This mode performs standard alpha blending. It can display translucent areas, but transparency sorting issues may be visible when multiple transparent materials are overlapping.
  96. </constant>
  97. <constant name="ALPHA_CUT_DISCARD" value="1" enum="AlphaCutMode">
  98. 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].
  99. </constant>
  100. <constant name="ALPHA_CUT_OPAQUE_PREPASS" value="2" enum="AlphaCutMode">
  101. 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.
  102. </constant>
  103. </constants>
  104. </class>