Насколько я знаю, a-frame имеет только небольшой API для работы с моделями, основанными на Three.js
загрузчиках.(+ Анимационный микшер Дона МакКурдиса).
Единственное касание «A-Frame», о котором я могу подумать, это создание и доступ к базовой модели.Имея:
<a-entity gltf-model="url(model.gltf)" foo>
Вы можете создать компонент в виде рамки, который будет захватывать модель и прикрепить новую сетку к кости:
AFRAME.registerComponent("foo", {
init:function() {
let mesh = this.el.getObject3D("mesh")
// or this.el.components["gltf-model"].model
let mesh2; // get create the model using any THREE loader
mesh.skeleton.bones[someindex].add(mesh2)
}
})
Я не могуподумайте о каком-либо важном преимуществе, если вы создадите шляпу с помощью
<a-element gltf-model="url(hat.gltf)">
и попытаетесь расположить и повернуть ее, используя
setAttribute()
в каждом цикле рендеринга (в функции
tick()
).