Tôi muốn tạo hoạt ảnh cho một mô hình (ví dụ như con người, đi bộ) trong OpenGL. Tôi biết có những thứ như bộ xương-hoạt hình (với toán học phức tạp), nhưng những gì về vấn đề này ....Làm cách nào để tạo hoạt ảnh cho mô hình 3D (lưới) trong OpenGL?
- Tạo một mô hình trong Blender
- Tạo khung cho rằng mô hình trong Blender
- Bây giờ làm một hình ảnh động đi bộ trong Blender với mô hình và bộ xương
- Hãy một số "khung hình" của phim hoạt hình đó và xuất khẩu tất cả các "keyframe" như một mô hình đơn (ví dụ như obj file)
- Thực hiện một bộ nạp file oBJ cho OpenGL (để có được đỉnh, kết cấu, dữ liệu bình thường và khuôn mặt)
- Sử dụng một VBO để vẽ mô hình hoạt hình trong OpenGL (và nhận được một số ý tưởng phức tạp làm thế nào để thay đổi "keyframe" hiện tại/mô hình trong VBO ... có lẽ cái gì đó với
glMapBufferRange
Ok, tôi biết ý tưởng này chỉ là một kịch bản nhỏ, nhưng liệu nó có đáng xem xét hơn nữa không? Khái niệm tốt để thay đổi "keyFrame"/mô hình trong VBO là gì?
Tôi biết rằng vấn đề bộ nhớ, nhưng với các mô hình nhỏ (và không quá nhiều hình động) nó có thể được thực hiện, tôi nghĩ.
Thành thật mà nói, thực hiện tweening keyframe này về mặt kĩ đỉnh có lẽ là rất nhiều nỗ lực nhiều hơn là imple đề cập đến một hệ thống hoạt hình xương. Hoạt hình của xương không được thực hiện trong những ngày "cũ", bởi vì CPU thiếu sức mạnh để thực hiện tất cả những biến đổi đỉnh bổ sung đó. Nhưng hiện nay, GPU đang làm khủng khiếp thêm ma trận và nội suy cho bữa ăn sáng và nó cũng ít mã hơn nhiều trong GLSL. – datenwolf
@datenwolf Tôi đồng ý với bạn về nội dung hoạt động, nhưng tôi không đồng ý về việc dễ dàng triển khai hoạt ảnh trên xương. Vertex tweening là 'for i verts [i] = lerp (t, trước [i], tiếp theo [i])}' So sánh với slerping một hệ thống phân cấp của quaternions, với các mối quan hệ và độ dài, (phần đó không xấu) nhưng sau đó bạn phải kết hợp các đỉnh với trọng lượng xương. Nó chỉ là rất nhiều dữ liệu hơn để quản lý. –
thx để có câu trả lời nhanh! – user2602528