使用 videoTexture 作为 opacityTexture

Use videoTexture as opacityTexture

如何在 babylonJS 中使用视频 (mp4) 作为 alpha 贴图?

在 three.js 中,将视频用作纹理就像将视频纹理分配给 alphaMap(而不是漫反射贴图)一样简单。

这是 three.js - Demo 中的预期结果。

我试图在 babylonJS 中做同样的事情,但没有成功。这是我目前所拥有的 babylonJs demo

var mat = new BABYLON.StandardMaterial("mat", scene);

var videoTexture = new BABYLON.VideoTexture("video", ["textures/babylonjs.mp4", "textures/babylonjs.webm"], scene, true, true);

mat.opacityTexture = videoTexture;

欢迎任何想法。 谢谢

您可以使用 videoTexture.getAlphaFromRGB = true; 将所有三个通道组合用于 alpha。默认情况下它只使用红色通道,它在源视频中没有足够的变化来显示。

完整示例:

var mat = new BABYLON.StandardMaterial("mat", scene);

var videoTexture = new BABYLON.VideoTexture("video", ["textures/babylonjs.mp4", "textures/babylonjs.webm"], scene, true, true);
videoTexture.getAlphaFromRGB = true;
mat.opacityTexture = videoTexture;