2

球体に 3D ポイントがあり、そこから球体のテクスチャの UV ポイントに変換したいと考えています。

誰かが正しい方向を指してくれませんか? 私は純粋な数学の解を取ることができます。

編集:

私は現在、正しい UV 座標を返さないこれを持っています。p は球メッシュ上の 3D ポイントです。position は球の位置です。

var x = (p.x-mesh.position.x)/500;
var y = (p.y-mesh.position.y)/500;
var z = (p.z-mesh.position.z)/500;                  

var u = Math.atan2(x, z) / (2 * Math.PI) + 0.5;
var v = Math.asin(y) / Math.PI + .5;
4

2 に答える 2

2

UV マッピングに関するウィキペディアは正しいですが、メッシュの各頂点の UV 座標を計算する必要があります。次に、UV 座標をピクセル座標に変換する必要があります: opengl での完全な (3D) テクスチャ マッピング。別の例を次に示します: http://www.cse.msu.edu/~cse872/tutorial4.html。three.js を試すこともできます。また、UV 三角形を物理的にコピーする必要があります。

于 2013-10-14T12:00:49.720 に答える