Summary
Encapsulates lists of vertices, normals, etc. to simplify the procedural generation of meshes.
To use: simply add elements to the lists (
Weaver.MeshBuilder.Vertices, Weaver.MeshBuilder.Indices, Weaver.MeshBuilder.UVs,
etc.) then call any of the Compile() overloads. You can also implicitly cast a Weaver.MeshBuilder to a
UnityEngine.Mesh.
You can efficiently reuse a Weaver.MeshBuilder by calling Weaver.MeshBuilder.Clear.
- Assembly
- Weaver
.dll - Namespace
- Weaver
- Base Types
-
- Object
graph BT
Type-->Base0["Object"]
Type["MeshBuilder"]
class Type type-node
Syntax
public class MeshBuilder
Constructors
| Name | Summary |
|---|---|
| MeshBuilder |
Constructs a mesh builder with UVs and Normals using UnityEngine.MeshTopology.Triangles. |
| MeshBuilder |
Constructs a mesh builder with UVs and Normals using UnityEngine.MeshTopology.Triangles. |
| MeshBuilder |
Constructs a mesh builder with a specific set of data channels and topology. |
| MeshBuilder |
Constructs a mesh builder with a specific set of data channels and topology. |
| MeshBuilder |
Constructs a mesh builder with UVs and Normals using the specified `topology`. |
Fields
| Name | Constant Value | Summary |
|---|---|---|
| Colors |
The vertex colors which will be used for
UnityEngine.Mesh.colors. |
|
| Indices |
The mesh indices which will be used for
UnityEngine.Mesh.triangles (though the topology isn't necessarily triangles). |
|
| Normals |
The vertex normals which will be used for
UnityEngine.Mesh.normals. |
|
| Tangents |
The vertex tangents which will be used for
UnityEngine.Mesh.tangents. |
|
| UVs |
The UV coordinates which will be used for
UnityEngine.Mesh.uv. |
|
| UVs2 |
The UV coordinates which will be used for
UnityEngine.Mesh.uv2. |
|
| UVs3 |
The UV coordinates which will be used for
UnityEngine.Mesh.uv3. |
|
| UVs4 |
The UV coordinates which will be used for
UnityEngine.Mesh.uv4. |
|
| Vertices |
The vertex positions which will be used for
UnityEngine.Mesh.vertices. |
Properties
| Name | Value | Summary |
|---|---|---|
| IndexCount0 | int |
The number of indices which have currently been built in the first sub mesh.
|
| Indices0 | List |
The indices of the first sub-mesh.
|
| SubMeshCount | int |
The number of sub meshes.
|
| Topology | MeshTopology |
The
UnityEngine.MeshTopology with which the UnityEngine.Mesh will be compiled. |
| VertexCount | int |
The number of vertices which have currently been built.
|
Methods
| Name | Value | Summary |
|---|---|---|
| Clear |
void |
Clears this
Weaver.MeshBuilder to be ready for reuse. |
| Compile |
void |
Assigns the data from this
Weaver.MeshBuilder to `mesh`.
|
| Compile |
void |
Creates a new
UnityEngine.Mesh if it is null and assigns the data from this Weaver.MeshBuilder to it.
|
| Compile |
void |
Assigns the data from this
Weaver.MeshBuilder to `meshCollider.mesh`.
|
| Compile |
void |
Assigns the data from this
Weaver.MeshBuilder to `meshFilter.mesh`.
|
| Compile |
Mesh |
Assigns the data from this
Weaver.MeshBuilder to a new UnityEngine.Mesh.
|
| Fill |
void |
Fills all the indices for the specified sub mesh such that 'Indices[subMesh][i] == i' up to the capacity
of that sub mesh.
|
| Index2Triangles |
void |
Adds indices for 2 triangles starting at the current vertex count: [+0][+1][+2] and [+0][+2][+3].
You will generally want to call this method before adding the associated vertices.
|
| Index2Triangles |
void |
Adds the specified indices to the specified sub mesh.
|
| Index3Triangles |
void |
Adds indices for 3 triangles in a fan starting at the current vertex count: [+0][+1][+2] and [+0][+2][+3] and [+0][+3][+4].
You will generally want to call this method before adding the associated vertices.
|
| Index3Triangles |
void |
Adds the specified indices to the specified sub mesh.
|
| IndexLine |
void |
Adds a pair of indices for a line starting at the current vertex count: [+0][+1].
You will generally want to call this method before adding the associated vertices.
|
| IndexTriangle |
void |
Adds indices for a triangle starting at the current vertex count: [+0][+1][+2].
You will generally want to call this method before adding the associated vertices.
|
| IndexTriangle |
void |
Adds the specified indices to the specified sub mesh.
|
| LogData |
void |
Logs all the mesh data in this
Weaver.MeshBuilder. Also puts the message in the system copy buffer
so you can paste it into a text editor because Unity's console truncates messages that are too long.
|
Operators
| Name | Value | Summary |
|---|---|---|
| implicit operator |
Mesh |