Use an array of bones to create a skeleton that can be used by a SkinnedMesh.
// create a simple "arm"
const bones = [];
const shoulder = new v3d.Bone();
const elbow = new v3d.Bone();
const hand = new v3d.Bone();
shoulder.add(elbow);
elbow.add(hand);
bones.push(shoulder);
bones.push(elbow);
bones.push(hand);
shoulder.position.y = -5;
elbow.position.y = 0;
hand.position.y = 5;
const armSkeleton = new v3d.Skeleton(bones);
See the SkinnedMesh page for an example of usage with standard BufferGeometry.
bones — The array of bones. Default is an empty array.
boneInverses — (optional) An array of Matrix4s.
Creates a new Skeleton.
The array of bones. Note this is a copy of the original array, not a reference, so you can modify the original array without effecting this one.
An array of Matrix4s that represent the inverse of the matrixWorld of the individual bones.
The array buffer holding the bone data when using a vertex texture.
The DataTexture holding the bone data when using a vertex texture.
The size of the .boneTexture.
Returns a clone of this Skeleton object.
Generates the boneInverses array if not provided in the constructor.
Computes an instance of DataTexture in order to pass the bone data more efficiently to the shader. The texture is assigned to boneTexture.
Returns the skeleton to the base pose.
Updates the boneMatrices and boneTexture after changing the bones. This is called automatically by the WebGLRenderer if the skeleton is used with a SkinnedMesh.
name — String to match to the Bone's .name property.
Searches through the skeleton's bone array and returns the first with a matching name.
Frees the GPU-related resources allocated by this instance. Call this method whenever this instance is no longer used in your app.
For more info on how to obtain the source code of this module see this page.