Các kỹ thuật hoạt hình nhân vật phổ biến được sử dụng trong các trò chơi hack & slash dựa trên gạch là gì?


10

Tôi tự hỏi loại kỹ thuật hoạt hình nào được sử dụng cho sinh vật và hoạt hình nhân vật trong các trò chơi dựa trên kiểu gạch và gạch chéo hiện đại ? Keyframing cho các hành động khác nhau có thể là một lựa chọn. Khung xương có thể là một cái khác. Nhưng làm thế nào về vật lý? Hay họ sử dụng một hệ thống hoàn toàn hỗn hợp các động học nghịch đảo được hỗ trợ với bộ xương, vật lý và trộn lẫn với khung hình chính được nội suy để tạo hiệu ứng chân thực hơn? Nếu vậy, làm thế nào và vì lý do gì? Tôi có thể nghĩ ra nhiều giải pháp khác nhau cho các vấn đề dưới đây nhưng tôi tự hỏi những gì được sử dụng và phù hợp nhất cho các vấn đề như:

  1. Đi bộ hoặc di chuyển trên một địa hình không bằng phẳng
  2. Tương tác chiến đấu, vật lý chiến đấu và va chạm
  3. Đính kèm vật phẩm cứng nhắc vào nhân vật và lặp đi lặp lại của họ trong thế giới vật lý
  4. Động lực cơ thể mềm mại như tóc, thực vật, quần áo và vải phù hợp với hình ảnh động và lặp đi lặp lại.

Câu trả lời:


6

Mặc dù có vẻ như là 3D, nhưng các trò chơi 'hack and slash' (như Diablo) thực sự là các trò chơi 2D. Thông thường các thành phần (các họa tiết) được tạo ra trong một công cụ mô hình 3D, nhưng chỉ các kết xuất 2D của các họa tiết được sử dụng trong trò chơi thực tế. Loại trò chơi này có xu hướng thiên nhiều về các tương tác dữ liệu (bản đồ, người chơi, kho báu và quái vật) hơn là về đại diện trực quan.

Các trò chơi 2D có xu hướng không sử dụng hoạt hình động (bộ xương và biến dạng.) Thay vào đó, các hoạt hình thường được tạo trong gói 3D và được lưu dưới dạng thư viện hình ảnh. Sprite sau đó có một bảng tra cứu hình ảnh (được lưu dưới dạng một tấm sprite lớn hoặc một loạt các hình ảnh riêng lẻ.) Trong giai đoạn hoạt hình trò chơi, sprite xác định hình ảnh nào sẽ hiển thị dựa trên trạng thái hiện tại của sprite. Ví dụ: tôi có một hình ảnh động của một con bò (http://www.aharrisbooks.net/pythonGame/ch08/cow.py) đi theo tám hướng. Mỗi hướng là một hình ảnh động của mười khung hình.

(thêm ví dụ về Python tại http://wwww.aharrisbooks.net/pythonGame )

Chương trình mẫu kiểm tra hướng và khung, sau đó hiển thị hình ảnh phù hợp. Ví dụ của tôi được viết bằng Python, nhưng ngôn ngữ không quan trọng; ý tưởng vẫn như cũ.

Các khía cạnh trực quan của việc ở trong các trạng thái khác nhau (chiến đấu, bị thương, v.v.) sẽ được xử lý bằng cách thêm nhiều hình ảnh động vào ngăn xếp.

Tuy nhiên, các khía cạnh khó khăn hơn của những điều này là các khía cạnh dữ liệu. Ví dụ, địa hình được quản lý như thế nào. Tôi có thể sử dụng một biến thể của thuật toán A * để chọn một đường dẫn giữa vị trí của sprite và nơi nó muốn đi và tôi sẽ thêm một số trọng lượng cho mỗi nút để mô tả độ khó của địa hình đó. (đường có trọng lượng rất nhẹ, núi và đại dương sẽ rất 'nặng')

Tôi có lẽ sẽ không lo lắng về động lực học cơ thể mềm trong động cơ 2D. Điều đó có thể được thêm vào sau, nhưng nó không phải là chìa khóa cho chức năng của trò chơi.

Bạn chắc chắn có thể xây dựng một 'hack và slash' trong 3D. Tuy nhiên, những thách thức bổ sung của mô hình 3D khiến việc tập trung vào cơ chế chơi trò chơi thường thu hút người chơi vào loại trò chơi này trở nên khó khăn hơn.

Nhưng điêu tôt đẹp nhât se đên vơi bạn....


Đầu tiên bạn rất đúng về tính năng động của trò chơi và các chi tiết tạo nên sự khác biệt trong các trò chơi hack và slash. Và đối với ví dụ Diablo đó là sự thật. Tôi biết khái niệm sprite là giống nhau cho nhiều trò chơi h & s, frp và mmorpg dựa trên gạch như ultima trực tuyến. Nhưng những gì tôi đã tự hỏi là chuyển động phong cách warcraft. Nếu bạn phóng to đủ để nhìn thấy chân của sinh vật, bạn sẽ thấy rằng có thể có gạch dốc và trong khi một chân của sinh vật ở trên mặt đất cao hơn thì một chân khác có thể ở dưới mặt đất và không có va chạm. Có thể hack & slash không phải là từ chính xác cho câu hỏi của tôi.
Gorky

Tôi đã nghe nói có một công cụ / phương pháp để lấy thông tin lưới / đối tượng từ các tệp trò chơi WoW. Tự hỏi nếu điều đó có thể làm sáng tỏ?
Kara Marfia
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.