Я работаю над простым сценарием, чтобы показать 360 изображений в VR, одновременно меняя изображение динамически.
На данный момент источник следующего изображения задается простым тайм-аутом (среди 4 локальных .jpg), но я планирую получить изображения с удаленной камеры, а затем обновлять представление a-sky каждые x секунд.
Мне удалось изменить атрибут a-sky src и установить другой файл n.jpg.
Но я не смог установить блоб в качестве источника.
Пока что я просто конвертирую локальный jpg в большой двоичный объект, но следующий шаг - попросить API удаленной камеры иметь двоичный файл jpg и преобразовать его в URL-адрес большого двоичного объекта.
Во всяком случае, новое изображение не отображается.
Кажется, он работает только тогда, когда у вас есть статический контент как src.
Как я могу это сделать?
Спасибо
Здесь часть источника:
setInterval(updatePanImg, 2000);
var seq = 1;
function updatePanImg() {
let blob_src;
if (seq >= 4) seq = 1; else seq++;
blob_src = seq + ".jpg";
console.log('blob_src update ' + blob_src);
//1-working (/imgname.jpg)
//document.getElementById('asky').setAttribute("material", "src", blob_src);
//2-not working (/blob:......)
return fetch(blob_src)
.then((response)=> {
return response.blob();
})
.then(blob => {
let blob_src_url = URL.createObjectURL(blob);
document.getElementById('asky').setAttribute("material", "src", blob_src_url);
return blob_src_url;
});
}
<script src="aframe-master.min.js"></script>
<a-scene>
<a-sky id="asky" material="opacity:1; src: 4.jpg" rotation="0 -130 0" foo></a-sky>
</a-scene>