Cách tiếp cận tốt nhất để tạo ra một nhân vật 2D để có thể sử dụng hàng tấn thiết bị khác nhau khi hoạt động là gì?


14

Tôi muốn tạo một trò chơi 2D nhưng tôi muốn nhân vật mặc hàng tấn thiết bị khác nhau trên các kết hợp khác nhau, như một game nhập vai hoặc một cái gì đó.

Vì vậy, giả sử người dùng thay đổi vai và quần, điều này phải được hiển thị cho người chơi và tất cả các thiết bị khác nhau này phải tuân theo các hành động khác nhau của nhân vật (đánh, bị đánh, đánh vần, v.v.).

Tôi thấy một vài vấn đề mà tôi muốn biết cách tiếp cận / thuật toán / kiến ​​trúc tốt nhất để giải quyết.

1 - Sprites hoặc Ảnh động

Tôi có nên tạo các họa tiết khác nhau cho mỗi thiết bị trong mỗi hoạt hình hành động không?

Có tốt hơn không khi chỉ cần thiết bị sprite và hoạt hình trực tiếp trên mã như xoay và dịch (sử dụng cái gì đó như tween trên Flash)?

Có lựa chọn nào khác tốt hơn không? (Tôi thực sự không thích những ý tưởng trên)

2 - Vị trí

Giả sử trong một lần di chuyển của nhân vật, anh ta bắt đầu nhìn thẳng vào phía trước tầm nhìn của người chơi nhưng kết thúc chuyển động của anh ta cho thấy bên phải của anh ta với người chơi (giống như anh ta vung kiếm từ bên này sang bên kia).

Nếu chúng ta xem xét một phần của người dùng, chẳng hạn như đầu của anh ta, nó bắt đầu ở phía trước và sau đó rẽ trái.

Nó có nghĩa là ít nhất 3 vị trí khác nhau cho mỗi thiết bị đầu (mũ bảo hiểm, mũ, bất cứ điều gì).

Điều này chắc chắn ảnh hưởng đến câu trả lời của câu hỏi số 1. Làm thế nào là cách tốt nhất để đạt được điều đó?

3 - Lớp

Hãy xem xét một nhân vật di chuyển trong đó anh ta xoay 360 độ với hai cánh tay mở rộng. Khi bắt đầu hoạt hình, bàn tay phải của anh ta gần với tầm nhìn của người dùng và sau đó, ở giữa chuyển động, đây có lẽ là đằng sau cơ thể của nhân vật trên hoạt hình.

Dù là tùy chọn cho câu hỏi số 1, bạn chắc chắn cần phải sử dụng một số loại mô hình lớp để tạo sprite hoặc hoạt hình này để bắt đầu gần hơn với chế độ xem của người chơi và sau đó thay đổi từ chế độ xem của người chơi.

Có cách nào tốt để làm điều đó?

Tôi biết câu hỏi khá dài và khó hiểu. Hãy cho tôi biết nếu bạn nghĩ rằng tốt hơn là có một số bản vẽ để cố gắng giải thích cái nào và tôi sẽ cố gắng làm điều đó.


Bạn dự định ở mức độ nào cho nghệ thuật của mình? Giống như nghệ thuật pixel retro? Hoặc những họa tiết HD đó, nếu bạn có bất kỳ tác phẩm nghệ thuật nào thực sự có thể giúp tôi điều chỉnh phản ứng của mình.
Jesse Dorsey

Chào Noctrine. Thật ra tôi đang xem nó như một câu hỏi "độc lập về nghệ thuật". Tôi sẽ cố gắng rút ra một số lời giải thích vào cuối tuần này để dễ hiểu hơn. Cảm ơn bạn
homemdelata

Câu trả lời:


8

Tôi nghĩ có vẻ như bạn đang tìm kiếm một hệ thống hoạt hình xương 2D? Thật không may, tôi không biết bất kỳ hệ thống ngoài luồng nào vì điều đó không may, vì nó hầu như bị thay thế bởi xu hướng trò chơi 3D-gfx-but-2D.


+1 Làm điều này dễ dàng hơn nhiều nếu bạn chỉ tạo nhân vật 3D.
hiệp sĩ666

nhưng đối với "3D-gfx-but-2D-game", tôi sẽ phải xem xét một trong những giải pháp mà tôi đề cập bằng mọi cách nếu không tôi sẽ cần phải có một sprite cho bất kỳ kết hợp vật phẩm nào, ví dụ, cùng một miếng rương với 10 niềng răng khác nhau các mảnh sẽ tạo ra 10 hình động :(
homemdelata

Không thực sự, bạn chỉ cần có các điểm đính kèm trên bộ xương và có thể thả bất cứ thứ gì bạn cần.
coderanger

2
Tôi đã tạo một thư viện hoạt hình 2d đơn giản (mã nguồn mở) cho XNA, bao gồm một trình soạn thảo phong nha. Hãy xem youtube.com/user/srekel#p/a/u/0/46LIoFNdG_4youtube.com/user/srekel#p/a/u/1/8sYkeu5k7XE
Srekel

Đây gần như là câu trả lời đúng. Trên thực tế, bạn đã khiến tôi nhận ra rằng thứ tôi đang tìm kiếm là hệ thống Bộ xương 3D cho hoạt hình 2D. Tôi cần tìm thuật toán cho điều đó (nếu tồn tại bất kỳ)
homemdelata

8

Như Zorba nói, hầu hết các trò chơi retro đã không làm điều này một cách cụ thể bởi vì bạn sẽ cần (với các họa tiết) để có hoạt ảnh đa khung cho mỗi thiết bị.

Một số lựa chọn thay thế "lười biếng":

  • Bảng màu - hoán đổi thiết bị thay vì tạo ra các họa tiết hoàn toàn khác nhau.
  • Vẽ nhân vật theo cách sao cho các bộ phận duy nhất trên cơ thể họ hoạt hình là những bộ phận không được gắn vào bánh răng. Giống như, nếu nhân vật chỉ có thể mặc một bộ áo giáp duy nhất, thay vào đó hãy biến nó thành Mũ bảo hiểm, và sau đó bạn có thể tự động làm sống động toàn bộ cơ thể trong khi vẫn giữ nguyên đầu.
  • Sử dụng một sprite duy nhất cho nhân vật trong màn hình trò chơi chính, nhưng hiển thị thiết bị trong màn hình phụ với chân dung tĩnh. Sau đó, bạn không phải lo lắng về hoạt hình.

2

Trong các game cũ như sê-ri Ultima, họ thực sự sẽ vẽ một thiết bị trong mọi tư thế nhân vật có thể. Việc loại trừ sẽ được xử lý bằng cách không vẽ thiết bị (nếu găng tay trái ở phía sau người chơi, bạn không cần phải lo lắng về điều đó) hoặc chỉ cần vẽ thiết bị theo thứ tự từ trước ra sau.

Rõ ràng điều này rất tốn công sức, và kết quả là có tương đối ít các thiết bị độc đáo, với rất nhiều phiên bản thay đổi bảng màu và thay đổi bảng màu của thiết bị đó.

Trong một trò chơi hiện đại, tôi thực sự khuyên bạn nên tạo các nhân vật 3d. Nếu bạn muốn nghệ thuật nhìn 2d hoặc nền tảng của bạn không có mã lực cho 3d thực tế, bạn vẫn có khả năng tốt hơn khi mô hình hóa mọi thứ trong 3d, kết xuất và sau đó điều chỉnh kết quả cuối cùng bằng tay.

Ngoài ra, nếu bạn quyết định không cần chỉnh sửa, không có mã lực cho 3d đầy đủ, nhưng không muốn gửi thư viện sprite khổng lồ, bạn có thể đóng gói các mô hình 3d và kết xuất chúng thành kết cấu trong thời gian thực khi bạn biết mô hình sắp xuất hiện trong trò chơi.


Điều tương tự tôi cũng đề cập đến câu trả lời khác rất đáng kể ở đây: tôi sẽ phải xem xét một trong những giải pháp tôi đề cập bằng mọi cách nếu không tôi sẽ cần phải có một sprite cho bất kỳ kết hợp vật phẩm nào, ví dụ, cùng một miếng rương với 10 miếng niềng răng khác nhau sẽ tạo ra 10 hình động :(
homemdelata

2
Bạn muốn kết hợp "end sprite" trong thời gian chạy. Bạn không có sprite cho "trình phát", bạn sẽ có một danh sách các họa tiết được hiển thị cho mỗi khung hình động. Vì vậy, nếu người chơi quay mặt sang phải, bạn sẽ hiển thị "găng tay trái", "tay trái", "nhân vật người chơi", "ủng", "quần", "áo giáp", "mũ bảo hiểm", "áo giáp phải" , "găng tay phải" theo thứ tự. Sau đó, bạn làm động từng mảnh bánh độc lập, trôi nổi giữa không trung.
ZorbaTHut

1

Kiểm tra cuốn sách của James Da Silva nơi anh ấy giải thích cách anh ấy làm The Dishwasher: Dead Samurai. Nó sẽ cho bạn thấy KISS khá nhiều có thể giải quyết điều này. Đề xuất sử dụng hình ảnh động khung xương 3d hoặc 2d là hợp lệ và giống nhau trong cùng một lĩnh vực.


Bạn có thể thêm liên kết?
homemdelata


0

Đây là một câu hỏi hay nhưng tôi nghĩ bạn đã tự trả lời - bạn cần một hệ thống xương 2D hỗ trợ các lớp thay đổi xương, do đó các chi khác nhau có thể đi phía sau và trước mặt nhau khi nhân vật xoay. Bạn cũng sẽ cần vẽ các họa tiết của mình từ 4 hoặc 8 góc (hoặc tuy nhiên nhiều bạn cần). Tùy thuộc vào kỹ năng nào trong nhóm của bạn, việc tạo các tài sản này trong 3D có thể dễ dàng hơn và hiển thị chúng từ các góc bạn cần.

Sử dụng công cụ 3D cũng là một giải pháp tốt, mặc dù điều này sẽ mang đến những thách thức riêng.


Vâng, đó là gần như vậy. Chỉ cần có câu trả lời khác là đúng nhưng câu này cũng hợp lệ. Như tôi đã nhận xét, tôi cần một hệ thống khung xương 3D cho hoạt hình 2D :)
homemdelata
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.