1

我快要疯了。我一生都无法弄清楚纹理坐标。我有一个由下面的 8 个三角形定义的八面体。我想在上面映射地球的纹理。在这里查看纹理:http: //img37.imageshack.us/f/earthmap1k.jpg/

我希望北极在顶点,南极在对点,赤道围绕中心点。有人可以告诉我每个点的 UV 以映射纹理吗?

 0,  0,  1
 1, -1,  0
 1,  1,  0

-1,  1,  0
 0,  0,  1
 1,  1,  0

 0,  0,  1
-1,  1,  0
-1, -1,  0

 1, -1,  0
 0,  0,  1
-1, -1,  0

 1, -1,  0
 0,  0, -1
 1,  1,  0

 0,  0, -1
-1,  1,  0
 1,  1,  0

 0,  0, -1
-1, -1,  0
-1,  1,  0

 0,  0, -1
 1, -1,  0
-1, -1,  0
4

2 回答 2

0

一个简单的思考方法是像这样打开你的八面体:

   /\     /\     /\     /\   
  /  \   /  \   /  \   /  \  
 /    \ /    \ /    \ /    \ 
X------X------X------X------X
 \    / \    / \    / \    / 
  \  /   \  /   \  /   \  /  
   \/     \/     \/     \/

然后,您可以将平面上的点映射到纹理坐标

于 2010-06-13T07:25:20.847 回答
0

我不确定你所说的 UV 是什么意思,但八面体的每个面都对应于地图的一个矩形区域。这将涉及拉伸和压缩,但没有切割,没有丢失的地方。

首先将地图分成两个矩形,北和南。现在从北到南进行三个切割,将地图切割成 8 个相等的矩形。左上角的矩形包含北美洲的西半部、北太平洋的东半部和夏威夷。让我们将其映射到您描述的第一个三角形上。

如果我们在矩形中放置一个坐标系,从(0,0)(赤道的中太平洋)到(1,0)(靠近赤道的某个地方),再到(0,1)(1,1)都是北极),那么我们可以将其映射到八面体,如下所示:

(s,t) -> (1-t, (1-t)(2t-1), t)

应该清楚如何对其他面孔进行相同的处理。

于 2010-06-13T07:34:18.663 回答