Класс, содержащий полезные функции для манипуляций со сценой.
camera — штатная камера сцены.
sceneBox — коробка, охватывающая все объекты, расположенные на сцене.
Назначает настройки управления камерой на основе параметра sceneBox
.
scene — текущая сцена.
Рассчитывает охватывающую коробку сцены.
scene — сцена, на которой проверяется, выполняется ли действие над одним из объектов сцены.
action — действие для проверки.
Проверяет, выполняется ли данное действие над одним из объектов сцены, т.е. существует ли целевой объект действия на сцене.
sceneBox — коробка сцены.
aspect — соотношение сторон камеры.
Создаёт экземпляр PerspectiveCamera камеры, которая смотрит в центр коробки сцены.
instancedMesh — инстанциируемый меш.
Создаёт группу объектов, которая содержит меш для каждого инстанса данного меша.
mesh — меш с несколькими материалами.
Преобразует меш с несколькими материалами в инстанс группы, которая содержит отдельной меш для каждого материала.
geometry — геометрия для набора материалов.
materials — материалы объекта.
Создает новую группу, которая содержит новый меш для каждого материала, определенного в materials
. Имейте в виду, что это не то же самое, что массив материалов, который определяет несколько материалов для одного меша. Данный метод используется для объектов, которым нужен и материал, и реализация вайрфрейма.
scope — экземпляр класса application.
animClipName — имя анимационного клипа.
Ищет анимационное действие по названию клипа.
appInstance — приложение, для которого осуществляется поиск материала.
matName — имя материала.
Ищет материал с заданным именем. Если не найден, возвращает null
.
appInstance — приложение, для которого осуществляется поиск материала.
matName — имя материала.
Ищет все материалы с заданным именем. Если не найдены, возвращает []
.
object — объект для прогона (внутри использует traverseVisible).
func — функция поиска, применяемая для редуцирования. Должна быть вида: (value: T, vertex: Vector3) → T
.
initialValue — начальное значение для инициализации редуцирования. Требуется, поскольку также задаёт тип редуцирования, поскольку это не обязательно Vector3.
Работает аналогично Array.prototype.reduce(), но оперирует с вертексами всех дочерних объектов в мировой системе координат. Также может работать с преобразованием типа, выдавая тип отличный от Vector3. Может использоваться в частности для совмещения пространства камеры со сценой.
mesh — InstancedMesh для которого осуществляется сортировка.
compareFn — функция сравнения, определяющая порядок сортировки.
Сортирует инстансы InstancedMesh в соответствии с результатом, возвращаемым из функции сравнения. Данная функция принимает на вход два параметра indexA и indexB и должна возвращать числовое значение. Смотрите описание для Array.prototype.sort, чтобы узнать больше информации о функции сортировки и возвращаемых ею значениях.
Поскольку сортировка является затратным в плане вычислений процессом, «Вердж3Д» не сортирует инстансы InstancedMesh автоматически. Ручная сортировка может быть полезна, чтобы улучшить визуализацию материалов с прозрачностью (сначала задние, потом передние), либо чтобы ускорить рендеринг непрозрачных материалов (сначала передние, потом задние).
О том как получить исходный код этого модуля читайте тут.