Object3D

new Object3D()

Базовый класс для 3D объектов.

Members

children :Array.<Object3D>

Каждый Object3D может включать в себя другие объекты. Позиция, поворот и масштаб дочерних объектов будет зависеть от родителя.

localMatrix :mat4

Матрица определяющая поворот, масштаб и позицию объекта в локальной системе координат относительно родителя.

(nullable) parent :Object3D

Родитель, т.е. объект в котором данный Object3D будет дочерним

position :vec3

Позиция объекта в локальной системе координат относительно родителя

quaternion :quat

Отвечает за поворот объекта

scale :vec3

Масштаб объекта

type :Number

Используется для обозначения типа объекта

visible :boolean

Будет ли объект отображаться на сцене, если нет, то все дочерние объекты тоже не будут отображаться.

worldMatrix :mat4

Матрица определяющая поворот, масштаб и позицию объекта в глобальной системе координат.

worldMatrixNeedsUpdate :boolean

Если true, то worldMatrix будет обновлена перед рендерингом

Methods

add(object)

Добавляет дочерний объект

Parameters:
Name Type Description
object Object3D

Дочерний объект

getWorldPosition()

Возвращает позицию объекта относительно глобальных координат.

remove(object)

Убирает дочерний объект

Parameters:
Name Type Description
object Object3D

Дочерний объект

render(state)

Вызывается рендером для подготовки и отрисовки объекта.

Parameters:
Name Type Description
state State

Текущие состояние рендера

traverse(callback)

Вызывает переданный callback для себя и для каждого дочернего класса.

Parameters:
Name Type Description
callback function

traverseVisible(callback)

Работает также как и Object3D#traverse, но только для объектов с visible = true

Parameters:
Name Type Description
callback function

typifyForRender(renderPlugins)

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

Parameters:
Name Type Description
renderPlugins Object

updateLocalMatrix()

Обновляет локальную матрицу объекта. Необходимо использовать каждый раз после изменения position, scale и quaternion.

updateWorldMatrix()

Обновляет глобальную матрицу объекта.