Label3D

package
v0.0.0-...-5e8c587 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 24, 2025 License: MIT Imports: 34 Imported by: 0

Documentation

Overview

A node for displaying plain text in 3D space. By adjusting various properties of this node, you can configure things such as the text's appearance and whether it always faces the camera.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Advanced

type Advanced = class

Advanced exposes a 1:1 low-level instance of the class, undocumented, for those who know what they are doing.

type AlphaCutMode

type AlphaCutMode int //gd:Label3D.AlphaCutMode
const (
	// This mode performs standard alpha blending. It can display translucent areas, but transparency sorting issues may be visible when multiple transparent materials are overlapping. [GeometryInstance3D.CastShadow] has no effect when this transparency mode is used; the [Label3D] will never cast shadows.
	//
	// [GeometryInstance3D.CastShadow]: https://pkg.go.dev/graphics.gd/classdb/GeometryInstance3D#Instance.CastShadow
	// [Label3D]: https://pkg.go.dev/graphics.gd/classdb/Label3D
	AlphaCutDisabled AlphaCutMode = 0
	// 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 [ProjectSettings] "rendering/anti_aliasing/quality/screen_space_aa"). This mode is also known as alpha testing or 1-bit transparency.
	//
	// Note: This mode might have issues with anti-aliased fonts and outlines, try adjusting [AlphaScissorThreshold] or using MSDF font.
	//
	// Note: When using text with overlapping glyphs (e.g., cursive scripts), this mode might have transparency sorting issues between the main text and the outline.
	//
	// [AlphaScissorThreshold]: https://pkg.go.dev/graphics.gd/classdb/#Instance.AlphaScissorThreshold
	// [ProjectSettings]: https://pkg.go.dev/graphics.gd/classdb/ProjectSettings
	AlphaCutDiscard AlphaCutMode = 1
	// This mode draws fully opaque pixels in the depth prepass. This is slower than [AlphaCutDisabled] or [AlphaCutDiscard], but it allows displaying translucent areas and smooth edges while using proper sorting.
	//
	// Note: When using text with overlapping glyphs (e.g., cursive scripts), this mode might have transparency sorting issues between the main text and the outline.
	AlphaCutOpaquePrepass AlphaCutMode = 2
	// This mode draws cuts off all values below a spatially-deterministic threshold, the rest will remain opaque.
	AlphaCutHash AlphaCutMode = 3
)

type Any

type Any interface {
	gd.IsClass
	AsLabel3D() Instance
}

type DrawFlags

type DrawFlags int //gd:Label3D.DrawFlags
const (
	// If set, lights in the environment affect the label.
	FlagShaded DrawFlags = 0
	// If set, text can be seen from the back as well. If not, the text is invisible when looking at it from behind.
	FlagDoubleSided DrawFlags = 1
	// Disables the depth test, so this object is drawn on top of all others. However, objects drawn after it in the draw order may cover it.
	FlagDisableDepthTest DrawFlags = 2
	// Label is scaled by depth so that it always appears the same size on screen.
	FlagFixedSize DrawFlags = 3
	// Represents the size of the [DrawFlags] enum.
	FlagMax DrawFlags = 4
)

type Extension

type Extension[T gdclass.Interface] struct{ gdclass.Extension[T, Instance] }

Extension can be embedded in a new struct to create an extension of this class. T should be the type that is embedding this Extension

func (*Extension[T]) AsGeometryInstance3D

func (self *Extension[T]) AsGeometryInstance3D() GeometryInstance3D.Instance

func (*Extension[T]) AsLabel3D

func (self *Extension[T]) AsLabel3D() Instance

func (*Extension[T]) AsNode

func (self *Extension[T]) AsNode() Node.Instance

func (*Extension[T]) AsNode3D

func (self *Extension[T]) AsNode3D() Node3D.Instance

func (*Extension[T]) AsObject

func (self *Extension[T]) AsObject() [1]gd.Object

func (*Extension[T]) AsVisualInstance3D

func (self *Extension[T]) AsVisualInstance3D() VisualInstance3D.Instance

type ID

type ID Object.ID

ID is a typed object ID (reference) to an instance of this class, use it to store references to objects with unknown lifetimes, as an ID will not panic on use if the underlying object has been destroyed.

func (ID) Instance

func (id ID) Instance() (Instance, bool)

type Instance

type Instance [1]gdclass.Label3D

Instance of the class with convieniently typed arguments and results.

var Nil Instance

Nil is a nil/null instance of the class. Equivalent to the zero value.

func New

func New() Instance

func (Instance) AlphaAntialiasingEdge

func (self Instance) AlphaAntialiasingEdge() Float.X

Threshold at which antialiasing will be applied on the alpha channel.

func (Instance) AlphaAntialiasingMode

func (self Instance) AlphaAntialiasingMode() BaseMaterial3D.AlphaAntiAliasing

The type of alpha antialiasing to apply.

func (Instance) AlphaCut

func (self Instance) AlphaCut() AlphaCutMode

The alpha cutting mode to use for the sprite.

func (Instance) AlphaHashScale

func (self Instance) AlphaHashScale() Float.X

The hashing scale for Alpha Hash. Recommended values between 0 and 2.

func (Instance) AlphaScissorThreshold

func (self Instance) AlphaScissorThreshold() Float.X

Threshold at which the alpha scissor will discard values.

func (Instance) AsGeometryInstance3D

func (self Instance) AsGeometryInstance3D() GeometryInstance3D.Instance

func (Instance) AsLabel3D

func (self Instance) AsLabel3D() Instance

func (Instance) AsNode

func (self Instance) AsNode() Node.Instance

func (Instance) AsNode3D

func (self Instance) AsNode3D() Node3D.Instance

func (Instance) AsObject

func (self Instance) AsObject() [1]gd.Object

func (Instance) AsVisualInstance3D

func (self Instance) AsVisualInstance3D() VisualInstance3D.Instance

func (Instance) AutowrapMode

func (self Instance) AutowrapMode() TextServer.AutowrapMode

If set to something other than [Textserver.AutowrapOff], the text gets wrapped inside the node's bounding rectangle. If you resize the node, it will change its height automatically to show all the text.

func (Instance) AutowrapTrimFlags

func (self Instance) AutowrapTrimFlags() TextServer.LineBreakFlag

Autowrap space trimming flags. See [Textserver.BreakTrimStartEdgeSpaces] and [Textserver.BreakTrimEndEdgeSpaces] for more info.

func (Instance) Billboard

func (self Instance) Billboard() BaseMaterial3D.BillboardMode

The billboard mode to use for the label.

func (Instance) DoubleSided

func (self Instance) DoubleSided() bool

If true, text can be seen from the back as well, if false, it is invisible when looking at it from behind.

func (Instance) FixedSize

func (self Instance) FixedSize() bool

If true, the label is rendered at the same size regardless of distance. The label's size on screen is the same as if the camera was 1.0 units away from the label's origin, regardless of the actual distance from the camera. The Camera3D's field of view (or Camera3D.Size when in orthogonal/frustum mode) still affects the size the label is drawn at.

func (Instance) Font

func (self Instance) Font() Font.Instance

Font configuration used to display text.

func (Instance) FontSize

func (self Instance) FontSize() int

Font size of the Label3D's text. To make the font look more detailed when up close, increase FontSize while decreasing PixelSize at the same time.

Higher font sizes require more time to render new characters, which can cause stuttering during gameplay.

func (Instance) GenerateTriangleMesh

func (self Instance) GenerateTriangleMesh() TriangleMesh.Instance

Returns a TriangleMesh with the label's vertices following its current configuration (such as its PixelSize).

func (Instance) HorizontalAlignment

func (self Instance) HorizontalAlignment() GUI.HorizontalAlignment

Controls the text's horizontal alignment. Supports left, center, right, and fill (also known as justify).

func (Instance) ID

func (self Instance) ID() ID

func (Instance) JustificationFlags

func (self Instance) JustificationFlags() TextServer.JustificationFlag

Line fill alignment rules.

func (Instance) Language

func (self Instance) Language() string

Language code used for line-breaking and text shaping algorithms, if left empty current locale is used instead.

func (Instance) LineSpacing

func (self Instance) LineSpacing() Float.X

Additional vertical spacing between lines (in pixels), spacing is added to line descent. This value can be negative.

func (Instance) Modulate

func (self Instance) Modulate() Color.RGBA

Text Color.RGBA of the Label3D.

func (Instance) NoDepthTest

func (self Instance) NoDepthTest() bool

If true, depth testing is disabled and the object will be drawn in render order.

func (Instance) Offset

func (self Instance) Offset() Vector2.XY

The text drawing offset (in pixels).

func (Instance) OutlineModulate

func (self Instance) OutlineModulate() Color.RGBA

The tint of text outline.

func (Instance) OutlineRenderPriority

func (self Instance) OutlineRenderPriority() int

Sets the render priority for the text outline. Higher priority objects will be sorted in front of lower priority objects.

Note: This only applies if AlphaCut is set to AlphaCutDisabled (default value).

Note: This only applies to sorting of transparent objects. This will not impact how transparent objects are sorted relative to opaque objects. This is because opaque objects are not sorted, while transparent objects are sorted from back to front (subject to priority).

func (Instance) OutlineSize

func (self Instance) OutlineSize() int

Text outline size.

func (Instance) PixelSize

func (self Instance) PixelSize() Float.X

The size of one pixel's width on the label to scale it in 3D. To make the font look more detailed when up close, increase FontSize while decreasing PixelSize at the same time.

func (Instance) RenderPriority

func (self Instance) RenderPriority() int

Sets the render priority for the text. Higher priority objects will be sorted in front of lower priority objects.

Note: This only applies if AlphaCut is set to AlphaCutDisabled (default value).

Note: This only applies to sorting of transparent objects. This will not impact how transparent objects are sorted relative to opaque objects. This is because opaque objects are not sorted, while transparent objects are sorted from back to front (subject to priority).

func (Instance) SetAlphaAntialiasingEdge

func (self Instance) SetAlphaAntialiasingEdge(value Float.X)

SetAlphaAntialiasingEdge sets the property returned by [GetAlphaAntialiasingEdge].

func (Instance) SetAlphaAntialiasingMode

func (self Instance) SetAlphaAntialiasingMode(value BaseMaterial3D.AlphaAntiAliasing)

SetAlphaAntialiasingMode sets the property returned by [GetAlphaAntialiasing].

func (Instance) SetAlphaCut

func (self Instance) SetAlphaCut(value AlphaCutMode)

SetAlphaCut sets the property returned by [GetAlphaCutMode].

func (Instance) SetAlphaHashScale

func (self Instance) SetAlphaHashScale(value Float.X)

SetAlphaHashScale sets the property returned by [GetAlphaHashScale].

func (Instance) SetAlphaScissorThreshold

func (self Instance) SetAlphaScissorThreshold(value Float.X)

SetAlphaScissorThreshold sets the property returned by [GetAlphaScissorThreshold].

func (Instance) SetAutowrapMode

func (self Instance) SetAutowrapMode(value TextServer.AutowrapMode)

SetAutowrapMode sets the property returned by [GetAutowrapMode].

func (Instance) SetAutowrapTrimFlags

func (self Instance) SetAutowrapTrimFlags(value TextServer.LineBreakFlag)

SetAutowrapTrimFlags sets the property returned by [GetAutowrapTrimFlags].

func (Instance) SetBillboard

func (self Instance) SetBillboard(value BaseMaterial3D.BillboardMode)

SetBillboard sets the property returned by [GetBillboardMode].

func (Instance) SetDoubleSided

func (self Instance) SetDoubleSided(value bool)

SetDoubleSided sets the property returned by [GetDrawFlag].

func (Instance) SetFixedSize

func (self Instance) SetFixedSize(value bool)

SetFixedSize sets the property returned by [GetDrawFlag].

func (Instance) SetFont

func (self Instance) SetFont(value Font.Instance)

SetFont sets the property returned by [GetFont].

func (Instance) SetFontSize

func (self Instance) SetFontSize(value int)

SetFontSize sets the property returned by [GetFontSize].

func (Instance) SetHorizontalAlignment

func (self Instance) SetHorizontalAlignment(value GUI.HorizontalAlignment)

SetHorizontalAlignment sets the property returned by [GetHorizontalAlignment].

func (Instance) SetJustificationFlags

func (self Instance) SetJustificationFlags(value TextServer.JustificationFlag)

SetJustificationFlags sets the property returned by [GetJustificationFlags].

func (Instance) SetLanguage

func (self Instance) SetLanguage(value string)

SetLanguage sets the property returned by [GetLanguage].

func (Instance) SetLineSpacing

func (self Instance) SetLineSpacing(value Float.X)

SetLineSpacing sets the property returned by [GetLineSpacing].

func (Instance) SetModulate

func (self Instance) SetModulate(value Color.RGBA)

SetModulate sets the property returned by [GetModulate].

func (Instance) SetNoDepthTest

func (self Instance) SetNoDepthTest(value bool)

SetNoDepthTest sets the property returned by [GetDrawFlag].

func (*Instance) SetObject

func (self *Instance) SetObject(obj [1]gd.Object) bool

func (Instance) SetOffset

func (self Instance) SetOffset(value Vector2.XY)

SetOffset sets the property returned by [GetOffset].

func (Instance) SetOutlineModulate

func (self Instance) SetOutlineModulate(value Color.RGBA)

SetOutlineModulate sets the property returned by [GetOutlineModulate].

func (Instance) SetOutlineRenderPriority

func (self Instance) SetOutlineRenderPriority(value int)

SetOutlineRenderPriority sets the property returned by [GetOutlineRenderPriority].

func (Instance) SetOutlineSize

func (self Instance) SetOutlineSize(value int)

SetOutlineSize sets the property returned by [GetOutlineSize].

func (Instance) SetPixelSize

func (self Instance) SetPixelSize(value Float.X)

SetPixelSize sets the property returned by [GetPixelSize].

func (Instance) SetRenderPriority

func (self Instance) SetRenderPriority(value int)

SetRenderPriority sets the property returned by [GetRenderPriority].

func (Instance) SetShaded

func (self Instance) SetShaded(value bool)

SetShaded sets the property returned by [GetDrawFlag].

func (Instance) SetStructuredTextBidiOverride

func (self Instance) SetStructuredTextBidiOverride(value TextServer.StructuredTextParser)

SetStructuredTextBidiOverride sets the property returned by [GetStructuredTextBidiOverride].

func (Instance) SetStructuredTextBidiOverrideOptions

func (self Instance) SetStructuredTextBidiOverrideOptions(value []any)

SetStructuredTextBidiOverrideOptions sets the property returned by [GetStructuredTextBidiOverrideOptions].

func (Instance) SetText

func (self Instance) SetText(value string)

SetText sets the property returned by [GetText].

func (Instance) SetTextDirection

func (self Instance) SetTextDirection(value TextServer.Direction)

SetTextDirection sets the property returned by [GetTextDirection].

func (Instance) SetTextureFilter

func (self Instance) SetTextureFilter(value BaseMaterial3D.TextureFilter)

SetTextureFilter sets the property returned by [GetTextureFilter].

func (Instance) SetUppercase

func (self Instance) SetUppercase(value bool)

SetUppercase sets the property returned by [IsUppercase].

func (Instance) SetVerticalAlignment

func (self Instance) SetVerticalAlignment(value GUI.VerticalAlignment)

SetVerticalAlignment sets the property returned by [GetVerticalAlignment].

func (Instance) SetWidth

func (self Instance) SetWidth(value Float.X)

SetWidth sets the property returned by [GetWidth].

func (Instance) Shaded

func (self Instance) Shaded() bool

If true, the Light3D in the Environment has effects on the label.

func (Instance) StructuredTextBidiOverride

func (self Instance) StructuredTextBidiOverride() TextServer.StructuredTextParser

Set BiDi algorithm override for the structured text.

func (Instance) StructuredTextBidiOverrideOptions

func (self Instance) StructuredTextBidiOverrideOptions() []any

Set additional options for BiDi override.

func (Instance) Text

func (self Instance) Text() string

The text to display on screen.

func (Instance) TextDirection

func (self Instance) TextDirection() TextServer.Direction

Base text writing direction.

func (Instance) TextureFilter

func (self Instance) TextureFilter() BaseMaterial3D.TextureFilter

Filter flags for the texture.

func (Instance) Uppercase

func (self Instance) Uppercase() bool

If true, all the text displays as UPPERCASE.

func (Instance) VerticalAlignment

func (self Instance) VerticalAlignment() GUI.VerticalAlignment

Controls the text's vertical alignment. Supports top, center, and bottom.

func (Instance) Virtual

func (self Instance) Virtual(name string) reflect.Value

func (Instance) Width

func (self Instance) Width() Float.X

Text width (in pixels), used for autowrap and fill alignment.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL