3DS Max에서 내 간단한 OpenGL 뷰어/앱으로 내 보낸 .OBJ 파일을 가져올 수있는 OBJ 로더를 만들었습니다. 이 튜토리얼의 도움으로 작성된 Vector3.h가이 중심에 있습니다.C++을 사용하여 3ds Max OBJ 가져 오기
내가 사용했던 몇 가지 모델에서는 훌륭하게 작동했지만, 내가 사용하기를 원하는 모델은 다른 점이있었습니다. 그것은 여기에 4의 정점에있는 점 대신 3을 가지고 내가 함께 일하고 라인의 샘플입니다.
이g Box02
usemtl Wood_Bark
s 4
f 1/1/1 2/2/1 3/3/1 4/4/2
f 4/1/3 3/2/3 5/3/3
첫 번째 'F'라인은 내가 관심 오전 4 개 정점을 가지고 내 Vertex3.h는 X 소요 , Y, Z. 내가 가지고있는 다른 모델들에서, 모든 선들은 오직 세 개의 요소들만 가진 두 번째 'f'선과 같았습니다. 나는 정점이 범위를 벗어나므로 어떤 일이 일어나고 있는지 확인하려고 할 때이 선에있는 것을 보았 기 때문에 처리 할 수있는 선에 더 많은 데이터가 있기 때문에 생각했습니다. 여기에 전체 Vertex3.h
입니다 그리고 이것은 실패 코드의 라인입니다. vertices는 Vector3입니다.
tempVertices.push_back (vertices[--vertex]);
제 질문은 무엇입니까? 내 Vector3.h 파일과 같은 것을 어떻게 설명하겠습니까? Vector4.h를 만들고 라인에 3이 있으면 4th var을 무시해야합니다. 그러나 나는 내가 무엇을 다루고 있는지, 그리고 어떻게해야하는지에 대해 더 알고 싶다. 네 번째 요소는 알파인가? Vector3.h의 계산 방법은 어떻게 사용되어야합니까?
나는 이것이 문제 일 수 있다고 생각했지만, 이것은 다른 누군가가 만든 3dsMax 모델입니다. 나는 그것을 고칠 수있는 기술이나 기술이 없다. 나는 그 일을하는 사람을 찾아야 할 수도 있습니다. 쏴, 나 스스로 해결할 수 있다고 생각 했어. – Nathan
@Hallik : 모델 변경을 제안하는 것이 아닙니다. 나는 당신이 코드를 자동 분할 된 쿼드로 만들 것을 제안하고있다. – icktoofay
OK 어떻게해야하는지 생각해야 할 것입니다. 저는 어딘가에서 항상 삼각형을 깨뜨린 것을 읽었습니다. 그러나 꼭지점과 같은 선상에 법선과 UVW를 저장하는 얼굴 때문에 저를 버렸습니다. 내 생각을 재교육해야 해. 이것의 많은 것은 꽤 새롭다. – Nathan