使用videoTexture作为opacityTexture

问题描述 投票:0回答:1

如何在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;

欢迎任何想法。谢谢

babylonjs
1个回答
1
投票

您可以使用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;
© www.soinside.com 2019 - 2024. All rights reserved.