2009-04-01 4 views
6

Các cách khác nhau để xử lý hoạt ảnh cho trò chơi 3D là gì? Bạn bằng cách nào đó có thể lập trình hoạt ảnh trong trình mô hình hóa và do đó, tệp, đọc và triển khai chúng trong trò chơi hay bạn tạo các chức năng hoạt ảnh để tạo hoạt ảnh cho các vectơ tĩnh của mình?Lập trình hoạt ảnh 3D?

Trường hợp một số hướng dẫn tốt cho phía lập trình này? Google chỉ cho tôi mặt của người lập mô hình.

+0

Điều này cũng hữu ích (hệ thống xương cơ bản để lập mô hình): http://gpwiki.org/index.php/OpenGL:Tutorials:Basic_Bones_System – hithere

Trả lời

18

Trong môi trường sản xuất, hoạt ảnh sử dụng các công cụ chuyên dụng như 3DS ​​Max của Autodesk để tạo hoạt ảnh có khung hình chính của mô hình 3D. Đối với mỗi hoạt ảnh cho mỗi mô hình, trình tạo hoạt ảnh sẽ tạo một số tư thế cho mô hình được gọi là các khung hình chính , sau đó được xuất ra định dạng dữ liệu của trò chơi.

Trò chơi sau đó tải các khung hình chính này và tạo hình động vào một thời điểm cụ thể, chọn hai khung hình chính gần nhất và nội suy giữa chúng để tạo ra hình động trơn tru, ngay cả với một số lượng nhỏ khung hình chính.

Mô hình động thường được xây dựng với cấu trúc phân cấp của xương. Có một xương gốc, kiểm soát vị trí và định hướng của mô hình trong thế giới trò chơi. Tất cả các xương khác được định nghĩa liên quan đến một số xương bố mẹ để tạo ra một cây. Mỗi đỉnh của mô hình được gắn với một xương cụ thể, do đó, mô hình có thể được kiểm soát với số lượng tham số nhỏ hơn nhiều: vị trí tương đối, hướng và quy mô của từng xương.

Làm mịn da là kỹ thuật được sử dụng để cải thiện chất lượng hoạt ảnh. Với làn da mịn màng, một đỉnh không gắn với một xương, nhưng nó có thể được gắn với nhiều xương (thường là một giới hạn cứng, chẳng hạn như 4, được thiết lập; đỉnh hiếm khi cần nhiều hơn 3) với trọng lượng tương ứng. Điều này làm cho công việc của người làm phim hoạt hình khó khăn hơn, vì anh ta phải làm nhiều việc hơn với các đỉnh gần khớp, nhưng kết quả là một hoạt hình mượt mà hơn với ít méo xung quanh các khớp.

Cách khác, một số trò chơi sử dụng hoạt ảnh thủ tục, nhờ đó dữ liệu hoạt ảnh được tạo khi chạy. Vị trí và hướng của xương được tính theo một số thuật toán, chẳng hạn như inverse kinematics hoặc ragdoll physics. Các tùy chọn khác là tất nhiên có sẵn, nhưng họ phải được mã hóa bởi các lập trình viên.

Thay vì làm thủ tục hoạt hóa xương và sử dụng động học chuyển tiếp để xác định vị trí của tất cả các đỉnh của mô hình, một tùy chọn khác là chỉ cần tạo ra vị trí của mỗi đỉnh một cách thủ tục. Điều này cho phép các hoạt ảnh phức tạp hơn không bị ràng buộc bởi hệ thống phân cấp của xương, nhưng tất nhiên nó phức tạp hơn nhiều và khó làm tốt hơn nhiều.

3

Các cách khác nhau để xử lý hoạt ảnh trong trò chơi?

Đối với nhân vật, điển hình là:

  1. xương biến dạng
  2. Blend hình dạng
  3. mắt lưới Đôi khi thậm chí đầy đủ hoạt hình (LA Noire đã làm điều đó.)
  4. Trong game Tomb Raider gần đây chúng tôi sử dụng một tính toán công việc để mô phỏng hàng ngàn splines cho tóc, và các đỉnh được điều khiển bởi các splines với một shader vertex.

Thường thì chúng được điều khiển bởi hoạt ảnh khung hình được nội suy trong thời gian chạy và đôi khi chúng tôi thêm mã để thúc đẩy ảnh hưởng (xương, trọng lượng pha trộn, v.v.) theo thủ tục.

Đối với một số đối tượng đơn giản di chuyển một cách cứng nhắc, đôi khi thiết kế sẽ có kiểm soát hoạt ảnh trên toàn bộ đối tượng mà không phải làm biến dạng nó. Đôi khi những điều đơn giản như cây bụi có thể được thực hiện để di chuyển bằng cách sử dụng một cái gì đó giống như blendshapes nơi bạn có một lưới đầy đủ đặt ra trong một vài thái cực và bạn loại pha trộn giữa những thái cực.

Đối với hướng dẫn ... well ... Bạn có muốn viết toán cho hoạt ảnh đó hay bạn quan tâm đến việc tạo ra một số nhân vật hoạt hình trong trò chơi và tập trung vào trò chơi?

Để thực hiện trò chơi, Unity là một nền tảng khá tuyệt vời để chơi cùng.

Nếu bạn là tuy nhiên quan tâm trong việc tìm hiểu toán học cho phim hoạt hình hay các trò chơi nói chung, đây là những gì tôi muốn đọc lên trên như một mồi:

  • Ma trận được sử dụng để biến đổi 3d (chắc chắn rằng bạn hiểu được hoán , kết hợp và phân phối pháp luật, và tìm hiểu những gì mỗi hàng và cột đại diện cho - họ là đơn giản hơn so với họ có vẻ)
  • Quaternions cho phép quay (ít trực quan, nhưng kết hợp chặt chẽ với một trục và xoay)

và don' t bỏ qua vấn đề cơ bản:

  • Vector Dot Product
  • Vector chéo sản phẩm

Cũng như 10 năm trước, tôi đã viết một thư viện hình ảnh động đơn giản, đó là khá đơn giản, miễn phí từ hầu hết các khái niệm trước hơn nên nó không phải là một nơi tồi tệ để xem liệu bạn có muốn có ý tưởng cơ bản về cách hoạt động: http://animadead.sf.net

Chúc may mắn!