2011-11-04 6 views
7

Thực tế tăng cường quan trọng (QCAR) dành cho iOS, sử dụng OpenGL ES, để hiển thị mô hình 3D. Nó đọc một số tác phẩm:Chuyển đổi mô hình 3D Studio Max (3DS/MAX) thành QCAR SDK cho định dạng tương thích iOS/OpenGL ES?

  1. đỉnh, tọa độ texture, chỉ số & danh sách normals (ở định dạng của tập tin ONE .h tiêu đề, ví dụ như Teapot.h)
  2. file texture (ở định dạng PNG)
  3. tập tin shader (ở định dạng FSH và VSH)

Câu hỏi của tôi là, cách chuyển đổi 3D Studio Max (3ds/max) file thành vertices, texture coordinates, indices & normals list? Ngoài ra, trong quá trình chuyển đổi, tệp shader có thể được tạo ra dựa trên các cài đặt trong tệp 3DS không?

Các tệp được sử dụng trong QCAR SDK for iOS, phiên bản 1.0.

Như một ví dụ, nội dung tập tin là như sau:

#ifndef _QCAR_TEAPOT_OBJECT_H_ 
#define _QCAR_TEAPOT_OBJECT_H_ 


#define NUM_TEAPOT_OBJECT_VERTEX 824 
#define NUM_TEAPOT_OBJECT_INDEX 1024 * 3 


static const float teapotVertices[NUM_TEAPOT_OBJECT_VERTEX * 3] = 
{ 
// vertices here 
}; 
static const float teapotTexCoords[NUM_TEAPOT_OBJECT_VERTEX * 2] = 
{ 
// texture coordinates here 
}; 
static const float teapotNormals[NUM_TEAPOT_OBJECT_VERTEX * 3] = 
{ 
// normals here 
}; 
static const unsigned short teapotIndices[NUM_TEAPOT_OBJECT_INDEX] = 
{ 
// indices here 
}; 

#endif 
+1

Tại sao tệp ".3ds"? ".3ds" là định dạng lỗi thời. Câu trả lời có thể bao gồm sử dụng chính 3dsmax hay bạn cần nó làm việc trên các tệp được cung cấp cho bạn mà không cần sử dụng 3dsmax? –

+0

có. Các tệp .3ds hoặc .max đều ổn. Chỉ vì vẫn còn rất nhiều mô hình 3D miễn phí có sẵn để tải xuống trực tuyến ở định dạng .3ds. – Raptor

+0

Bạn vẫn không trả lời nếu phần mềm 3dsmax có thể được sử dụng. 3dsmax có một số phương thức xử lý dữ liệu lưới nên có ý nghĩa để tận dụng cơ sở mã đó. –

Trả lời

2

tôi tin rằng những gì bạn đang tìm kiếm, là ở đây: 3DS to Header utility.

Trong câu trả lời cho câu hỏi thứ hai của bạn, cài đặt vật liệu 3DS có thể được chuyển thành lý thuyết nếu người nào đó viết tất cả các trình đổ bóng có thể mà 3DS có thể sử dụng và lập trình một số mã để chọn và định cấu hình trình đổ bóng. Nhưng không, không có cách nào trực tiếp/dễ dàng như thế nào để làm điều đó. Mặc dù, nếu tôi nhớ lại chính xác, 3DS không có quá nhiều lựa chọn vật liệu để có thể không có quá nhiều trình yêu cầu để thực hiện việc này.