Mirror Engine
V5
How To
Mirror Engine Logo

Mirror Engine API


Mirror Engine API / Model

Class: Model

A model is a graphical object that can be added to or removed from a scene. It contains a hierarchy and any number of mesh instances.

Constructors

new Model()

new Model(): Model

Creates a new model.

Returns

Model

Example

// Create a new model
const model = new Model()

Properties

graph

graph: null | GraphNode = null;

The root node of the model's graph node hierarchy.


meshInstances

meshInstances: MeshInstance[] = [];

An array of MeshInstances contained in this model.


morphInstances

morphInstances: MorphInstance[] = [];

An array of MorphInstances contained in this model.


skinInstances

skinInstances: SkinInstance[] = [];

An array of SkinInstances contained in this model.

Methods

clone()

clone(): Model

Clones a model. The returned model has a newly created hierarchy and mesh instances, but meshes are shared between the clone and the specified model.

Returns

Model

A clone of the specified model.

Example

const clonedModel = model.clone()

destroy()

destroy(): void

Destroys skinning texture and possibly deletes vertex/index buffers of a model. Mesh is reference-counted, so buffers are only deleted if all models with referencing mesh instances were deleted. That means all in-scene models + the "base" one (asset.resource) which is created when the model is parsed. It is recommended to use asset.unload() instead, which will also remove the model from the scene.

Returns

void


generateWireframe()

generateWireframe(): void

Generates the necessary internal data for a model to be renderable as wireframe. Once this function has been called, any mesh instance in the model can have its renderStyle property set to RENDERSTYLE_WIREFRAME.

Returns

void

Example

model.generateWireframe()
for (let i = 0; i < model.meshInstances.length; i++) {
  model.meshInstances[i].renderStyle = RENDERSTYLE_WIREFRAME
}
Mirror Engine Logo