LOD trong các trò chơi hiện đại [đóng cửa]


14

Tôi hiện đang làm luận án thạc sĩ về LOD và đơn giản hóa lưới, và tôi đã đọc nhiều bài báo và bài báo học thuật về chủ đề này. Tuy nhiên, tôi không thể tìm thấy đủ thông tin về cách LOD đang được sử dụng trong các trò chơi hiện đại. Tôi biết nhiều trò chơi sử dụng một số loại LOD động cho địa hình, nhưng còn những nơi khác thì sao?

Ví dụ, Mức độ chi tiết cho Đồ họa 3D chỉ ra rằng LOD rời rạc (nơi các nghệ sĩ chuẩn bị trước một số mô hình) được sử dụng rộng rãi vì chi phí hoạt động của LOD liên tục. Tuy nhiên, cuốn sách đó đã được xuất bản năm 2002 và tôi tự hỏi liệu bây giờ mọi thứ có khác không. Đã có một số nghiên cứu trong việc thực hiện LOD động bằng cách sử dụng trình tạo bóng hình học ( ví dụ bài báo này , với việc thực hiện trong ShaderX6), liệu điều đó có được sử dụng trong một trò chơi hiện đại không?

Tóm lại, câu hỏi của tôi là về trạng thái LOD trong các trò chơi video hiện đại, thuật toán nào được sử dụng và tại sao? Cụ thể, việc đơn giản hóa liên tục phụ thuộc xem được sử dụng hay chi phí thời gian chạy làm cho việc sử dụng các mô hình rời rạc với sự pha trộn và mạo danh thích hợp là một giải pháp hấp dẫn hơn? Nếu các mô hình rời rạc được sử dụng, thuật toán được sử dụng (ví dụ: phân cụm đỉnh ) để tạo ngoại tuyến, các nghệ sĩ có tự tạo mô hình không, hoặc có thể sử dụng kết hợp cả hai phương pháp?


Tôi khuyên bạn nên thêm thẻ 'kết xuất', vì bạn hoàn toàn thích LOD đồ họa, trong khi LOD cũng có thể được áp dụng cho vật lý, AI và bất kỳ lĩnh vực nào khác mà tầm quan trọng có thể được thu nhỏ dựa trên khoảng cách với thứ gì đó hoặc hiệu suất.
Kaj

@Kaj: Điểm tốt. Tôi đang nói về đơn giản hóa lưới đa giác nói riêng.
Firas Assaad

Ồ, dường như chúng tôi đã chỉnh sửa cùng một lúc (Tôi quên tôi có thể thêm thẻ, thoải mái xóa lập trình đồ họa: o \). Tôi sẽ cố gắng đưa ra câu trả lời sau - sáng hôm nay.
Kaj

Câu trả lời:


9

Cho đến bây giờ có vẻ như LOD rời rạc vẫn được ưa thích, nhưng vẫn còn phải xem liệu điều này sẽ thay đổi với thế hệ phần cứng giao diện điều khiển tiếp theo.

Đối với những gì đáng giá Tom Forsyth đã viết rất nhiều về LOD liên tục, mà ông gọi là "chia lưới lũy tiến". Lập trình trò chơi Gems 2 mục đích để có một trong những bài viết này, nhưng nó dường như được nhân đôi ở đây .

Tôi tin rằng một trong những trò chơi của Tom được vận chuyển bằng cách sử dụng chia lưới lũy tiến trên phần cứng bảng điều khiển thế hệ cuối. Tôi không nghĩ rằng đó là tính toán mà mọi người lo lắng với LOD liên tục. Tôi nghĩ rằng nhiều hơn LOD rời rạc là dễ dàng hơn. LOD liên tục không nâng vật nặng hơn trong đường ống công cụ và không có đủ lợi thế rõ ràng.

Đối với việc tạo ra các LOD rời rạc, chúng tôi sử dụng kết hợp các công cụ tự động và sáng tạo nghệ sĩ. DirectX SDK đi kèm với một số nội dung để tự động giảm hình học và tôi tin rằng chúng tôi sử dụng nó như là lần đầu tiên, nếu chất lượng không đủ tốt thì các nghệ sĩ sẽ tạo ra các LOD rời rạc bằng tay hoặc sử dụng các công cụ bổ sung trong Maya.


1
Tôi nghĩ rằng Messiah đã sử dụng chia lưới lũy tiến rộng rãi, có vẻ như các aeons trước đây thế giới đã rất khó chịu về nó. Nhưng tôi đồng ý, lod tĩnh dường như vẫn còn phổ biến ở nơi tôi nhìn. Thật khó để quyết định về mặt thuật toán những chi tiết nào là quan trọng để bảo tồn, mặc dù nhiều bài báo SigGraph đã được viết về nó như tôi chắc chắn OP biết. Bên cạnh đó, một phương pháp dễ thương mà tôi luôn nhớ là chương 'kẻ mạo danh thực sự' trong một trong những viên ngọc Lập trình trò chơi mà tôi tin rằng ... nơi họ sử dụng những kẻ mạo danh với ánh xạ tắc nghẽn parralax. Tôi biết tôi đã thấy nhiều bài báo được viết theo cùng một phương pháp (có lẽ Fabio Policarpo?)
Kaj

1
Một cuộc đình công khác chống lại LOD liên tục là lượng bộ nhớ cố định có sẵn trong môi trường giao diện điều khiển. Các đối tượng rời rạc cho phép bạn loại bỏ các mô hình độ phân giải cao và tất cả các kết cấu / đổ bóng phụ thuộc của chúng và trao đổi trong một mô hình chi phí thấp hơn nhiều với một shader đơn giản và kết cấu nhỏ hơn kết hợp trước. Trong các tựa game thế giới mở chiến đấu với những gì dữ liệu lấp đầy, bộ nhớ khả dụng hạn chế thường là một cuộc đấu tranh lớn hơn so với chu kỳ CPU / GPU.
wkerslake

6
  • Chỉ huy tối cao (1 & 2) - RTS này tự hào rằng bạn có thể phóng to thu nhỏ mọi cách để xem bản đồ của chiến trường, sau đó phóng to toàn bộ khu vực và quản lý nó. Nó sử dụng LOD rất tốt khi bạn phóng to và thu nhỏ để không làm quá tải card đồ họa, và ở một mức thu nhỏ nhất định, các mắt lưới được thay thế bằng hình ảnh 2D của loại đơn vị nào, để bản đồ của chiến trường có thể rõ ràng hiển thị mọi thứ ở đâu (vì rõ ràng là một lưới 3D có độ chi tiết thực sự thấp ở 20.000 ft sẽ không thể phân biệt được). Bạn có thể thấy hiệu ứng thay thế 2D khá rõ ràng trong vài giây đầu tiên của video này .
  • RollerCoaster Tycoon 3 - Tương tự như Chỉ huy tối cao, trò chơi này cho phép bạn phóng to và thu nhỏ tùy ý, xem toàn bộ công viên chủ đề của bạn hoặc quản lý một tàu lượn. Nó không sử dụng thay thế hình ảnh 2D nhưng do LOD, mọi thứ vẫn mượt mà; Không chỉ các lưới lớn giảm chất lượng, mà các chi tiết nhỏ như những người đi bộ xung quanh cũng biến mất khi bạn thu nhỏ đủ xa.
  • Truyền thuyết về Zelda: Người làm gió - Khi bạn chèo thuyền trên biển, bạn có thể nhìn xung quanh và thấy những hòn đảo gần bạn nhất; tuy nhiên, chúng chỉ là hình bóng của các hòn đảo và các mô hình 3D thực tế không tải cho đến khi bạn tiếp cận một hòn đảo. Các tính năng khác của tải trọng đảo cũng như kẻ thù và bão ở vùng biển gần đó; Thật không may, người chơi có thể thấy chúng "xuất hiện" khi anh ta đến gần, nhưng nhìn chung đó là một kỹ thuật tốt giúp không làm quá tải phần cứng Nintendo GameCube trong khi mang lại cho người chơi cảm giác khá chính xác khi chèo thuyền trên biển và có thể phân biệt các đảo trên đảo. khoảng cách.
  • Elder Scrolls IV: Oblivion - Tôi đã không chơi trò chơi này trong một thời gian dài nhưng tôi biết nó sử dụng các mô hình bóng hoặc chi tiết thực sự thấp cho các cấu trúc mốc xa xôi, chẳng hạn như tòa tháp cao của một trong những thành phố và những ngọn núi xa xôi .

LOD không chỉ được sử dụng cho địa hình, mà còn cho bóng của các cấu trúc xa xôi và cho tầm nhìn của đại bàng về các trò chơi chiến lược / mô phỏng. Tôi không biết chi tiết về các thuật toán và tôi đoán đó là phần chính của câu hỏi của bạn, nhưng tôi muốn cung cấp cho bạn một số ví dụ về trạng thái LOD trong các trò chơi video hiện đại.


4

Một cách tiếp cận hiện đại để LOD liên tục là phần cứng. Phần cứng được triển khai trong DirectX 11 và về cơ bản cung cấp sự phân chia các bề mặt có thể lập trình. Bởi vì điều này được thực hiện trên GPU, nó cho phép chi tiết cao hơn nhiều so với cung cấp bởi tessname do CPU tạo ra. Ví dụ, bằng cách phân chia các bề mặt dựa trên khoảng cách xem, bạn có thể cung cấp một dạng LOD liên tục.

Phần cứng là một tính năng rất mới của GPU và không có nhiều game sử dụng nó. Tôi nghi ngờ rằng các trò chơi sử dụng nó chủ yếu như một trò chơi thả xuống để lập bản đồ vết sưng - chứ không phải là bản đồ bị lỗi trong trình đổ bóng pixel, bạn có thể sửa đổi hình dạng thực tế. Có lẽ có rất nhiều chỗ để nghiên cứu thêm về đơn giản hóa và cải tiến lưới bằng cách sử dụng phần cứng.

Một số tài nguyên khác:


Cho đến nay tôi vẫn coi nó là một công nghệ giới thiệu hơn là thực tế vì bạn thực sự đang loại trừ rất nhiều đối tượng mục tiêu. Nhưng vâng, các thủ tục có thể là con đường phía trước trong một số hình dạng hoặc hình thức chỉ không chắc chắn đó là triển khai hiện tại của MS. Thời gian sẽ trả lời.
Kaj


3

LOD là về việc cố gắng giữ cho số lượng xử lý không đổi theo thời gian. Mức độ chi tiết phân cấp là cách duy nhất để làm điều này cho các cảnh có chi tiết đáng kể. Nếu bạn ở gần một đối tượng, nó sẽ phân hủy thành nhiều đối tượng. LOD đệ quy này không chỉ cung cấp một cơ chế đơn giản để xử lý các điểm chuyển đổi để chuyển đổi ở các mức chi tiết mới mà còn cho phép số lượng cuộc gọi kết xuất giữ nguyên như nhau cho dù bạn có đến các đối tượng thế giới của mình bao xa.

Tất cả đều có LOD tuyệt vời cho các mắt lưới và kết cấu của bạn, nhưng trong ít nhất một trò chơi tôi đã vận chuyển trên máy PS3, cách tôi tiết kiệm thời gian chỉ là kết hợp tất cả các tán lá trong các khu vực thành các cuộc gọi rút thăm duy nhất. Cuộc gọi rút thăm lớn hơn này mất ít thời gian hơn gần 90% so với kết xuất tất cả các biến thể lod thấp, ngay cả với các chuyển đổi vật liệu được sắp xếp cẩn thận và kết xuất hàng loạt từng loại lưới. Vì vậy, hãy xem xét LOD cẩn thận. Nó không chỉ là về các đối tượng riêng lẻ. Đó là về toàn bộ giai đoạn kết xuất.


1

Một chủ đề khác để xem xét thảo luận trong bài viết của bạn (mặc dù toàn bộ luận án có thể dễ dàng được viết chỉ về chủ đề này) là tạo địa hình theo thủ tục.

Nhiều dự án hiện đại đang bắt đầu sử dụng việc tạo địa hình theo thủ tục theo thời gian thực để tạo ra những địa hình rộng lớn (Outerra, Infinity (INovae), để đặt tên cho một số trong những điểm nổi bật nhất). LOD rời rạc đơn giản không phải là một lựa chọn, vì tính chất thủ tục của các mắt lưới.

Những địa hình này thường sử dụng các cấu trúc phân vùng theo kiểu bá đạo như tứ giác để xác định LOD và tạo ra một lưới có độ phân giải phù hợp dựa trên độ sâu của nút cây.

Nếu không sử dụng continu LOD, những dự án tuyệt vời này đơn giản là không thể.

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.