我用球面砖创建了一个完整的球面,以便当它们都位于FOV内时分别处理它们。
为此,我将等角的全景图分成几个二次图像,以将它们映射到这些图块上。但是不知何故,纹理在每个图块的最高和最低分段行上发生了位移。
带有一些导入的方形图像的示例:
原始测试图像:
我怎样才能将纹理正确映射到瓷砖?创建图块的代码如下:
/*
segment Data:
x/y are generated by a loop
maxX/maxY are the maximum values of these loops
*/
sphere = new THREE.SphereGeometry(radius, 4, 4, segmentData.x * 2 * Math.PI / segmentData.maxX, 2 * Math.PI / segmentData.maxX, segmentData.y * Math.PI / segmentData.maxY, Math.PI / segmentData.maxY);
texture = new THREE.TextureLoader().load(tileImagePath);
material = new THREE.MeshBasicMaterial({map: texture});
mesh = new THREE.Mesh(sphere, material);
scene.add(mesh);
我是Three.js的新手,所以也许这是一个非常简单的问题。
希望有人能帮忙吗?
答案 0 :(得分:1)
事实证明,由于ScieCode,该问题是由版本r103和r104中的错误引起的。
它将在下一发行版中修复:https://github.com/mrdoob/three.js/issues/16454