我们目前采用的方法是写多个tracker,然后资源动态加载
xr-frame xr-ar-tracker 在触发切换事件的时候如何更新视频纹理资源?场景中存在多个 tracker,当 tracker 触发 tracker-switch 事件的时候,如何去动态更新视频纹理。 目前以下两种思路均未实现这个功能。 方式一:当 tracker 切换的时候,更改 video-texture 的 src 信息 [图片] js 文件: handleTrackerSwitch: async function (event) { console.log('tracker - switch'); const active = event.detail.value; const item = event.target.dataset.item; const url = this.data.items1[item].resourceUri; this.setData({ resourceUrl: url }); const video = this.scene.assets.getAsset("video-texture", "hikari"); console.log({ video }); active ? video.play() : video.stop(); } 方式二:列表遍历,tracker 切换的时候,控制列表中选项的显示和隐藏 [图片] js 文件: handleTrackerSwitch: async function (event) { const active = event.detail.value; const item = event.target.dataset.item; this.setData({ currentIndex: Number(item) }); const video = this.scene.assets.getAsset("video-texture", "hikari"); console.log({ video }); // console.log({ height: video.height, width: video.width }); active ? video.play() : video.stop(); } 目前尝试了以上两种方式,当 tracker 切换的时候,视频纹理的路径没有更新,仍为初始化时的值。 有其他实现思路或者已经实现了这个功能的,麻烦分享一下实现思路,感谢。
2023-02-09