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()
Обновляет глобальную матрицу объекта.