Three.js中是否有实现视频背景透明的方法?

4
我有一个绿幕HTML5视频,想要使用Three.js将其显示在具有视频纹理的平面上。我尝试使用两个不同的视频纹理(视频和alpha通道),但它们在时间上并不完全同步,而且根据我所读的内容,很难同步两个HTML5视频。
我认为使用.webm视频是正确的方法,但我无法让alpha通道与Three.js配合使用。是否可能或者有其他方法实现?谢谢!
var material = new THREE.MeshBasicMaterial( { map: videoTexture, transparent: true } );

尚未测试,但可以查看http://elevr.com/green-screening-video-on-the-web-a-threejs-extension/。 - WestLangley
谢谢@WestLangley,我今天早些时候看到了它,但结果并不像使用清理过的黑白纹理那样好。 - Matt Sparrer
相关链接:https://discourse.threejs.org/t/transparent-channel-on-video-texture/1200 - Mugen87
@Mugen87 谢谢,我之前也看到了,但是设置“transparent: true”似乎不够,而且关于这个问题没有真正的答案。 - Matt Sparrer
你使用的是Windows系统吗?你正在使用哪个浏览器? - Mugen87
显示剩余2条评论
1个回答

5
你需要指定格式才能实现透明度。
texture.format = THREE.RGBAFormat;

感谢大家。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接