Изменить цвет или положение подэлемента объекта - PullRequest
0 голосов
/ 30 апреля 2018

Я ищу, как изменить цвет или положение подэлемента большого файла obj. В данный момент я загружаю огромный объект, с более чем 100 подэлементами, которые не отображаются

<a-entity obj-model="obj: #band-obj; mtl: #band-mtl" position="-5, -5, -5" rotation="0, 0, 0" scale="5, 5, 5"></a-entity> (obj и mtl уже определены).

Кто-нибудь успешно анимировал части огромной модели и может дать мне подсказку о том, как получить подчиненного элемента с помощью js?

1 Ответ

0 голосов
/ 03 мая 2018

Вы можете получить меш с помощью yourEntity.getObject3D('mesh'). Оттуда у вас есть доступ к поддереву и вы можете использовать такие методы, как getObjectByName или getObjectByProperty или traverse.

Сетка также возвращается в деталях события model-loaded или object3dset.

AFRAME.registerComponent('model-modifier', {
  init: function () {
    this.el.addEventListener('object3dset', evt => {
      if (evt.detail.type !== 'mesh') { return; }
      this.modifyMesh(this.el.getObject3D('mesh'));
    });
  },

  modifyMesh: function (mesh) {
    // Modify here.
  }
});

// ...

<a-entity obj-model model-modifier>
...