2010-01-23 66 views
8

Tôi đang cố gắng làm hoạt ảnh trên iPhone bằng cách sử dụng OpenGL ES. Tôi có thể thực hiện hoạt ảnh trong phần mềm Blender 3D. Tôi có thể xuất dưới dạng tệp .obj từ Máy xay sinh tố sang OpenGL và nó hoạt động trên iPhone.Làm thế nào để nhập hoạt hình Blender 3D vào iPhone OpenGL ES?

Nhưng tôi không thể xuất hoạt ảnh của mình từ Máy xay sinh tố 3D sang OpenGL. Bất cứ ai có thể vui lòng giúp tôi giải quyết vấn đề này?

Trả lời

0

Ngoài ra, hãy xem SIO2.

1

Nếu bạn có một cái nhìn tại this article by Jeff LaMarche, bạn sẽ tìm thấy một tập lệnh máy xay sinh tố sẽ xuất mô hình 3D vào tệp tiêu đề C. Ngoài ra còn có một followup article cải thiện khi kịch bản nói trên.

Sau khi bạn đã chạy tập lệnh, nó đơn giản như bao gồm tiêu đề trong nguồn của bạn và chuyển mảng các đỉnh qua hàm vẽ của bạn. Lý tưởng nhất là bạn muốn có một phương thức tải các tệp mô hình tùy ý trong thời gian chạy, nhưng để tạo mẫu phương pháp này là cách đơn giản nhất để thực hiện.

Thấy bạn đã có phương thức nhập mô hình (obj) thì có thể không áp dụng được ở trên. Tuy nhiên, lợi thế của việc sử dụng tập lệnh máy xay sinh tố là bạn có thể sửa đổi tập lệnh cho phù hợp với nhu cầu của riêng bạn, có lẽ cũng xuất thông tin về xương hoặc khung hình chính.

1

Đầu tiên, tôi sẽ không khuyên bạn nên .obj vì mục đích này vì định dạng tệp obj không hỗ trợ hoạt ảnh, chỉ có các mô hình 3D tĩnh. Vì vậy, bạn sẽ cần xuất dữ liệu hoạt ảnh dưới dạng tệp riêng biệt mà bạn tải cùng lúc với obj.

Định dạng tệp tôi muốn giới thiệu tùy thuộc vào chính xác hình động của bạn. Tôi không nhớ ra khỏi đầu của tôi những gì các định dạng tập tin Blender hỗ trợ, nhưng như tôi nhớ nó không xuất tập tin Collada với hình ảnh động, đó sẽ là khuyến nghị chung nhất. Các tùy chọn khác sẽ là md2 cho hoạt ảnh nhân vật hoặc 3d cho các hình ảnh động "cứng nhắc di chuyển xung quanh" đơn giản. Tôi nghĩ rằng nhà xuất khẩu FBX của Blender sẽ hoạt động, mặc dù định dạng tệp có thể quá phức tạp đối với nhu cầu của bạn.


Điều đó nói rằng, và giả sử bạn chỉ cần di chuyển đối tượng đơn giản cứng nhắc, bạn có thể sử dụng obj cho các hình dạng mô hình 3D và sau đó viết một kịch bản Python đơn giản để xuất khẩu một tập tin từ máy xay sinh tố có tại các khung hình chính được liệt kê, với khung, vị trí và vòng quay cho mỗi khung hình chính. Sau đó tải dữ liệu đó trong mã của bạn và phát lại các khung hình chính đó trên mô hình 3D.

0

Tôi chưa sử dụng các phiên bản Blender gần đây, nhưng sự hiểu biết của tôi là nó hỗ trợ xuất hoạt hình lưới dưới dạng chuỗi các tệp .obj. Nếu bạn đã có thể hiển thị một .obj đơn trong ứng dụng của bạn, sau đó hiển thị một số trong số họ cái khác sẽ đạt được những gì bạn muốn.

Bây giờ, lưu ý rằng đây không phải là hình thức hiệu quả nhất để xuất loại hoạt ảnh này, vì mỗi tệp .obj sẽ có nhiều thông tin trùng lặp. Nếu lưới của bạn vẫn cố định theo thời gian (nghĩa là chỉ di chuyển đỉnh bằng cấu trúc đa giác, coban uv, v.v.) thì bạn chỉ có thể nhập toàn bộ .obj đầu tiên và từ phần còn lại chỉ đọc mảng đỉnh.

Nếu bạn muốn tối ưu hóa điều này nhiều hơn, bạn có thể nén các mảng đỉnh sao cho bạn chỉ lưu trữ sự khác biệt so với khung hình trước của hoạt ảnh.

Chỉnh sửa: Tôi thấy rằng Blender 2.59 đã xuất sang COLLADA.Theo số Blender manual, bạn có thể xuất chuyển đổi đối tượng và bạn cũng có thể xuất hoạt ảnh được nướng cho các đối tượng gian lận. Lợi ích cho bạn trong việc hỗ trợ định dạng COLLADA trong ứng dụng iPhone của bạn là bạn được tự do chuyển đổi giữa các công cụ hoạt ảnh, vì hầu hết trong số chúng xuất định dạng này.

1

Đây là một câu hỏi cũ và kể từ đó một số khung công tác iOS mới đã được phát hành như GLKit. Tôi khuyên bạn nên dựa vào chúng càng nhiều càng tốt khi bạn có thể, vì họ chăm sóc nhiều chuyển đổi vốn có như thế này, mặc dù tôi chưa nghiên cứu chi tiết cụ thể. Ngoài ra, trong khi không có trên iOS, công nghệ Scene Graph mới cho OS X (có khả năng sẽ xuất hiện trên iOS) trong tương lai, mang tất cả điều này thêm một chút và một cá nhân xảo quyệt có thể thực hiện một số chuyển đổi với công cụ đó cho iOS.

Các vấn đề liên quan