Tôi có thực sự phải viết định dạng mô hình tối ưu của riêng tôi?


8

Vì vậy, tôi là một người mới hoàn toàn với thế giới của nhà phát triển trò chơi và tôi bắt đầu bằng cách viết trò chơi của riêng mình bằng C ++ và openGL. Tôi đang tải các mô hình, v.v. và trong khi tìm kiếm "định dạng tốt nhất", tôi thấy rằng hầu hết các định dạng phổ biến được dùng để chuyển giữa các ứng dụng mô hình hóa và không nhất thiết phải thể hiện dữ liệu cuối cùng khi tải vào môi trường trò chơi. Tôi được thông báo qua nhiều nguồn khác nhau rằng cuối cùng bạn muốn sử dụng các định dạng như collada, v.v. và chuyển đổi chúng thành định dạng nhị phân tùy chỉnh được tối ưu hóa cho trò chơi của bạn. Điều này là hoàn toàn cần thiết? Tôi hiểu ý tưởng, rằng việc phân tích cú pháp XML lớn hoặc một số định dạng ASCII khác sẽ chậm hơn so với việc đọc một loại tệp nhị phân nhưng nó có thực sự là một điểm nhấn lớn về hiệu suất nếu tôi không? Tôi không thể nhìn thấy nó,

opengl  c++  models 

2
Có gì sai với các định dạng hiện có? Họ làm rất tốt cho 99,9% mọi người.
Vịt Cộng sản

Câu trả lời:


5

Điều tôi tin rằng những người này đang nói là bạn muốn tải tệp COLLADA của mình vào cấu trúc trong trò chơi. Sau đó, bạn có thể lưu nội dung của cấu trúc này vào một tệp nhị phân sẵn sàng để tải khi chạy.

Điều này có thể có những lợi thế như những gì bạn đã nói, nhưng cũng có những nhược điểm, điển hình là trong giai đoạn phát triển.

Việc tăng hiệu suất thời gian tải mà bạn nhận được có cần thiết cho trò chơi của bạn hay không là do bạn quyết định. Nếu bạn có một vài mô hình không phức tạp, sự khác biệt có lẽ là không đáng kể, và bạn phải quyết định những gì sẽ đi với.

Nếu vì mục đích phát triển, bạn thích sử dụng COLLADA và phân tích cú pháp XML khi tải thì hãy sử dụng nó! Tôi khuyên bạn nên đảm bảo rằng mã tải của bạn đủ trừu tượng để bạn có thể dễ dàng thay thế nó bằng các tệp nhị phân nếu quá trình tải trở nên quá dài.


1
Vì vậy, về cơ bản chỉ cần làm những gì tôi đang làm và nếu tôi thấy cần thiết, tôi có thể sử dụng SDK cho các định dạng này để chuyển đổi chúng sang định dạng cuối cùng cho trò chơi của mình. Cảm ơn đã làm rõ, đôi khi thật khó để phân tách ý kiến. Tôi đã đọc rất nhiều lời chỉ trích về việc sử dụng các định dạng này (đặc biệt là ascii) về cơ bản đóng sầm chúng như một thứ không bao giờ được sử dụng trong các trò chơi "chuyên nghiệp" nhưng cuối cùng tôi đã kiểm tra phần mềm ID đã sử dụng các mô hình văn bản đơn giản trong 10 - 15 năm qua .

Làm thế nào về việc quyết định bố trí đỉnh và sau đó lưu trữ thông tin này trong một tệp? Một khi bạn đã làm việc này, bạn có thể tìm ra những điểm tương đồng khác mà lưới của bạn có. Vấn đề tôi nghĩ ban đầu bạn sẽ gặp phải là vô số sự khác biệt nhỏ mà mỗi mắt lưới của bạn có trong các yêu cầu của nó trong thế giới trò chơi. Tuy nhiên, một số thông tin này có thể được tạo khi tải mô hình và có thể không đáng lưu trữ trong tệp 'dữ liệu' của lưới.
Jay
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.