我正在尝试使用.mp4视频作为纹理创建一个简单的矩形。根据three.js文档(http://threejs.org/docs/#Reference/Textures/Texture),这应该很简单。
当我放置视频链接时,我得到的只是一个黑色的盒子,上面没有纹理。我已经通过用jpg图像替换视频来测试代码,并且效果很好。有人可以解释一下我在做什么错。
我已经看过播放视频的示例,首先将其链接到视频元素,然后将其复制到画布上。我想尝试three.js文档中提到的直接方法。
将视频视为一系列图像。因此,要在3D对象上“播放”该视频-你必须将该序列的每个帧传递给材质,然后更新该材质。
一个很好的起点在这里:https : //github.com/mrdoob/three.js/wiki/Updates
是的,我了解并且已经使代码可以这种方式工作。但是我想直接通过传递mp4文件链接来实现视频纹理。尽管我还没有看到任何执行此操作或使它自己运行的示例,但是根据此处的文档,threejs.org / docs / #Reference / Textures / Texture应该是可能的。可能是我误解了文档,目前唯一的方法是使用视频标签并根据帧更新纹理。
他们是three.js文档中的一个错误,使我假设视频可以直接用作纹理。在irc上讨论过,似乎您说的是目前唯一可行的解决方案。
考虑到KISS规则(保持简单愚蠢),每个人都在尝试使他的代码尽可能保持整洁,因此,如果有更方便的解决方案来解决您的问题-已经在某些示例中使用了它。