【发布时间】:2013-02-15 17:26:22
【问题描述】:
我正在使用 three.js 使用 WebGL,并且我有一个图像,我想将其投影到球体的(内)表面上。我面临的问题是如何将该映射的范围限制为水平和垂直视野。想象一下将图像从球体的中心投影到球体的矩形截面上。
我怀疑我可以通过以下两种方式中的一种来做,但我不确定如何做...
1) 根据视野角度将纹理映射到球体上。如下所示将图像直接映射到球体上进行 360x180 度环绕。是否涉及 UV 映射技巧或其他可用技术?
var sphere = new THREE.Mesh(
new THREE.SphereGeometry(radius, 60, 40),
new THREE.MeshBasicMaterial(
{ map: THREE.ImageUtils.loadTexture( filename ) }
)
);
2) 切割一个球体,使其仅具有由给定角度覆盖的表面子集(即与矩形金字塔相交),或产生等效的曲面。有什么想法吗?
【问题讨论】: