커브를 기반으로 절차 적 메쉬를 만들고 있는데 아래에서 볼 수 있듯이 메쉬 크기가 커브 전체에서 작아집니다.
그리고 문제는 크기가 변함에 따라 UV가 지그재그로 표시됩니다 (메쉬의 크기가 커브 전체에서 동일 할 때 완벽하게 작동 함).
Vertices.Add(R);
Vertices.Add(L);
UVs.Add(new Vector2(0f, (float)id / count));
UVs.Add(new Vector2(1f, (float)id / count));
start = Vertices.Count - 4;
Triangles.Add(start + 0);
Triangles.Add(start + 2);
Triangles.Add(start + 1);
Triangles.Add(start + 1);
Triangles.Add(start + 2);
Triangles.Add(start + 3);
mesh.vertices = Vertices.ToArray();
//mesh.normals = normales;
mesh.uv = UVs.ToArray();
mesh.triangles = Triangles.ToArray();
이 문제를 어떻게 해결할 수 있습니까?
id
은 스트립을 따라 모든 크로스바에서 현재 세그먼트의 인덱스이며 count
총 위치입니다. List<T>.ToArray()
목록에있는 모든 항목의 형식화 된 배열을 반환합니다 (여기서는 a Vector2[]
). 이 데이터 버퍼는 마지막 몇 줄 의 Mesh
인스턴스 mesh
에 할당하여 렌더링 시스템에서 사용할 수 있습니다 . 그러나 이것의 어느 것도 코드에서 특히 흥미로운 부분은 아닙니다 : 꼭짓점을 선택하는 방법. 이러한 세부 사항은 더 유용 할 것입니다. ;)
count
실제로 다각형 대신 정점을 의미한다는 것을 깨달았습니다 . 우리가 생각하는 모든 것이 실제로 진행되고 있는지 확인하십시오.
id
과count
? 무엇을UVs.ToArray()
합니까? 정점과 텍스처 좌표를 카드에 어떻게 업로드합니까?