Как мне добавить ресурсы изображения во время выполнения?

#aframe

#aframe

Вопрос:

У меня есть объект, подобный этому:

 <a-entity id="entity1" 
    position="0 0 -1"
    geometry="primitive: plane; width: 1"
    material="src: #myTexture;  opacity:0.9; transparent:true;">
  

Я пытаюсь назначить новую строку изображения Base64 следующим образом:

 myTexture.setAttribute('src','data:image/png;base64,xxx');
  

Похоже, это работает в том, myTexture что, по-видимому, содержит новое изображение. Однако entity1 этот новый материал не обновляется.

Кто-нибудь знает, как это исправить?

Ответ №1:

Измените объект, а не содержимое в <a-assets> . Система управления активами предназначена для предварительной загрузки и кэширования. Если вы настраиваете ресурсы динамически, вы можете установить их встроенными.

el.setAttribute('material', 'src', 'url(data:image/png;base64,xxx)') .

Комментарии:

1. Спасибо. Для уточнения:

2. это должно быть: myTexture.setAttribute(‘src’,url(‘data: image /png; base64,xxx’))?

3. Я изменил ответ. url() является частью строки, а не функцией. О, я только что поймал, чтобы изменить объект, а не элемент активов.