Я не уверен, что вопрос касается <a-sphere>
пулов или создания объектов перед их пулированием, поэтому:
1) Вам не нужно вручную создавать объекты, которые должны быть объединены.
2) «Шаблон» для объединенных объектов определяется атрибутом mixin. Любой компонент (геометрия, материал, модели, пользовательские) должен быть определен в данном миксине.
Исходный код здесь . Итак, с простым объявлением:
<a-scene pool__spheres='mixin: ball; size: 10'>
<a-assets>
<a-mixin id="ball" geometry='primitive: sphere' material="color: red">
</a-mixin>
компонент пула уже создаст 10 <a-entity>
s, все с использованием #ball
mixin.
Вам нужно всего лишь получить объекты из пула при нажатии:
this.el.addEventListener('click', e => {
let pool = this.el.sceneEl.components["pool__spheres"]
let sphere = pool.requestEntity();
});
и вернуть их в пул в какой-то момент:
let pool = this.el.sceneEl.components["pool__spheres"]
pool.returnEntity(this.el)
Проверьте это в этой скрипке.