填充边界问题,在360场景中具有堆叠透明纹理的低fps

时间:2018-12-25 23:45:28

标签: three.js

我有一个带有360场景的项目-相机在球体内,而360照片作为球体周围的纹理包裹着: http://kitchen-360.herokuapp.com/

我添加了几个具有透明纹理的较小球体,我看到性能突然下降。如以下链接所述,这是“填充边界”问题: Debugging low FPS in Three.js

我正在尝试解决此性能问题。我认为只有一个球体上具有多个纹理。这会比每个具有一种纹理的堆积球更快吗?

我试图用MeshBasicMaterial数组创建球形网格物体,但是它不起作用。数组中只有第一个纹理可见:

// when texture is loaded I push it to array
var sphereMaterial = new THREE.MeshBasicMaterial({
  map: texture,
  side: THREE.DoubleSide
  })
sphereMaterial.transparent = true;
matArr.push(sphereMaterial);

//... then later when all textures loaded
roomMesh = new THREE.Mesh( sphereGeometryR, matArr );
roomMesh.name = 'great room';
scene.add( roomMesh );

我看到了自定义着色器的示例,但不知道如何在以后动态添加和更改纹理: Multiple transparent textures on the same mesh face in Three.js

还有其他方法可以优化此问题吗?几何合并对您有帮助吗?

0 个答案:

没有答案