🆒 Text3D
Class to create 3D Text with advanced options

👪Inheritance
warning
Text3D is experimental and may have some limitations. It generates meshes dynamically in runtime, thus it is more performance heavy. Consider using TextRender if you don't need the extra features.
🎒 Examples
local my_text_3d = Text3D(
Vector(-100, 200, 300),
Rotator(),
"My Awesome Text",
Vector(1, 1, 1), -- Scale
Color(1, 0, 0), -- Red Color
FontType.OpenSans,
Text3DAlignCamera.FaceCamera
)
info
If you desire your Text3D to be visible through walls, replace it's material with the nanos Default TranslucentDepth one!
SetMaterial("nanos-world::M_Default_Translucent_Unlit_Depth").
You can also tweak it's color and other properties using the Material methods.
🛠 Constructors
Default Constructor
No description provided
local my_text3d = Text3D(location, rotation, text, scale?, color?, font_type?, align_camera?)
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Vector | location | Required parameter | World location to spawn at |
| Rotator | rotation | Required parameter | World rotation to spawn with |
| string | text | Required parameter | The text to display |
| Vector | scale | Vector(1, 1, 1) | Scale of the text |
| Color | color | Color(1, 1, 1, 1) | Color of the text |
| FontType | font_type | FontType.Roboto | Font to use |
| Text3DAlignCamera | align_camera | Text3DAlignCamera.Unaligned | Whether and how the text rotates to face the camera |
🗿 Static Functions
Inherited Entity Static Functions
Text3D inherits from Base Entity Class, sharing it's methods and functions:
Base Entityscripting-reference/classes/base-classes/entity
Base Entityscripting-reference/classes/base-classes/entity
| Returns | Name | Description | |
|---|---|---|---|
| table of Base Entity | GetAll | Returns a table containing all Entities of the class this is called on | |
| Base Entity | GetByIndex | Returns a specific Entity of this class at an index | |
| integer | GetCount | Returns how many Entities of this class exist | |
| table of table | GetInheritedClasses | Gets a list of all directly inherited classes from this Class created with the Inheriting System | |
| iterator | GetPairs | Returns an iterator with all Entities of this class to be used with pairs() | |
| table or nil | GetParentClass | Gets the parent class if this Class was created with the Inheriting System | |
| table | Inherit | Inherits this class with the Inheriting System | |
| boolean | IsChildOf | Gets if this Class is child of another class if this Class was created with the Inheriting System | |
| function | Subscribe | Subscribes to an Event for all entities of this Class | |
| function | SubscribeRemote | Subscribes to a custom event called from server | |
Unsubscribe | Unsubscribes all callbacks from this Event in this Class within this Package, or only the callback passed |
This class doesn't have own static functions.
🦠 Functions
Inherited Entity Functions
Text3D inherits from Base Entity Class, sharing it's methods and functions:
Base Entityscripting-reference/classes/base-classes/entity
Base Entityscripting-reference/classes/base-classes/entity
| Returns | Name | Description | |
|---|---|---|---|
BroadcastRemoteEvent | Calls a custom remote event directly on this entity to all Players | ||
BroadcastRemoteInRadiusEvent | Calls a custom remote event directly on this entity to all Players in a radius | ||
CallRemoteEvent | Calls a custom remote event directly on this entity to a specific Player | ||
CallRemoteEvent | Calls a custom remote event directly on this entity | ||
CallRemotePlayersEvent | Calls a custom remote event directly on this entity to a list of Players | ||
Destroy | Destroys this Entity | ||
FinishSpawn | Finish the spawning process and send the entity to clients if it was spawned with a deferred spawn_mode | ||
| table of string | GetAllValuesKeys | Gets a list of all values keys | |
| table | GetClass | Gets the class of this entity | |
| integer | GetID | Gets the universal network ID of this Entity (same on both client and server) | |
| any | GetValue | Gets a Value stored on this Entity at the given key | |
| boolean | HasAuthority | Gets if the local context has authority over this Entity (true if spawned by the client, false if spawned by the server) | |
| boolean | IsA | Recursively checks if this entity is inherited from a Class | |
| boolean | IsBeingDestroyed | Returns true if this Entity is being destroyed | |
| boolean | IsSpawned | Gets if this Entity finished spawning | |
| boolean | IsValid | Returns true if this Entity is valid (i.e. wasn't destroyed and points to a valid Entity) | |
SetSpawnMode | Overrides when this Entity finishes spawning, from the Constructor of an Inherited Class | ||
SetValue | Sets a Value in this Entity | ||
| function | Subscribe | Subscribes to an Event on this specific entity | |
| function | SubscribeRemote | Subscribes to a custom event called from server on this specific entity | |
Unsubscribe | Unsubscribes all callbacks from this Event in this Entity within this Package, or only the callback passed |
Inherited Actor Functions
Text3D inherits from Base Actor Class, sharing it's methods and functions:
Base Actorscripting-reference/classes/base-classes/actor
Base Actorscripting-reference/classes/base-classes/actor
| Returns | Name | Description | |
|---|---|---|---|
AddActorTag | Adds an Unreal Actor Tag to this Actor | ||
AddAngularImpulse | Add an angular impulse to this Actor. Good for one time instant burst | ||
AddImpulse | Add an impulse to this Actor. Good for one time instant burst | ||
| boolean | AttachTo | Attaches this Actor to any other Actor, optionally at a specific bone | |
Detach | Detaches this Actor from AttachedTo Actor | ||
| table of string | GetActorTags | Gets all Unreal Actor Tags on this Actor | |
| Vector | GetAngularForce | Gets this Actor's angular force (set by SetAngularForce()) | |
| float | GetAngularVelocity | Returns the angular velocity of this Actor | |
| table of Base Actor | GetAttachedEntities | Gets all Actors attached to this Actor | |
| Base Actor or nil | GetAttachedTo | Gets the Actor this Actor is attached to | |
| string | GetAttachedToSocket | Gets the bone or socket name this Actor is attached to | |
| table | GetBounds | Gets this Actor's bounds, useful to know its size in the world | |
| CollisionType | GetCollision | Gets this Actor's collision type | |
| integer | GetDimension | Gets this Actor's dimension | |
| float | GetDistanceFromCamera | Gets the distance of this Actor from the Camera | |
| Vector | GetForce | Gets this Actor's force (set by SetForce()) | |
| float | GetLifeSpan | Gets the time (in seconds) left before this Actor is destroyed | |
| Vector | GetLocation | Gets this Actor's location in the game world | |
| float | GetMass | Returns the mass of this Actor | |
| Player or nil | GetNetworkAuthority | Gets this Actor's Network Authority Player | |
| Vector | GetRelativeLocation | Gets this Actor's Relative Location if it's attached | |
| Rotator | GetRelativeRotation | Gets this Actor's Relative Rotation if it's attached | |
| Rotator | GetRotation | Gets this Actor's angle in the game world | |
| Vector | GetScale | Gets this Actor's scale | |
| float | GetScreenPercentage | Gets the percentage of this Actor size in the screen | |
| table | GetSocketTransform | Gets a Socket Transform in world space given a bone or socket name | |
| Vector | GetVelocity | Gets this Actor's current velocity | |
| boolean | HasNetworkAuthority | Returns true if the local Player is currently the Network Authority of this Actor | |
| boolean | IsGravityEnabled | Returns true if gravity is enabled on this Actor | |
| boolean | IsInWater | Returns true if this Actor is in water | |
| boolean | IsNetworkDistributed | Returns true if this Actor is currently network distributed | |
| boolean | IsVisible | Returns true if this Actor is visible | |
RemoveActorTag | Removes an Unreal Actor Tag from this Actor | ||
RotateTo | Smoothly rotates this actor to an angle over a certain time | ||
SetAngularForce | Adds a permanent angular force to this Actor, set to Vector(0, 0, 0) to cancel | ||
SetCastShadow | Sets this Actor's to cast shadows or not | ||
SetCollision | Sets this Actor's collision type | ||
SetDimension | Sets this Actor's Dimension. Actors only see and interact with entities in the same Dimension | ||
SetDistanceOptimizationMultiplier | Sets this Actor's distance optimization multiplier | ||
SetForce | Adds a permanent force to this Actor, set to Vector(0, 0, 0) to cancel | ||
SetGravityEnabled | Sets whether gravity is enabled on this Actor | ||
SetHighlightEnabled | Sets whether the highlight is enabled on this Actor, and which highlight index to use | ||
SetLifeSpan | Sets the time (in seconds) before this Actor is destroyed. After this time has passed, the actor will be automatically destroyed. | ||
SetLocation | Sets this Actor's location in the game world | ||
SetNetworkAuthority | Sets the Player to have network authority over this Actor | ||
SetNetworkAuthorityAutoDistributed | Sets if this Actor will auto distribute the network authority between players | ||
SetOutlineEnabled | Sets whether the outline is enabled on this Actor, and which outline index to use | ||
SetRelativeLocation | Sets this Actor's relative location in local space (only if this actor is attached) | ||
SetRelativeRotation | Sets this Actor's relative rotation in local space (only if this actor is attached) | ||
SetRenderCullDistance | Sets this Actor's render cull distance | ||
SetRotation | Sets this Actor's rotation in the game world | ||
SetScale | Sets this Actor's scale | ||
SetVisibility | Sets whether the actor is visible or not | ||
TranslateTo | Smoothly moves this actor to a location over a certain time | ||
| boolean | WasRecentlyRendered | Gets if this Actor was recently rendered on screen |
Inherited Paintable Functions
Text3D inherits from Base Paintable Class, sharing it's methods and functions:
Base Paintablescripting-reference/classes/base-classes/paintable
Base Paintablescripting-reference/classes/base-classes/paintable
| Returns | Name | Description | |
|---|---|---|---|
| Color | GetMaterialColorParameter | Gets a Color parameter from this Actor's material | |
| float | GetMaterialScalarParameter | Gets a Scalar parameter from this Actor's material | |
| string | GetMaterialTextureParameter | Gets a Texture parameter from this Actor's material | |
| Vector | GetMaterialVectorParameter | Gets a Vector parameter from this Actor's material | |
ResetMaterial | Resets the material from the specified index to the original one | ||
SetMaterial | Sets the material at the specified index of this Actor | ||
SetMaterialColorParameter | Sets a Color parameter in this Actor's material | ||
SetMaterialFromCanvas | Sets the material at the specified index of this Actor to a Canvas object | ||
SetMaterialFromSceneCapture | Sets the material at the specified index of this Actor to a SceneCapture object | ||
SetMaterialFromWebUI | Sets the material at the specified index of this Actor to a WebUI object | ||
SetMaterialScalarParameter | Sets a Scalar parameter in this Actor's material | ||
SetMaterialTextureParameter | Sets a texture parameter in this Actor's material to an image | ||
SetMaterialVectorParameter | Sets a Vector parameter in this Actor's material | ||
SetPhysicalMaterial | Overrides this Actor's Physical Material with a new one |
| Returns | Name | Description | |
|---|---|---|---|
SetFont | Sets the Font | ||
SetGlyphSettings | Sets the Glyph representation settings to generate the 3D Mesh for this text render | ||
SetMaxSize | Sets the Max Size of the Text3D, optionally scaling it proportionally | ||
SetText | Sets the Text | ||
SetTextSettings | Sets the Text & Font settings for this text render |
Optimal

SetFont
Sets the Font
my_text3d:SetFont(font_type)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| FontType | font_type | Required parameter | The new Font |
Optimal

SetGlyphSettings
Sets the Glyph representation settings to generate the 3D Mesh for this text render
my_text3d:SetGlyphSettings(extrude?, level?, bevel_type?, bevel_segments?, outline?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| float | extrude? | 0 | Depth of the 3D letters |
| float | level? | 0 | Size of the bevel |
| Text3DBevelType | bevel_type? | Text3DBevelType.Convex | Shape of the bevel |
| integer | bevel_segments? | 8 | Number of segments of the bevel, more looks smoother |
| boolean | outline? | false | Whether to only generate the outline of the letters |
Optimal

SetMaxSize
Sets the Max Size of the Text3D, optionally scaling it proportionally
my_text3d:SetMaxSize(max_width?, max_height?, scale_proportionally?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| integer | max_width? | 0 | Max width of the text, 0 for no limit |
| integer | max_height? | 0 | Max height of the text, 0 for no limit |
| boolean | scale_proportionally? | true | Whether to keep the aspect ratio when scaling down |
Moderate

SetText
Sets the Text
my_text3d:SetText(text)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | text | Required parameter | The new Text |
Optimal

SetTextSettings
Sets the Text & Font settings for this text render
my_text3d:SetTextSettings(kerning?, line_spacing?, word_spacing?, horizontal_alignment?, vertical_alignment?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| float | kerning? | 0 | Extra spacing between characters |
| float | line_spacing? | 0 | Extra spacing between lines |
| float | word_spacing? | 0 | Extra spacing between words |
| Text3DHorizontalAlignment | horizontal_alignment? | Text3DHorizontalAlignment.Center | Horizontal alignment of the text |
| Text3DVerticalAlignment | vertical_alignment? | Text3DVerticalAlignment.Center | Vertical alignment of the text |
🚀 Events
Inherited Entity Events
Text3D inherits from Base Entity Class, sharing it's events:
Base Entityscripting-reference/classes/base-classes/entity
Base Entityscripting-reference/classes/base-classes/entity
| Name | Description | |
|---|---|---|
ClassRegister | Triggered when a new Class is registered with the Inheriting System | |
Destroy | Triggered when an Entity is destroyed | |
Spawn | Triggered when an Entity is spawned/created | |
ValueChange | Triggered when an Entity has a value changed with :SetValue() |
Inherited Actor Events
Text3D inherits from Base Actor Class, sharing it's events:
Base Actorscripting-reference/classes/base-classes/actor
Base Actorscripting-reference/classes/base-classes/actor
| Name | Description | |
|---|---|---|
DimensionChange | Triggered when an Actor changes its dimension | |
EnterWater | Triggered when an Actor enters a water body | |
LeaveWater | Triggered when an Actor leaves a water body | |
NetworkAuthorityChange | Triggered when an Actor changes its network authority Player | |
NetworkAuthorityChange | Triggered when the local Player gets/loses network authority over this actor |
This class doesn't have own events.

