SceneUtils

Класс, содержащий полезные функции для манипуляций со сценой.

Методы

.assignDefaultControls(camera : Camera, sceneBox : Box3)

Назначает настройки управления камерой на основе параметра sceneBox.

.calcSceneBox(scene : Scene) → Box3

scene — текущая сцена.

Рассчитывает охватывающий бокс сцены.

.checkActionIsUsed(scene, action) → Boolean

Проверяет, выполняется ли данное действие над одним из объектов сцены, т.е. существует ли целевой объект действия на сцене.

.createDefaultCamera(sceneBox : Box3, aspect : Float) → Camera

Создаёт экземпляр PerspectiveCamera камеры, которая смотрит в центр коробки сцены.

.createMeshesFromMultiMaterialMesh(mesh : Mesh) → Group

mesh — меш с несколькими материалами.

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

.createMultiMaterialObject(geometry, materials) → Group

Создает новую группу, которая содержит новый меш для каждого материала, определенного в materials. Имейте в виду, что это не то же самое, что массив материалов, который определяет несколько материалов для одного меша. Данный метод используется для объектов, которым нужен и материал, и реализация вайрфрейма.

.getAnimationActionByName(scope, [param:String animClipName) → AnimationAction

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

.getMaterialByName(appInstance : App, matName : String) → Material

Ищет материал с заданным именем. Если не найден, возвращает null.

.getMaterialsByName(appInstance : App, matName : String) → Material

Ищет все материалы с заданным именем. Если не найдены, возвращает [].

.reduceVertices(object : Object3D, func : Function, initialValue : T) → T

Работает аналогично Array.prototype.reduce(), но оперирует с вертексами всех дочерних объектов в мировой системе координат. Также может работать с преобразованием типа, выдавая тип отличный от Vector3. Может использоваться в частности для совмещения пространства камеры со сценой.

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

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