【发布时间】:2016-04-26 15:59:11
【问题描述】:
我有完整的 equirectangular 图像与 Three.js 配合使用:
scene = new THREE.Scene();
geometry = new THREE.SphereBufferGeometry( 500, 60, 40 );
geometry.scale(-1, 1, 1);
material = new THREE.MeshBasicMaterial({ map: texture });
mesh = new THREE.Mesh(geometry, material);
mesh.rotation.y = Math.PI;
scene.add( mesh );
但我的图像实际上只包含 180x180 度(球体的一半),所以我试图在球形网格上部分应用方形纹理,而不会将图像拉伸到整个球体。我认为这与 texture.offset.xyz 参数有关,但我没有成功。虽然我可以继续填充我的图像以符合 2x1 Equirectangular 标准,但我宁愿从我的处理工作流程中删除这一步。
您会在下面找到完整的 equirectangular 图像和我正在尝试制作的正方形图像。有没有人知道如何做到这一点?谢谢!
【问题讨论】:
-
可能是解析 uv 贴图,将 u 乘以 2 并钳制为 1?
标签: javascript three.js photo panoramas