Skeleton - Руководство по Вердж3Д - Софт Эйт Софт
Description: Узнайте как использовать Skeleton в интерактивных 3Д-веб-приложениях сделанных на Вердж3Д

# Skeleton

Представляет массив костей для создания скелета, который может быть использован в SkinnedMesh.

## Пример

`// создаём простую руку 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 — массив костей. По умолчанию используется пустой массив.
- boneInverses — (необ.) массив из Matrix4.

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

## Свойства

### # .bones : Array

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

### # .boneInverses : Array

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

### # .boneMatrices : Float32Array

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

### # .boneTexture : DataTexture

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

### # .boneTextureSize : Integer

Размер .boneTexture.

## Методы

### # .clone() → Skeleton

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

### # .calculateInverses()

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

### # .computeBoneTexture() → this

Вычисляет экземпляр DataTexture, который используется для подачи информации о костях в шейдер. Сама текстура назначается в boneTexture.

### # .pose()

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

### # .update()

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

### # .getBoneByName(name : String) → Bone

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

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

### # .dispose()

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

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

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