pyunity.meshes module

Module for meshes created at runtime.

class pyunity.meshes.Mesh(verts, triangles, normals, texcoords=None)[source]

Bases: object

Class to create a mesh for rendering with a MeshRenderer

Parameters:
  • verts (list) – List of Vector3’s containing each vertex
  • triangles (list) – List of ints containing triangles joining up the vertices. Each int is the index of a vertex above.
  • normals (list) – List of Vector3’s containing the normal of each vertex.
verts

List of Vector3’s containing each vertex

Type:list
triangles

List of ints containing triangles joining up the vertices. Each int is the index of a vertex above.

Type:list
normals

List of Vector3’s containing the normal of each vertex.

Type:list
texcoords

List of lists containing the texture coordinate of each vertex.

Type:list

Notes

When a mesh is created, you cannot edit any of the attributes to update the mesh while a scene is running. Instead you will have to instantiate a new mesh:

>>> mesh = Mesh.cube(2)
>>> mesh2 = Mesh(mesh.verts, mesh.triangles, mesh.normals, mesh.texcoords)
>>> # Or this:
>>> mesh2 = mesh.copy()
copy()[source]

Create a copy of the current Mesh.

Returns:Copy of the mesh
Return type:Mesh
static cube(size)[source]

Creates a cube mesh.

Parameters:size (float) – Side length of cube
Returns:A cube centered at Vector3(0, 0, 0) that has a side length of size
Return type:Mesh
static double_quad(size)[source]

Creates a two-sided quadrilateral mesh.

Parameters:size (float) – Side length of quad
Returns:A double-sided quad centered at Vector3(0, 0) with side length of size.
Return type:Mesh
static quad(size)[source]

Creates a quadrilateral mesh.

Parameters:size (float) – Side length of quad
Returns:A quad centered at Vector3(0, 0) with side length of size facing in the direction of the negative z axis.
Return type:Mesh