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