당신은 obj 파일 형식을 약간 오해하고 3D와 2D 좌표의 혼합에 혼란 스럽다고 생각합니다.
삼각형은 사실 3 개의 위치를 갖는 것과 같은 3 개의 텍스처 좌표를 가지고 있습니다. 이것은 정확하고 예상되며 필요합니다. 삼각형의 두 점이 텍스처 좌표를 가졌다면 이해가되지 않지만 그 중 하나는 그렇지 않습니다.
f
은 하나의면을 정의하며이 경우 3 개의 정점 (삼각형)을 정의합니다. 각 정점에는 단일 3D 위치와 2D UV 좌표가 있습니다. 이것은 삼각형이 3, 3D 위치, 3, 2D UV 좌표 (각 꼭지점마다 하나씩)로 구성된다는 것을 의미합니다. 면 번호는 이러한 구조를 구성하는 개별 요소가 아니라 정점 위치 및 텍스처 좌표 배열에 색인을 지정합니다.
실제로 표기법은 다음과 같습니다.
f v1/vt1 v2/vt2 v3/vt3
더 자세히 이러한 읽기 :
http://www.eg-models.de/formats/Format_Obj.html http://www.cs.cmu.edu/~mbz/personal/graphics/obj.html
이 더 나은 같은 코드에서 삼각형 구조의 생각을 시각화 할 수 있습니다
struct
{
Vec2 texCoord; // one vt for each vertex (s,t)
Vec3 position; // one v for each vertex (x,y,z)
} Vertex;
struct
{
Vertex verts[3]; // 3 vertices
} Face;
3/R - 일반적으로 2D 텍스처와 함께 사용될 때 투영에 사용됩니다. 왜 Wavefront 객체가 이것을 사용하는지, 말할 수 없었습니다. –
@ AndonM.Coleman이 질문은 실제로 3D 텍스처 좌표가 아닙니다. –
SO에서 "해결 된"문제가있을 때 제목을 "(해결됨)"로 변경하지 않습니다. 또한 우리는 그 질문에 대답을 넣지 않습니다. 당신이해야 할 일은 당신의 질문을 해결하는 대답을 받아들이는 것입니다 (또는 당신이 직접 풀었다면 대답을 쓰고 받아들이십시오). –