Three.js视频envmap

时间:2015-07-31 09:14:12

标签: three.js

我正致力于创建一个反映视频envmap的立方体,但我无法找到任何解决方案或示例如何做到这一点只是googeling。

我有一个多维数据集的工作示例,其envmap由jpgs here

组成

我试图简单地用webm&更换jpgs。移动视频文件,但它没有缝合工作。

甚至可以这样做吗?

以下是我的代码的相关摘要:

var env_url = [
  'textures/dawnmountain-xneg.png',
  'textures/dawnmountain-xneg.png',
  'textures/dawnmountain-xneg.png',
  'textures/dawnmountain-xneg.png',
  'textures/dawnmountain-xneg.png',
  'textures/dawnmountain-xneg.png'
];

var enviro = new THREE.ImageUtils.loadTextureCube(env_url);    

var cubeMaterial = new THREE.MeshPhongMaterial({
  envMap: enviro,
  shading: THREE.SmoothShading,
  metal: true,
  combine: THREE.MixOperation, 
  reflectivity: 0.70,
  specular: 0x7a7a7a,
  bumpMap: mapHeight,
  bumpScale: 0.03,
});

1 个答案:

答案 0 :(得分:0)

是的,它可以完成但不是那么自动,而且我认为不是没有修改three.js渲染代码。

您需要从视频更新three.js纹理。视频文件不能直接作为3D对象上的纹理使用,您只能直接使用图像。

对于普通纹理,它很简单,而且jetienne在https://github.com/jeromeetienne/threex.videotexture为它提供了一个很好的简单实用工具 - 也有演示。

虽然envMaps不支持开箱即用。