Struct TMP_MeshInfo
Structure which contains the vertex attributes (geometry) of the text object.
Inherited Members
Namespace: TMPro
Assembly: Unity.TextMeshPro.dll
Syntax
public struct TMP_MeshInfo
Constructors
TMP_MeshInfo(Mesh, int)
Pre-allocates vertex attributes for a mesh.
Declaration
public TMP_MeshInfo(Mesh mesh, int size)
Parameters
| Type | Name | Description |
|---|---|---|
| Mesh | mesh | The mesh to initialize; will be cleared if not null. |
| int | size | The number of quads (4 vertices each) to allocate. |
TMP_MeshInfo(Mesh, int, bool)
Pre-allocates vertex attributes for a mesh.
Declaration
public TMP_MeshInfo(Mesh mesh, int size, bool isVolumetric)
Parameters
| Type | Name | Description |
|---|---|---|
| Mesh | mesh | The mesh to initialize; will be cleared if not null. |
| int | size | The number of quads (or cubes if volumetric) to allocate. |
| bool | isVolumetric | If true, allocates 8 vertices per element for 3D text; otherwise 4 per quad. |
Fields
colors32
Declaration
public Color32[] colors32
Field Value
| Type | Description |
|---|---|
| Color32[] |
material
Declaration
public Material material
Field Value
| Type | Description |
|---|---|
| Material |
mesh
Declaration
public Mesh mesh
Field Value
| Type | Description |
|---|---|
| Mesh |
normals
Declaration
public Vector3[] normals
Field Value
| Type | Description |
|---|---|
| Vector3[] |
tangents
Declaration
public Vector4[] tangents
Field Value
| Type | Description |
|---|---|
| Vector4[] |
triangles
Declaration
public int[] triangles
Field Value
| Type | Description |
|---|---|
| int[] |
uvs0
UV0 contains the following information X, Y are the UV coordinates of the glyph in the atlas texture. Z is the texture index in the texture atlas array W is the SDF Scale where a negative value represents bold text
Declaration
public Vector4[] uvs0
Field Value
| Type | Description |
|---|---|
| Vector4[] |
uvs2
Secondary UV channel used to pass scale and character-specific data to the SDF shader for consistent rendering of outlines and effects.
Declaration
public Vector2[] uvs2
Field Value
| Type | Description |
|---|---|
| Vector2[] |
vertexCount
Declaration
public int vertexCount
Field Value
| Type | Description |
|---|---|
| int |
vertices
Declaration
public Vector3[] vertices
Field Value
| Type | Description |
|---|---|
| Vector3[] |
Methods
Clear()
Function to clear the vertices while preserving the Triangles, Normals and Tangents.
Declaration
public void Clear()
Clear(bool)
Function to clear the vertices while preserving the Triangles, Normals and Tangents.
Declaration
public void Clear(bool uploadChanges)
Parameters
| Type | Name | Description |
|---|---|---|
| bool | uploadChanges |
ClearUnusedVertices()
Function to clear the vertices while preserving the Triangles, Normals and Tangents.
Declaration
public void ClearUnusedVertices()
ClearUnusedVertices(int)
Marks unused vertices as degenerate (cleared from the given index to the end).
Declaration
public void ClearUnusedVertices(int startIndex)
Parameters
| Type | Name | Description |
|---|---|---|
| int | startIndex | The first vertex index to treat as unused; vertices from this index to the end are cleared. |
ClearUnusedVertices(int, bool)
Marks unused vertices as degenerate and optionally uploads the resulting data to the mesh.
Declaration
public void ClearUnusedVertices(int startIndex, bool updateMesh)
Parameters
| Type | Name | Description |
|---|---|---|
| int | startIndex | The first vertex index to treat as unused; vertices from this index to the end are cleared. |
| bool | updateMesh | If true, uploads the modified vertices to the mesh after clearing. |
ResizeMeshInfo(int)
Resizes the content of the mesh data and re-assigns normals, tangents and triangles.
Declaration
public void ResizeMeshInfo(int size)
Parameters
| Type | Name | Description |
|---|---|---|
| int | size | The new number of quads (4 vertices each) to allocate. |
ResizeMeshInfo(int, bool)
Resizes the content of the mesh data and re-assigns normals, tangents and triangles.
Declaration
public void ResizeMeshInfo(int size, bool isVolumetric)
Parameters
| Type | Name | Description |
|---|---|---|
| int | size | The new number of elements (quads or cubes) to allocate. |
| bool | isVolumetric | If true, each element uses 8 vertices; otherwise 4 per quad. |
SortGeometry(IList<int>)
Rearranges the quads of the text object to change their rendering order.
Declaration
public void SortGeometry(IList<int> sortingOrder)
Parameters
| Type | Name | Description |
|---|---|---|
| IList<int> | sortingOrder | List of quad indices defining the new rendering order. |
SortGeometry(VertexSortingOrder)
Declaration
public void SortGeometry(VertexSortingOrder order)
Parameters
| Type | Name | Description |
|---|---|---|
| VertexSortingOrder | order |
SwapVertexData(int, int)
Method to swap the vertex attributes between src and dst quads.
Declaration
public void SwapVertexData(int src, int dst)
Parameters
| Type | Name | Description |
|---|---|---|
| int | src | Index of the first vertex attribute of the source character / quad. |
| int | dst | Index of the first vertex attribute of the destination character / quad. |