Skeleton

Используйте массив bones для создания скелета, который может быть использован в 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);

Пример использования со стандартной BufferGeometry смотрите на странице SkinnedMesh.

Конструктор

Skeleton(bones : Array, boneInverses : Array)

bones — Массив bones. По умолчанию это пустой массив.
boneInverses — (необязательный) массив из Matrix4s.

Создает новый Skeleton.

Свойства

.bones : Array

Массив bones. Обратите внимание, что это копия исходного массива, а не референс, поэтому вы можете изменять исходный массив, не затрагивая этот.

.boneInverses : Array

Массив Matrix4s, представляющий обратную сторону matrixWorld отдельных костей.

.boneMatrices : Float32Array

Буфер массива, содержащий данные о костях при использовании вертексной текстуры.

.boneTexture : DataTexture

DataTexture содержит данные костей при использовании вертексной текстуры.

.boneTextureSize : Integer

Размер .boneTexture.

Методы

.clone() → Skeleton

Возвращает клон этого Skeleton-объекта.

.calculateInverses() → null

Генерирует массив boneInverses, если он не предоставлен в конструкторе.

.pose() → null

Возвращает скелет к базовой позе.

.update() → null

Обновляет boneMatrices и boneTexture после изменения костей. Это вызывается автоматически WebGLRenderer, если скелет используется с SkinnedMesh.

.getBoneByName(name : String) → Bone

name — Строка для сопоставления со свойством .name кости.

Ищет по массиву костей скелета и возвращает первую с совпадающим именем.

.dispose() → null

Может использоваться, если экземпляр Skeleton устаревает в приложении. Метод освободит внутренние ресурсы.

Исходный файл

О том как получить исходный код этого модуля читайте тут.