API Reference

Class List

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.

// Create a new model
const model = new pc.Model();

Summary

Properties

graph

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

meshInstances

An array of MeshInstances contained in this model.

morphInstances

An array of MorphInstances contained in this model.

skinInstances

An array of SkinInstances contained in this model.

Methods

clone

Clones a model.

destroy

Destroys skinning texture and possibly deletes vertex/index buffers of a model.

generateWireframe

Generates the necessary internal data for a model to be renderable as wireframe.

Details

Constructor

Model()

Creates a new model.

// Create a new model
const model = new pc.Model();

Properties

GraphNode, nullgraph

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

MeshInstance[]meshInstances

An array of MeshInstances contained in this model.

MorphInstance[]morphInstances

An array of MorphInstances contained in this model.

SkinInstance[]skinInstances

An array of SkinInstances contained in this model.

Methods

clone()

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.

const clonedModel = model.clone();

Returns

Model

A clone of the specified model.

destroy()

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.

generateWireframe()

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.

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