Làm cách nào tôi có thể tạo một shader sẽ tái tạo hiệu ứng ánh sáng này trên địa hình?


8

Nhìn thấy ánh sáng rơi ra từ sự va chạm vào đá lát phản chiếu

Lưu ý cách phản xạ mạnh nhất trong đó góc giữa mặt trời, mặt đất và khung nhìn là nghiêm trọng nhất

Lưu ý cách thức mà nguồn sáng chính trong mỗi hình ảnh phản chiếu khỏi mặt đất, như là một hàm của khoảng cách giữa nguồn sáng và người xem (?).

Đây có phải là một bản đồ đặc biệt (bị va chạm)? Hiệu ứng được nhìn thấy khắp nơi trong World of Warcraft; Tôi đặc biệt nhớ nó trên tuyết ở Dun Morogh, và trên bờ hồ Darrow 4.0.3. Nhìn thẳng về phía mặt trời là bắt buộc. Hiệu ứng này cũng phổ biến trên bề mặt nước trong RL và CG. Cụ thể, tôi muốn xây dựng hiệu ứng trong đó sự phản xạ mạnh hơn trên mặt đất gần với nguồn sáng hơn và rơi ra khi nó đến gần người xem.


2
phong trên một bề mặt được lập bản đồ
ratchet freak

Câu trả lời:


14

Tôi tưởng tượng nếu tôi định xây dựng một shader như vậy, có những hiện tượng nhất định mà tôi sẽ bắt đầu.

Đầu tiên ánh sáng mặt trời là hướng, có nghĩa là nó không có vị trí cũng không suy giảm.

Thứ hai, thành phần khuếch tán được tính toán đơn giản bằng cách lấy một sản phẩm chấm giữa hướng mặt trời và quy tắc bề mặt, thêm ánh xạ bình thường có thể thêm vào chi tiết.

Phần khó khăn là mô hình hóa thành phần đặc điểm hướng mặt trời. Vì vậy, để đạt được hiệu quả tương tự tôi sẽ chia nó thành các vấn đề nhỏ hơn:

  • Đầu tiên là các microfacet của bề mặt này có thể được mô phỏng bằng cách sử dụng bất kỳ biến thể nào của vết sưng hoặc ánh xạ bình thường, điều này có thể được áp dụng cho cả thành phần khuếch tán và thành phần.
  • Phần thứ hai là sự phân bố không đồng đều của ánh sáng gương. Điều này có thể được thực hiện bằng cách sử dụng một số loại bản đồ đầu cơ.
  • Bây giờ phần khó nhất là bản đồ đặc trưng hướng có thể đạt được bằng mô hình chiếu sáng không đẳng hướng Ward , cung cấp cho bạn hai tham số để điều khiển dị hướng của phản xạ gương, cụ thể là Ax, Aytrong phương trình Wards sau.

Phương trình của phường

Ở đâu:

  • Thuật ngữ cụ thể bằng 0 nếu dấu chấm ( N , L ) <0 hoặc dấu chấm ( N , R ) <0.
  • Vectơ R là gương phản chiếu của vectơ ánh sáng ra khỏi bề mặt.
  • L là hướng từ điểm bề mặt đến ánh sáng.
  • H là hướng nửa góc.
  • N là bề mặt bình thường.
  • X và Y là hai vectơ trực giao trong mặt phẳng bình thường xác định hướng bất đẳng hướng, vectơ tiếp tuyến và bitangent có thể được sử dụng làm X,Yvectơ, đặc biệt là không gian tiếp tuyến rất phổ biến trong đồ họa máy tính có thể được tính trong bất kỳ động cơ nào (thường được tính dựa trên kết cấu coords).

nhập mô tả hình ảnh ở đây

Lưu ý trong hình ảnh, làm thế nào ánh sáng đầu cơ có hướng không giống với ánh sáng cơ bản thông thường. Dưới đây là một bài viết về mô hình Ward và cách đạt được các hiệu ứng khác nhau. EDIT Thông tin thêm về sự phù hợp của BRDF trong điều khoản giảm cường độ ánh sáng gần hơn với người xem, có thể được tìm thấy ở đây .

Phường dị hướng

Cuối cùng, hai điểm khác (tùy chọn) mà tôi đoán có thể thêm vào hình ảnh cuối cùng,

  • Đầu tiên tôi chắc chắn sử dụng phương pháp che giấu xung quanh sẽ giúp có được kết quả đáng tin cậy hơn.
  • Thứ hai là việc thực hiện một số loại phản xạ Fresnel có thể thêm hiệu ứng đẹp cho hình ảnh, đặc biệt là trong các cảnh nước và băng.

1
+1 Câu trả lời hay về khái niệm 3d, và tôi hơi tiếc vì bạn đã nỗ lực hết sức để viết nó - @JoshPetrie đã sửa đổi tiêu đề câu hỏi của tôi từ "WHAT (đây là shader)" thành "CÁCH (tôi có xây dựng nó không) ". Vì vậy, những nỗ lực của bạn có thể là vô ích, dù sao nó dường như đã làm những điều tốt cho đại diện của bạn, và đó là một nguồn lực tốt.
Kỹ sư

@NickWiggill không có vấn đề gì, nó sẽ vẫn ở đây như một tài nguyên tốt :)
concept3d

@JoshPetrie mặc dù chỉnh sửa bằng cách nào đó đã vô hiệu hóa câu trả lời của tôi, câu hỏi ở dạng hiện tại của nó là hợp lý hơn một chút.
Concept3d

1
Thay vào đó tôi sẽ chấp nhận bạn. Lý do là bạn đề cập đến BRDF và đó chính xác là loại khái niệm tôi có trong đầu, và khi đọc qua nó, tôi có thể thấy rằng đây chính xác là những gì tôi cần. Tôi đã chỉnh sửa câu trả lời của bạn với nhiều chi tiết hơn về BRDF.
Kỹ sư

1
@NickWiggill Cảm ơn bạn đã thêm chi tiết. Thông tin thêm không bao giờ là xấu :)
concept3d

3

Bản thân sự phản chiếu chỉ là sự phản chiếu cụ thể mà bạn có được như là một đầu ra của các chức năng của mô hình chiếu sáng cụ thể của bạn.

Có nhiều mô hình chiếu sáng khác nhau với mức độ phức tạp khác nhau sẽ tạo ra hình dạng phản chiếu tương tự như thế này, nhưng một cái nhìn tương tự như thế này có thể đạt được với mô hình chiếu sáng blinn-phong xương trần đơn giản , hiện có lẽ là nhất mô hình ánh sáng cơ bản được sử dụng bởi các công cụ đồ họa, và rất có thể cũng được World of Warcraft sử dụng.

Nó sẽ không chính xác về mặt vật lý và hoàn toàn bằng với hình ảnh của bạn, nhưng nó sẽ trông rất giống nhau . Ví dụ về mô hình Ward của Concept3D đúng hơn về mặt vật lý và hoạt động đối với các loại bề mặt phức tạp hơn (cụ thể là các vật liệu mà các va chạm siêu nhỏ trên bề mặt của chúng không được phân bố đồng đều, nhưng có các phân phối xác suất khác nhau), nhưng tôi không biết về bất kỳ ví dụ cụ thể nào của các trình kết xuất thời gian thực sử dụng nó, do mức tăng kém về chất lượng / hiệu suất.

Trong thực tế, các loại phản xạ như vậy trên các bề mặt được bổ sung bởi các đặc tính / độ bóng và kết cấu thông thường bổ sung, điều chỉnh độ sáng / nhám của bề mặt và hướng của các mặt phẳng tương ứng, cả hai đều là đầu vào của phương trình chiếu sáng của các mô hình chiếu sáng điển hình. Điều này được thực hiện bởi vì trong thế giới thực, các tính chất vật lý của bề mặt thường xuyên nhất (ngoại trừ có thể là một thứ gì đó như nhựa hoặc gương) không giống nhau trên khắp bề mặt, nhưng có thể thay đổi rất nhiều từ pixel sang pixel.


Phải, cảm ơn Travis. Bạn có thấy có bất kỳ vấn đề nào xảy ra với việc tôi sử dụng blinn + phong cùng với một loại kết cấu mặt nạ nào đó để hiển thị các pixel chỉ khi cần thiết trên địa hình, do đó tạo ra độ hạt nằm dưới sự phản xạ của gương không?
Kỹ sư

Nếu những pixel đó hoàn toàn không sáng sau khi bị loại bỏ do kết cấu mặt nạ, nó có thể sẽ trông sai / lạ. Cách thông thường thực sự là sự kết hợp giữa bản đồ va chạm và bản đồ đặc trưng cho bề mặt thay đổi một số đầu vào của phương trình chiếu sáng.
TravisG

0

Ánh xạ va chạm đặc biệt (ánh xạ bình thường) hoặc ánh xạ thị sai.


7
Làm sáng tỏ điều này với bằng chứng hoặc tài liệu tham khảo sẽ làm cho nó một câu trả lời tốt hơn nhiều.
MichaelHouse
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.