Unityで空の球を使用して360度ビューに魚眼画像をマップしようとしています。シーンは球の内側にあります。私は非常に近いですが、私は若干の歪みが見られます。私は次のようにUV座標計算しています:ここでフィッシュアイを球面にマッピングする - 360度ビュー
Vector3 v = currentVertice; // unit vector from edge of sphere, -1, -1, -1 to 1, 1, 1
float r = Mathf.Atan2(Mathf.Sqrt(v.x * v.x + v.y * v.y), v.z)/(Mathf.PI * 2.0f);
float phi = Mathf.Atan2(v.y, v.x);
textureCoordinates.x = (r * Mathf.Cos(phi)) + 0.5f;
textureCoordinates.y = (r * Mathf.Sin(phi)) + 0.5f;
は歪みや三角形である:
全体球体の残りの部分は非常に良い感じです、それは私が手にこの1箇所だけですねじれ。ここで
ソース魚眼画像です:
と同じ歪みエリアを示す上面の上にUVテストテクスチャと同じ球が。フルUVテストテクスチャは右側にあり、正方形ですが、スクリーンショットの目的のために右側の四角形に引き伸ばされています。
上記歪みは、球マッピングはなく、フィッシュアイ・マッピングを使用しています。ここではフィッシュアイマッピングを使用してUVテクスチャです:
数学は私の強力なポイントは、私はここで何も悪いことをやっていないか、またはこの種のマッピングは、単純に100%可能ではないでしょうか?
赤道よりもむしろ球の周りに縫い目が走っていて、それは正しいのですか? – jjxtra
私は三角形が互いに頂点を共有していますが、私は三角形と四角形ではなく、八面体を使用していることを言及する必要があります。 – jjxtra
私は、それが事を変えたり助けてくれたら、私の質問にuvテストテクスチャを追加しました。 – jjxtra