Shader kim loại thực tế


13

Làm thế nào để bạn tạo ra một shader kim loại tốt?

Đối với các kim loại khác nhau và nói ít nhiều bị xói mòn / gỉ và như vậy.

Tôi biết rằng một điểm khác biệt so với các vật liệu thông thường là kim loại nên 'tô màu' ánh sáng đặc biệt nhưng khi tôi làm điều đó với vàng chẳng hạn, nó chỉ trông "vàng" chứ không phải kim loại.

Bất kỳ trợ giúp đánh giá cao!


1
Câu hỏi của bạn nghe có vẻ đơn giản và cụ thể, nhưng thực sự không phải vậy. Bạn không thể sao chép một cái nhìn kim loại với một shader một mình. Làm như vậy đòi hỏi phải có kết cấu phù hợp, do đó bạn cần một kết cấu sáng bóng đặc biệt, có thể là bản đồ vết sưng nếu kim loại không đều, v.v. Nếu kim loại được đánh bóng ở bất kỳ mức độ nào, bạn cần phản ánh môi trường (hoặc một số tranh biếm họa) tốt. Đây không phải là vấn đề "đây là một số mã shader kim loại" đơn giản.
Nicol Bolas

Nhìn vào chủ đề của phản xạ dị hướng quá, một hiện tượng thường thấy trong các kim loại chải.
David Gouveia

@David: Điều đó có vẻ rất tuyệt, có thể nó hơi quá mức đối với tôi vào lúc này nhưng tôi chắc chắn kiểm tra và sử dụng nó nếu tôi có thể :-)
Valmond

@Nicol Cảm ơn bạn đã nhận xét, tôi hoàn toàn ổn khi sử dụng họa tiết, trình tạo bóng 'bình thường' của tôi bao gồm 3: Diffuse, Glow và một sơ đồ điều khiển bao gồm Specular, Spec-power và phản chiếu (từ bản đồ khối)
Valmond

Một tìm kiếm nhanh cho thấy nhiều shader kim loại khác nhau và trực tiếp từ miệng ngựa: developer.doad.nvidia.com/shaderl
Patrick Hughes

Câu trả lời:


4

Gần đây tôi đã tạo ra các shader cho cả kim loại sạch và được chải cho trò chơi của mình và tôi khá hài lòng với kết quả này.

Kim loại sạch: Tính năng quan trọng nhất trong các thí nghiệm của tôi là phản xạ môi trường với bản đồ khối. Tôi đã triển khai chúng với môi trường kết xuất theo kết cấu thời gian thực, nhưng hình ảnh tĩnh thường cho kết quả tốt và dễ làm mờ chúng hơn. Tính năng quan trọng thứ hai là hiệu ứng fresnel, làm cho các silhuettes của các đối tượng tốt hơn. Điều này ví dụ cho một cái nhìn tròn hơn cho các quả bóng. Ánh sáng đặc biệt không nhất thiết là cần thiết, vì bản đồ khối có thể cung cấp các điểm nổi bật trực tiếp. Kết xuất HDR cũng rất quan trọng để làm cho các phản xạ bản đồ khối trông đẹp.

Kim loại chải: Đối với kim loại chải, bạn có được kết quả tốt khá dễ dàng bằng cách sử dụng kết cấu cọ, đại loại như thế này, cùng với ánh sáng dị hướng. Đối với ánh sáng dị hướng, bạn có thể tìm thấy các hướng dẫn từ trang web, nhưng tôi đã tự thực hiện bằng cách sử dụng blinn-phong làm cơ sở, nhưng từ nửa vectơ tôi đã loại bỏ 80% hướng tiếp tuyến. Điều này có nghĩa là bạn cần tiếp tuyến hoặc bitang ngoài các quy tắc trong mô hình của bạn. Các phản xạ môi trường là khó khăn cho kim loại chải. Bạn có thể lấy mẫu từ nhiều hướng từ bản đồ khối dựa trên các hướng tiếp tuyến / bitangent, nhưng bạn có thể cần rất nhiều mẫu để có kết quả tốt. Tuy nhiên, điều này không nhất thiết là cần thiết, vì kết cấu và ánh sáng dị hướng với nhiều nguồn sáng đã trông khá đẹp. Kết quả cuối cùng trong trường hợp của tôi trông như thế này:

Vật liệu kim loại chải


6

Như Nicol đã nói trong nhận xét của mình, có rất nhiều thứ đi vào một shader kim loại chất lượng cao. Để có kết quả tốt nhất, trình kết xuất của bạn cần phải chính xác về gamma và sử dụng các mô hình tạo bóng dựa trên vật lý (đặc biệt là hai bài báo của Naty Hoffman tại liên kết đó).

Với những điều đó, cách điển hình để chế tạo vật liệu kim loại là có màu khuếch tán rất thấp hoặc không tồn tại và độ phản xạ đặc trưng cao, dao động từ 50% đến 100% (trong không gian màu tuyến tính). Như bạn đã lưu ý, đối với một số kim loại, mẫu vật sẽ có màu.

Bởi vì sự xuất hiện của kim loại là hoàn toàn đặc biệt với rất ít hoặc không có sự khuếch tán, sự phản chiếu sẽ cực kỳ quan trọng. Nếu nó chỉ phản xạ đặc biệt ánh sáng điểm, bạn sẽ có được sự xuất hiện của vật liệu đen vì phần còn lại của môi trường (thậm chí một kim loại rất thô sẽ phản chiếu hình ảnh mờ của môi trường xung quanh). Một cách điển hình để có được nhiều phản ánh hơn là sử dụng sơ đồ khối. Tuy nhiên, sự phản chiếu thực tế trong đồ họa thời gian thực là một chủ đề lớn và có rất nhiều cách tiếp cận khác nhau.


Cảm ơn, đây chính xác là những gì tôi đang tìm kiếm! Khi tôi phản chiếu với một bản đồ khối, có lẽ tôi nên sử dụng một loại ánh sáng môi trường như một ánh sáng đặc trưng rất cao?
Valmond

@Valmond Tôi không chắc ý của bạn là gì khi "sử dụng một loại ánh sáng môi trường như một ánh sáng đặc biệt rất cao". Tất cả những gì tôi muốn nói là sự phản xạ vật lý phải bao gồm cả nguồn sáng và mọi thứ khác trong môi trường (được thêm vào cùng nhau), trong đó phần "mọi thứ khác" có thể được thực hiện như một sơ đồ khối. Một cách điển hình là tạo ra một số hình khối mờ cho các độ nhám khác nhau như được hiển thị ở đây .
Nathan Reed
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.