
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
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
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
}