Làm thế nào để các trò chơi lập trình các mô hình 3d?


8

Tiêu đề nói lên tất cả. Một nghệ sĩ làm cho một mô hình 3d của một nhân vật. Làm thế nào để một lập trình viên sử dụng mô hình để làm cho nhân vật chạy xung quanh?


4
Đây có vẻ như là một câu hỏi "bắt đầu", và nó cho thấy không có nỗ lực nghiên cứu. Nó cũng có thể là rộng, nếu bạn tính đến thực tế là các nhà phát triển trò chơi khác nhau sẽ làm điều đó khác nhau.
Gnemlock

3
Bằng cách đọc thông tin chuyển động của đỉnh từ một tệp hoạt hình của một số loại. Không có ma thuật đen liên quan. Các lập trình viên hầu hết không mã hóa chuyển động mà là một chức năng để đọc chuyển động đã được thiết kế từ một tệp. Và một số mã ưa thích để nội suy giữa hoạt hình để cung cấp chuyển động trơn tru. Không thể viết một câu trả lời dứt khoát vì có nhiều biến thể của phương thức tồn tại.
rlam12

2
Bạn khá nhiều có nó. Trong khi bạn tất nhiên có thể làm mọi thứ bằng mã, một cuộc nội chiến sẽ hình thành bên trong studio game.
rlam12

4
Ở đó, +1 để bù cho -1. Đây là một câu hỏi hay.
Vaillancourt

2
Đây là nơi sắp xếp hoạt hình và pha trộn hoạt hình. Hãy xem bài nói chuyện này về hoạt hình trong Uncharted để có cái nhìn tổng quan về cách kết hợp nhiều hình ảnh động & động học nghịch đảo . Có những trò chơi thực hiện hoạt hình của chúng hoàn toàn theo thủ tục, như Overgrowth , nhưng có hoạt hình được tạo bởi một họa sĩ hoạt hình hoặc được chụp từ một người biểu diễn là phổ biến hơn.
DMGregory

Câu trả lời:


12

Có nhiều cách để làm điều này:

Cách đầu tiên và phổ biến nhất là tạo bộ xương cho mô hình, sau đó sử dụng bộ xương này để di chuyển xung quanh các đỉnh của nó. Điều này cũng thường được thực hiện bởi các nghệ sĩ, bởi vì nó cần phải chứa những khu vực bị ảnh hưởng bởi xương nào.

Khi hoạt hình được thực hiện, nghệ sĩ sẽ lưu nó trong một tệp (ví dụ: định dạng tệp COLLADA rất phổ biến giữa các lập trình viên trò chơi mới bắt đầu, bởi vì con người có thể đọc được, nhưng vì nó dựa trên XML, nên các công ty trò chơi lớn hơn sử dụng các tệp như .fbx).

Bộ xương được tạo ra nếu xương. Các nghệ sĩ có thể xác định các đỉnh cần phải được di chuyển bằng cách cho chúng một trọng lượng. Trọng lượng càng cao, lượng chuyển động mà nó tạo ra càng cao khi xương cụ thể được di chuyển. Có một bảng cân nặng riêng cho từng xương, do đó cùng một đỉnh có thể bị ảnh hưởng bởi nhiều xương

Cách thứ hai được gọi là morphing. Nó cổ xưa hơn nhưng vẫn được sử dụng cho đến ngày nay, bởi vì nó không yêu cầu sử dụng bộ xương, do đó tốt hơn cho những thứ như khuôn mặt của người mẫu hoặc khi bạn cần di chuyển các đỉnh riêng biệt xung quanh. Thay vì tạo bộ xương, nghệ sĩ tạo các trạng thái mà mô hình có thể ở trong đó, sau đó chương trình tải vào từng khung và nội suy giữa chúng trong bộ đổ bóng đỉnh.

Theo nghĩa đen, bất kỳ định dạng mô hình nào cũng có thể lưu trữ hình động theo cách này dưới dạng nhiều tệp riêng biệt (như trong tệp .obj), nhưng một số có thể xử lý chúng nguyên bản trong 1 tệp (một trong những tệp nổi tiếng nhất giữa người mới bắt đầu là id Software định dạng .md2).

Phương pháp thứ ba của hoạt hình một cái gì đó được gọi là hoạt hình thủ tục. Nó không được sử dụng rộng rãi, bởi vì nó không dẫn đến các phong trào nhân đạo. Nó có thể được sử dụng khi hoạt hình nước hoặc cỏ hoặc bất kỳ vật thể tự nhiên nào khác, có hoa văn trong chuyển động của nó.

Thứ tư và được cho là phức tạp nhất là hoạt hình dựa trên cơ bắp. Ví dụ, GTA IV đã sử dụng công cụ này , tính toán chuyển động bằng cách sử dụng AI phòng thủ và cấu trúc khung xương. Nó dựa trên kỹ thuật đầu tiên nhưng nó không đòi hỏi nghệ sĩ phải làm sống động cơ thể. Nó giống như ragdoll nhưng với chuyển động tốt hơn.

Cách thứ năm là ragdoll. Bạn có thể biết điều này, thậm chí có những trò chơi gần như hoàn toàn dựa vào điều này, như Trình mô phỏng Dê khét tiếng, nhưng hầu hết các trò chơi sử dụng nó cho các nhân vật đã chết. Điều này cũng đòi hỏi nghệ sĩ tạo ra một bộ xương, nhưng việc di chuyển các khớp được thực hiện bằng thuật toán. Các thuật toán này có các góc tối đa và kéo vào xem xét.


Câu trả lời tốt đẹp. Bạn có thể mở rộng một chút về cách một bộ xương có thể được sử dụng để làm biến dạng mô hình 3D không? Dữ liệu bổ sung cho phép một tập hợp các tọa độ bên trong bộ xương được chuyển thành biến dạng của các đỉnh mô hình là gì? Không cần cung cấp triển khai;) nhưng thông tin nào trong đầu ra của nghệ sĩ sẽ khiến điều này trở nên khả thi? Nếu có một bài viết Wikipedia hay mô tả về điều này, thì chỉ cần bỏ tiêu đề của nó là đủ.
Praxeolitic

@Praxe đã thêm, hãy cho tôi biết nếu bạn cần thứ gì khác
Bálint

Thứ tư bạn nói về, dựa trên cơ bắp, là hoàn toàn mới đối với tôi. Rất thú vị. Đáng buồn là động cơ Euphoria là độc quyền và có thể đắt tiền. Nếu họ sử dụng một số cách học tự động để phát triển nó, thì tập dữ liệu chắc chắn sẽ rất khó để có được.
Hatoru Hansou

@Hatoru có lẽ nó sử dụng một chương trình học tập với dữ liệu được tính toán trước
Bálint

7

Các mô hình 3D hoạt hình đi kèm với một bộ xương (cả người điều chế hoặc người làm phim hoạt hình đều thực hiện bước tạo mô hình này, vì nó ở một vùng đất không có người đàn ông).
Bộ xương được làm bằng xương, vị trí tương đối giữa mỗi bộ xương và mọi xương được ánh xạ tới một tập hợp các đỉnh của mô hình 3D, với các giá trị ảnh hưởng nằm trong khoảng từ 0 đến 1 (0,2, 0,5, v.v.).
Khi điều này được thực hiện, trình hoạt hình tạo một hình động, có thể là một tệp riêng biệt hoặc được lưu trữ trong chính tệp của mô hình tùy thuộc vào định dạng.
Ảnh động về cơ bản là một tập hợp các hướng dẫn cho từng xương, cho chúng biết khi nào nên di chuyển hoặc xoay, và bao nhiêu.
Bằng cách di chuyển xương xung quanh, bạn gián tiếp di chuyển các đỉnh của mô hình xung quanh.

Đây là một lời giải thích rất ngớ ngẩn, và có nhiều cách khác nhau để làm hoạt hình cơ bản và nâng cao hơn, một số hoàn toàn có lập trình, tuy nhiên ngày nay bạn sẽ không tìm thấy nhiều mô hình hoạt hình trong trò chơi mà không có khung xương (mô hình N64 không có bộ xương tôi tin rằng, thay vào đó các mảnh mô hình hoạt động như bộ xương)


1
Ngoại lệ nhẹ cho dòng "ngày nay bạn sẽ không tìm thấy mô hình hoạt hình trong trò chơi không có khung xương": một số hiệu ứng hoạt hình đơn giản được xử lý thông qua các shader đỉnh. Ví dụ, thiết bị hoạt hình trong Destiny được thực hiện theo cách này . Tuy nhiên, tinh thần của câu trả lời là - nếu bạn thấy một người mẫu thực hiện bất kỳ chuyển động hoạt hình phức tạp nào trong trò chơi (đặc biệt nếu đó là nhân vật hoặc sinh vật) thì đó là một sự đánh cược an toàn rằng có một bộ xương tiềm ẩn.
DMGregory

@DMGregory chỉnh sửa câu trả lời của tôi
Brian H.
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.