[英]Seams when texture spherical mapping Unity3D C#
我正在嘗試將Texture2D映射到四邊形上。 除了紋理末端相接的接縫之外,它已經成功包裹了。 任何人都可以幫助您擺脫這種縫隙嗎? 我知道我需要在每一側復制頂點,但是如何在Unity C#中完成此操作? 以下是我用來分配UV的代碼:
for (int i = 0; i < vertices.Length; i++)
{
Vector3 v = mesh.vertices[i];
Vector2 textureCoordinates;
textureCoordinates.x = Mathf.Atan2(v.x, v.z) / (-2f * Mathf.PI);
if (textureCoordinates.x < 0f)
{
textureCoordinates.x += 1f;
}
textureCoordinates.y = Mathf.Asin(v.y) / Mathf.PI + 0.5f;
uv[i] = textureCoordinates;
}
非常感謝。
在網格頂點數據中,實際上需要兩個頂點彼此重疊 。 如果您實際上是使用代碼生成網格,則可以確保在代碼中生成這些頂點,但是,如果網格來自Blender之類的東西,那么這就是解決問題的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.