Hiệu quả hoạt hình xương


11

Tôi đang xem xét áp dụng định dạng hoạt hình khung xương ( như được nhắc ở đây ) cho một trò chơi RTS. Đại diện cá nhân của mỗi mô hình trên màn hình sẽ nhỏ nhưng sẽ có rất nhiều trong số họ!

Trong hoạt hình xương, ví dụ các tệp MD5, mỗi đỉnh riêng lẻ có thể được gắn vào một số lượng khớp tùy ý.

Làm thế nào bạn có thể hỗ trợ hiệu quả điều này trong khi thực hiện phép nội suy trong GLSL? Hay các động cơ làm hoạt hình của chúng trên CPU?

Hay các động cơ đặt giới hạn tùy ý cho các khớp tối đa trên mỗi đỉnh và gọi bội số nop cho các khớp không sử dụng số lượng tối đa?

Có những trò chơi sử dụng hoạt hình xương trong một thiết lập giống như RTS, do đó chứng minh rằng trên các card đồ họa tích hợp, tôi không có gì phải lo lắng khi đi theo con đường xương?


+1, Đây là một câu hỏi hay. Tôi đã luôn tự hỏi liệu hoạt hình nên được thực hiện bằng ngôn ngữ tô bóng hoặc trên CPU ...
James

Các trò chơi RTS sử dụng công cụ SAGE của EA (C & C 3 trở lên, sê-ri BFME) sử dụng hoạt hình xương, nhưng các đỉnh chỉ bị ràng buộc với một xương (ít nhất là trong BFME)
Bart van Heukelom 2/211

Câu trả lời:


6

Hạn chế số lượng ảnh hưởng của xương là phổ biến, vâng. Bạn có thể bỏ qua các ảnh hưởng không sử dụng trọng lượng 0 hoặc có cơ chế lặp / ra sớm để bỏ qua.

Về việc nó có hoạt động cho RTS không, tôi không có tài liệu tham khảo cho bạn, nhưng tôi tưởng tượng bạn sẽ cần LOD nếu làm việc với một số lượng lớn các ký tự trên màn hình và cả những ký tự đó nhỏ.

LODing nhân vật bộ xương cũng giống như LODing bất cứ điều gì khác, ngoại trừ bạn có thể muốn LOD ảnh hưởng xương và bộ xương cũng như lưới.

Ví dụ, mức độ chi tiết thấp chỉ có thể sử dụng một xương duy nhất có ảnh hưởng cao nhất trên mỗi đỉnh (còn được gọi là "lột da cứng").

Bạn có thể cũng sẽ giới hạn số lượng xương trong bộ xương cho một mô hình LOD thấp.

Cuối cùng - xem xét liệu bạn có bao giờ cần phải hiển thị các ký tự gần không. Bạn có thể chỉ muốn mô hình hóa, tạo giao diện và làm động các ký tự cho khoảng cách xem gần nhất ... chắc chắn bạn không muốn lưu trữ tất cả dữ liệu thời gian chạy ở độ phân giải cao hơn nhiều so với kết xuất của bạn. Bạn có thể thấy rằng bạn không cần nhiều hơn một bộ xương rất cơ bản và một vài ảnh hưởng trên mỗi đỉnh cho tình huống của bạn.


Tôi đã hy vọng ai đó có thể nói rằng "bạn thực sự không muốn xương cho tháp pháo trong một chiếc rts nếu các mảnh của bạn nhỏ; hãy xem xét MD3 với tính năng mô hình được liên kết thay thế" hoặc một cái gì đó
Sẽ

Chà, tôi sẽ không sử dụng skin cho các loại lưới trong tình huống đó, nhưng "xương" chỉ là một cái tên lạ mắt cho các phép biến đổi thứ bậc. Không có gì ngăn cản bạn chỉ gắn lưới vào chúng thay vì các đỉnh có trọng số. (nói cách khác, đối với một tháp pháo, bạn có thể chỉ có hai xương và hai mắt lưới, và không có lớp da / trọng lượng nào cả).
JasonD

2

Tôi không nghĩ hoạt hình xương là tốt cho trò chơi RTS, hoạt hình xương sẽ yêu cầu thêm quy trình cho tất cả các nhân vật, trong khi hoạt hình keyframe tiêu tốn nhiều bộ nhớ hơn nhưng bạn sẽ sử dụng tương tự cho nhiều nhân vật, còn trò chơi rts yêu cầu ít hoạt hình cho mỗi nhân vật

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.