What's New in Director 8.5 > Working with Models and Model Resources > Primitives > Mesh generator properties

 

Mesh generator properties

The mesh generator is the most complex model resource. It allows experienced 3D programmers to create complicated geometries at run time.

The mesh generator primitive's type property is #mesh and is created by the member's newMesh() command. The parameters included with that command describe how large the mesh will be.

You can use the mesh deform modifier to manipulate vertex positions at run time for #mesh or any other type of model resource. You can also use the #mesh primitive to change mesh properties directly, but this is usually not practical, because the mesh must be rebuilt mathematically after each modification.

Use these properties to work with mesh primitives:

Property

Access

Description

Value Range

vertexList

Get and set

Lingo vector values for each vertex in the mesh. Several faces may share a single vertex.

Set the value to the number of vectors specified in your newMesh call.

normalList

Get and set

Lingo vector values for each normal in the mesh. Several faces may share a single normal. A normalized vector is one in which all components are of unit length.

You can use the generateNormals() command instead of specifying normals yourself. In that case, set 0 as the number of normals in your newMesh() call. The normals are calculated based on a clockwise vertex winding. That is to say, if you imagine the vertices being wound down a spindle, they would be wound from left to right, in a clockwise manner.

No default. Instead, set the value to the number of vectors specified in your newMesh call.

textureCoordinateList

texcoordlist

Get and set

A list of sublists identifying locations in an image used for texture-mapping a triangle. Each sublist contains two values between 0.0 and 1.0 that define a location and can be arbitrarily scaled to any texture size.

No default. Instead, set the value to the number of two-element sublists specified in your newMesh call.

colorList

Get and set

List identifying every color in the mesh. Any color can be shared by several faces.

Alternatively, specify texture coordinates for the mesh faces and apply a shader to models using this model resource.

No default. Instead, set the value to the number of colors specified in your newMesh call.

face.count

Get

Number of triangles in the mesh.

The number of faces specified in your newMesh call.

face[index]. vertices

Get and set

List indicating which vertices to use for faces at designated index points.

Set the value to a list of three integers specifying the indexes of the vertices in the vertexList that define this face.

face[index].normals

Get and set

List indicating which normals to use for faces at designated index points.

Set the value to a list of three integers specifying the indexes of the normals in the normalList that each point of the triangle should use. Don't set a value if you aren't defining your own normals.

face[index].textureCoordinates

face[index].texcoords

Get and set

List indicating which texture coordinates to use for faces at designated index points.

Set the value to a list of three integers specifying the indexes of the texture coordinates in the textureCoordinates List that each point of the triangle should use.

Don't set a value if you aren't defining your own texture coordinates.

face[index].colors

Get and set

List indicating which colors to use for faces at designated index points.

Set the value to a list of three integers specifying the indexes of the colors in the colorList that each point of the triangle should use.

Don't set a value if you aren't defining your own colors.

face[index].

shader

Get and set

Shader used for rendering the face.

Shader defined for use with this face.