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)

Создает новый 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 больше не используется в приложении.

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

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