A-Frame 中是否有最大视频纹理分辨率?

Is there a maximum video texture resolution in A-Frame?

我有一个视频球体,我想将高分辨率 (5100 x 2550px) 视频纹理映射到它上面。

<video
        id="my-video"
        preload="auto"
        src="./assets/video/video.mp4"
        crossorigin="anonymous"
        playsinline
        webkit-playsinline
      ></video>

...

 <a-videosphere play-on-click id="skyVideo" rotation="-30 0 0" src="#my-video" class="cantap">
    </a-videosphere>  

当我加载高分辨率视频时,视频球是黑色的,并且出现以下错误: WebGL Error 501

当我将视频纹理缩小到 2560 x 1280 时,videosphere 显示了预期的纹理,没有错误。

AFrame 中是否有我不知道的最大纹理分辨率或three.js?

该限制不是由 A-Frame 或 Three.js 确定的,而是由 WebGL 和您的显卡功能确定的。转到 https://webglreport.com/ 并查看 Textures > Max Texture Size 字段以查看您使用的设备可以处理什么。我的笔记本电脑最高为 8192,我的手机较低,但我的台式机更高。它因您的 GPU 而异。我的猜测是您的机器最大为 4096。

您可以使用 WebGLRenderer.capabilities.maxTextureSizeas outlined in the docs 在 Three.js 中获取此值,因此您可以在不同的设备上读取此值并进行相应调整。也许您想根据限制指向较低的 rez 视频。