0
몇 명의 친구들과 저는 작은 애니메이션 세그먼트를 코딩하려고합니다. 그래서 우리는 훌륭하고 여전히 다소 간단한 proyect가 "플레이어"가 버려진 광산을 가로 질러 카트를 타고 여행하는 일종의 호러 하우스 투어를 만드는 것이라고 결정했습니다.미리 정의 된 경로를 따라 객체 이동
원과 직선을 만들기가 지루하기 때문에 우리는 "약간"더 복잡한 동작을 만들기로 결정했습니다. 우리는 이동하기위한 경로로 작용할 간단한 버텍스 스트립으로 .obj를 가져올 수 있다고 생각했습니다. 물론이 객체는 화면에 그려지지 않습니다. 그래서이 경로의 가져 오기를 처리 할 Trayectory 클래스를 만들었습니다. 나는 정점 스트립을 사용하고 있기 때문에
- , 나는 그들에게 법선을 할당 할 수 없습니다 : 나는 그러나 두 개의 작은 문제를 가지고
Trayectory::Trayectory(String^ obj) { this->vert = gcnew List<Point3D^>(); this->norm = gcnew List<Point3D^>(); StreamReader^ archivo=gcnew StreamReader(obj); array<String^>^ file = archivo->ReadToEnd()->Split('\n'); archivo->Close(); for each(String^ s in file) { array<String^>^ str = s->Split(' '); if(str[0]=="v") { Point3D^ tmp = gcnew Point3D(Convert::ToSingle(str[1]),Convert::ToSingle(str[2]),Convert::ToSingle(str[3])); this->vert->Add(tmp); } if(str[0]=="vn") { Point3D^ tmp = gcnew Point3D(Convert::ToSingle(str[1]),Convert::ToSingle(str[2])+1.0,Convert::ToSingle(str[3])); this->norm->Add(tmp); } } }
: 여기 경로를 가져 오는 데 사용하는 코드입니다. gluLookAt()와 함께 사용하는 법선을 계산하는 방법이 있습니까?
- 개체를 렌더링 할 때 개체를 내 vert 목록의 꼭지점으로 변환하고 선의 다음 정점에 lookat을 할당합니다. 그러나 이것은 내 .obj의 꼭지점이 꼭 필요한 것은 아니라는 문제를 야기합니다. 주문할 방법이 있습니까? 나는 각각에 가장 가까운 버텍스를 계산할 수 있고 버블 정렬과 같은 정렬을 수행 할 수 있다고 생각했다. 그러나 더 쉬울 수 있습니까?
side=forward X up
다음gluLookAt
up
벡터의side
벡터를 산출하여,
내 생각을 확인해 주셔서 감사합니다. – rubbyrubber