Tại sao bản đồ bóng là tiêu chuẩn?


41

Mặc dù tôi là một lập trình viên thương mại, tôi hầu như không chạm vào sự phát triển trò chơi. Tôi đã có câu hỏi này một thời gian và bây giờ tôi đang tìm hiểu về phát triển trò chơi, tôi nghĩ rằng đây sẽ là thời điểm tốt để được hỏi.

Tại sao ánh xạ bóng dường như là cách độc quyền mà các trò chơi sử dụng để tạo bóng? Nói thẳng ra, nó trông thật tệ. Ngay cả các trò chơi hiện đại với cài đặt bóng tối đa cũng có các khối block-y lởm chởm rất mất tập trung.

Doom 3, được thực hiện 11 năm trước đã sử dụng khối lượng bóng trông tốt hơn nhiều so với bất kỳ triển khai bản đồ bóng nào tôi từng thấy, bao gồm các trò chơi AAA được phát hành cùng tuần câu hỏi này đang được đăng. Các mod bên thứ ba cho Doom 3 thậm chí còn làm mềm các cạnh của bóng, khiến chúng trở nên ấn tượng hơn.

Có một số loại vấn đề kỹ thuật hoặc hạn chế với việc thực hiện những thứ như khối lượng bóng tối? Có phải bản đồ bóng tối rất dễ thực hiện mà các nhà phát triển thậm chí không xem xét bất cứ điều gì khác?

Thông tin duy nhất tôi có thể tìm thấy về chủ đề này là các đa giác tạo thành các khối có thể khá lớn, trở nên khắt khe hơn. Có lẽ khối lượng bóng có yêu cầu hệ thống cao hơn nhiều, nhưng nếu đó là trường hợp họ đã sử dụng chúng trong năm 2004 thì sao?

Câu hỏi này không cụ thể đối với ánh xạ bóng so với khối lượng bóng, Chúng chỉ đơn giản là 2 cái duy nhất tôi thấy được sử dụng trong các sản phẩm đầy đủ và tôi không thể tìm thấy nhiều thông tin về bất kỳ kỹ thuật nào khác.


3
Xin lưu ý - Doom 3 cực kỳ hiệu năng cho ngày hôm nay, và nó vẫn bị giật ngay cả trên một số hệ thống hiện đại (và tôi không nói về GPU tích hợp, mặc dù nó không thực sự không phù hợp ở đây; chắc chắn, rất có thể do tuổi của nó, nhưng ...). Và tôi đã thấy nó chạy trên nhiều máy tính, nơi bóng tối và ánh sáng đơn giản không hoạt động . Rõ ràng, có rất nhiều sự phức tạp nhận được bóng ngay trong một trò chơi, và Doom 3 là một ví dụ hay về việc đồ họa thực tế khó như thế nào qua rất nhiều cấu hình máy tính.
Luaan

1
Doom 3 đã đi trước thời đại phát triển bắt đầu (ít nhất là được lựa chọn API đồ họa). Nó đã có một số phụ trợ để xử lý các thế hệ Shader Model 2.0 trước phần cứng và điều đó có nghĩa là khoảng 1/4 động cơ hầu như không thể di chuyển được (nó có trước cả GLSL) và 3/4 còn lại là các bản mã cho các phần mở rộng phần cứng NV và ATI cổ đại điều đó không liên quan đến thời điểm trò chơi xuất xưởng. Sự lựa chọn khối lượng bóng của nó có lẽ là vấn đề ít nhất.
Andon M. Coleman

Câu trả lời:


48

Ánh xạ bóng và bóng stprint (khối lượng bóng) chắc chắn là hai lớn, như bạn đã đề cập, vì vậy tôi sẽ dựa vào việc so sánh hai. Và vì bạn đã chỉ ra những thiếu sót rõ ràng nhất của ánh xạ bóng và lợi thế của bóng tô, nên tôi sẽ làm ngược lại.

Thiếu sót bóng tối

  1. Bóng phù hợp với hình dạng của lưới đúc. Điều này là rất hạn chế , và có lẽ là lý do kỹ thuật lớn nhất để không sử dụng bóng stpson . Lá cây, bụi cây, hàng rào dây, xé vải và các yếu tố trò chơi đổ bóng thông thường khác sử dụng độ trong suốt alpha để xác định hình dạng của vật thể. Nhưng vì bóng stprint phù hợp với lưới và không hoàn toàn là các phần có thể nhìn thấy của kết cấu trên lưới, chúng không thể được sử dụng cho các đối tượng như vậy. Ví dụ, một cụm lá trong cây thường sẽ là kết cấu của cụm lá trên một hình tứ giác. Bóng stear chỉ có thể hiển thị bóng của hình tứ giác (và nó sẽ có vấn đề với điều đó vì hình tứ giác không phải là lưới kín, nhưng đây là một chi tiết nhỏ tôi sẽ bỏ qua cho câu trả lời này, vì nó nói chung có thể được làm việc xung quanh).
  2. Không thể làm bóng mềm chính xác. Bạn đã chỉ ra rằng Doom 3 đã được sửa đổi để cho phép các bóng mềm. Phiên bản này ở đây , ít nhất, sử dụng ánh xạ bóng cho bóng mềm. Tôi cũng đã thấy các kỹ thuật không gian màn hình để làm mềm các bóng cứng, nhưng chúng dễ gặp phải tất cả các vấn đề.
  3. Không thể làm bóng trên các vật thể trong suốt. Có cách giải quyết cho việc này - hiển thị bóng cho các đối tượng trong suốt ở các đường chuyền riêng biệt và kết hợp chúng sau đó. Nhưng bên cạnh các cách giải quyết khó khăn, bản chất của bóng stpson là mỗi pixel trên màn hình trong bóng hoặc không. Đây cũng là lý do không có bóng mềm như đã đề cập trước đó.
  4. Việc triển khai bóng tối được ưu tiên và mạnh mẽ nhất, thường được gọi là "Đảo ngược của Carmack", thực sự được cấp bằng sáng chế, như Angew đã chỉ ra trong các bình luận. (Không được cấp bằng sáng chế bởi Carmack; anh ta phải làm việc xung quanh nó cho phiên bản mã nguồn mở của Doom 3)

Có lợi cho bản đồ bóng

Ngoài việc không có những hạn chế tôi liệt kê cụ thể cho bóng stpson, còn có một vài lợi thế nữa đối với ánh xạ bóng:

  1. Khả năng mở rộng. Mặc dù ánh xạ bóng không rẻ cũng không hoàn hảo ( ed: nhưng bóng stpson cũng không rẻ ), tương đối dễ dàng đánh đổi độ trung thực để thực hiện bằng cách thay đổi độ phân giải của bản đồ bóng hoặc thay đổi bộ lọc cho bóng. Điều này làm cho nó tương đối dễ dàng để điều chỉnh chất lượng / hiệu suất bóng cho các hệ thống khác nhau. Như bạn đã chỉ ra, điều này thường không hoàn hảo, nhưng phần nhiều điều này sẽ phụ thuộc vào mức độ cảm nhận của người chơi và độ phân giải mà họ đang chơi (độ phân giải màn hình cao hơn sẽ giúp dễ dàng nhìn thấy bóng tối hơn ánh xạ). Một số trò chơi AAA (như Fracture ) thực hiện công việc tuyệt vời với ánh xạ bóng chỉ bằng cách chọn đúng bộ lọc và điều chỉnh các núm bên phải, trong khi nhiều người chỉ cần đặt nó vào đó và nói "đủ tốt".
  2. Cookies (bóng kết cấu): Thêm kết cấu của đèn rọi hoặc kính màu và bạn có thể mô phỏng tất cả các loại nguồn sáng trong thế giới thực. Dù sao thì điều này cũng có thể thực hiện được với bóng stpson, nhưng dù sao cũng liên quan đến hầu hết tất cả các thiết lập ánh xạ bóng (các ma trận chiếu tương tự được sử dụng để chiếu kết cấu của ánh sáng lên các đối tượng là những thứ được sử dụng cho ánh xạ bóng).
  3. Bóng trong suốt: Hầu hết các trò chơi không cố gắng nhiều với điều này, nhưng bóng trong suốt có thể với ánh xạ bóng. Tôi không chỉ có nghĩa là cắt alpha như cây và hàng rào như tôi đã đề cập trước đây, nhưng tôi có nghĩa là bóng tối trong suốt một phần, như từ khói và bụi.

Cả hai danh sách này đều không đầy đủ.

Vì vậy, trong khi các quan sát của bạn về ánh xạ bóng và bóng stprint là chính xác, thì những thiếu sót của bóng stpson là điểm dừng hiển thị cho rất nhiều hiệu ứng mong muốn và ánh xạ bóng có một vài ưu điểm riêng.


1
Ahhh, tôi đã không xem xét hầu hết những điều này và kết cấu trong suốt như lá là một vấn đề khá lớn. Cảm ơn đã trả lời!
gnoblin

1
Không có vấn đề :) Một số trong số này rất dễ bỏ lỡ!
Jibb thông minh

8
Tôi muốn nói rằng một vấn đề nữa với âm lượng bóng tối là độ sâu không giống như máy ảnh ở trong bóng tối và lỗi sâu được cấp bằng sáng chế.
Tái lập lại

Điểm tốt, Angew. Tôi đã thêm rằng với lý do không sử dụng bóng stpson và làm rõ lý do chính không sử dụng bóng stpson là " lý do kỹ thuật lớn nhất " không sử dụng chúng, vì vấn đề bằng sáng chế có thể là một công cụ ngăn chặn hiển thị.
Jibb thông minh
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.