我有一个带有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
还有其他方法可以优化此问题吗?几何合并对您有帮助吗?