TextMesh
The TextMesh component allows you to display text in 3D text mesh component. This component dynamically generates a mesh that fits the text specified as input, it is great to make world space UI like displaying names above characters like the example below. Note that Text Mesh Pro is now the preferred solution for creating 3D text as it's more feature complete compared to TextMesh.
Read time 7 minutesLast updated 4 days ago
Definition
- Type: Class
- Namespace: UnityEngine
- Assembly: UnityEngine.TextRenderingModule
- Inherits from: Component
[RequireComponent(typeof(Transform), typeof(MeshRenderer))]public sealed class TextMesh : Component
Remarks
Additional Resources: text mesh component.
Examples
using UnityEngine;public class CharacterNameTag : MonoBehaviour{ public string characterName = "Player"; public Vector3 nameOffset = new Vector3(0, 2, 0); GameObject nameTag; void Start() { // Create a new GameObject for the name tag as a children nameTag = new GameObject("NameTag"); nameTag.transform.SetParent(transform); // Add a TextMesh component var textMesh = nameTag.AddComponent<TextMesh>(); // Set text properties and make sure it stays centered. textMesh.text = characterName; textMesh.fontSize = 32; textMesh.characterSize = 0.1f; textMesh.anchor = TextAnchor.LowerCenter; textMesh.alignment = TextAlignment.Center; } void Update() { // Make sure the name tag follows the offset nameTag.transform.position = transform.position + nameOffset; // Make sure that the name tag is always facing the main camera if (Camera.main != null) nameTag.transform.rotation = Quaternion.LookRotation(nameTag.transform.position - Camera.main.transform.position); }}
Properties
Property | Description |
|---|---|
| alignment | How lines of text are aligned (Left, Right, Center). |
| anchor | Which point of the text shares the position of the Transform. |
| characterSize | The size of each character (This scales the whole text). |
| color | The color used to render the text. |
| font | The Font used. |
| fontSize | The font size to use (for dynamic fonts). |
| fontStyle | The font style to use (for dynamic fonts). |
| lineSpacing | How much space will be in-between lines of text. |
| offsetZ | How far should the text be offset from the transform.position.z when drawing. |
| richText | Enable HTML-style tags for Text Formatting Markup. |
| tabSize | How much space will be inserted for a tab '\t' character. This is a multiplum of the 'spacebar' character offset. |
| text | The specified input text to display. |
Inheritance
Operators
Operator | Description |
|---|---|
| operator == | Compares two object references to see if they refer to the same object. |
| bool | Determines whether the object exists. |
| operator != | Compares if two objects refer to a different object. |