Kết xuất dựa trên vật lý
Bạn đang đi đúng hướng khi bạn nói "nó cố gắng bắt chước cách ánh sáng phản xạ trong cuộc sống thực, nó thường được chia thành hai thành phần, đặc trưng và khuếch tán tùy thuộc vào loại vật liệu."
Nhưng chúng tôi đã mô hình hóa các vật liệu với sự đặc biệt và lan tỏa trong các trò chơi và đồ họa máy tính trong một thời gian dài. Bí quyết là chúng ta thường xử lý những điều này là hoàn toàn độc lập - thay đổi tính đặc thù không làm thay đổi sự khuếch tán:
Đây là một ví dụ về Phong shading từ wiki Blender . Bạn có thể thấy rằng nó cung cấp hai tham số về cường độ và độ cứng của vật thể, và các tham số này chỉ thay đổi phần màu trắng của sự phản chiếu. Sự phản xạ khuếch tán màu xanh không thay đổi chút nào.
Cách các trò chơi sẽ sử dụng điều này là một nghệ sĩ sẽ được giao nhiệm vụ điều chỉnh các giá trị này cho từng vật liệu cho đến khi nó "nhìn đúng". Bởi vì "độ cứng đặc biệt" không phải là một tính chất vật lý thực sự của vật liệu mà chúng ta có thể đo chính xác, nó phải được thực hiện bằng mắt.
Phương pháp này là một chút giòn. Khi bạn thay đổi độ rọi (giả sử, một vật thể động di chuyển qua các khu vực khác nhau hoặc trong môi trường có thời gian trong ngày và thời tiết), nó có thể trông rất sai - quá sáng hoặc quá tối - vì điều kiện xem không giống như những thông số cụ thể của nó đã được điều chỉnh cho.
Nhập Kết xuất dựa trên vật lý, đây là một nỗ lực nhằm đưa ra các mô tả vật liệu của chúng tôi trong các thuộc tính khách quan hơn, có thể đo lường được của các bề mặt thực. Một trong những tính chất rõ ràng nhất là bảo tồn năng lượng - một bề mặt cứng hơn sẽ tán xạ ánh sáng một cách khác biệt, và bề mặt kim loại mịn hơn / nhiều hơn sẽ phản xạ ánh sáng trực tiếp hơn, nhưng đó là cùng một nhóm ánh sáng mà cả hai đều vẽ từ đó. Vì vậy, những thứ khác bằng nhau, khi chúng ta làm cho vật liệu sáng hơn, thành phần khuếch tán sẽ trở nên tối hơn:
Ví dụ này là từ một bài báo của Marmoset giải thích PBR ban đầu được chia sẻ bởi Syntac_
Có nhiều kết xuất dựa trên vật lý hơn là bảo tồn năng lượng, nhưng đây có lẽ là dấu hiệu rõ ràng nhất cho thấy bạn đang làm việc với một hệ thống dựa trên vật lý.
Bằng cách giữ cho các mô hình phản chiếu tương tự như cách vật liệu hoạt động trong cuộc sống thực, chúng tôi giảm nhu cầu về các yếu tố mờ nhạt và sự chủ quan của nghệ sĩ để có được một vật liệu trong thế giới thực như gỗ hoặc bê tông hoặc da để trông thật trong nhiều điều kiện ánh sáng khác nhau.
Lưu ý rằng một câu trả lời khác đã mô tả điều này dưới dạng chiếu sáng gián tiếp từ ánh sáng bật ra khỏi các vật thể khác trong cảnh. Mặc dù nhiều hệ thống chiếu sáng sử dụng các mô hình dựa trên vật lý cũng sẽ bao gồm các công cụ để mô hình hóa điều này, nhưng nó thường được biết đến dưới một tên riêng của Chiếu sáng toàn cầu . Đây là hiệu ứng làm cho một bên của đầu khuếch tán trong hình ảnh này xuất hiện màu xanh lá cây, được chiếu sáng bằng ánh sáng bật ra khỏi bức tường màu xanh lá cây:
Hình ảnh từ bài viết này về chiếu sáng toàn cầu
Phản chiếu không gian màn hình
Trong khi PBR cố gắng mô hình hóa vật liệu phản xạ ánh sáng như thế nào, Phản chiếu không gian màn hình cố gắng nắm bắt những gì đang được phản chiếu - cụ thể, đối với bề mặt sáng bóng như gương, tôi nên nhìn thấy gì trong phản chiếu?
Một lần nữa, đây là một kỹ thuật kết xuất tương đối gần đây có lẽ dễ hiểu nhất đối với cách mà các trò chơi đã làm trước đây:
Flipped Rendering - phổ biến cho các mặt phẳng nước hoặc gương phẳng, theo nghĩa đen, chúng ta kết xuất tất cả các hình học phản xạ lần thứ hai được nhân đôi trên mặt phẳng của bề mặt phản chiếu. Điều này mang lại phản xạ chất lượng cao (chi tiết đầy đủ, các đối tượng tiếp xúc với bề mặt thẳng hàng với phản xạ của chúng) nhưng chỉ hoạt động chính xác cho các bề mặt phẳng. Bề mặt càng gợn sóng hoặc gập ghềnh thì điều này càng ít giống như sự phản xạ thực sự, mà sẽ làm biến dạng hoặc mờ theo những cách phức tạp.
Bản đồ khối - hãy để chúng tôi lưu trữ màu sắc có thể nhìn thấy bởi bất kỳ tia nhìn nào phát ra từ điểm trung tâm của chúng. Bằng cách tự động hiển thị các bản đồ khối từ các điểm đã chọn trong cảnh, chúng ta có thể ước tính màu nào sẽ được phản chiếu khỏi bất kỳ bề mặt cong tùy ý nào. Vấn đề ở đây là bản đồ khối chỉ hoàn toàn chính xác tại điểm trung tâm của nó - vì điểm mà chúng ta đang mô phỏng sự phản xạ di chuyển xung quanh cảnh, nó sẽ thấy một thị sai, không có trong bản đồ khối. Điều này có nghĩa là các đối tượng không có xu hướng xếp hàng với phản xạ của chúng.
Phản chiếu không gian màn hình cố gắng giải quyết những hạn chế này bằng cách sử dụng chính cảnh được hiển thị làm nguồn cho thông tin phản chiếu. Nó chiếu tia sáng của tia nhìn phản xạ, sử dụng độ sâu của cảnh, cho đến khi nó giao nhau một cái gì đó trong cảnh được hiển thị.
Đây là một slide từ một bài thuyết trình EA DICE về cách tiếp cận phản xạ của họ trong công cụ Frostbite .
Điều này có nghĩa là (với một số công việc thuật toán thông minh) chúng ta có thể có được sự phản xạ với độ chính xác giống như tia sáng từ các bề mặt tùy ý trong các trò chơi, có sự liên kết chính xác của các bề mặt tiếp xúc, biến dạng và mờ, miễn là có thể nhìn thấy phần phản xạ của bề mặt -screen (tức là không tắt màn hình hoặc bị chặn bởi một cái gì khác). Trong trường hợp độ phản xạ không thể được xác định chính xác bằng cách quét tia, nó thường được xấp xỉ bằng cách sử dụng các mẫu gần đó hoặc sơ đồ khối dự phòng đại diện cho cảnh bên cạnh / phía sau chế độ xem của máy ảnh.
Bạn có thể thấy trong ví dụ về phản chiếu không gian màn hình này , ấn tượng có thể rất thuyết phục, mặc dù các lỗi nhỏ là đáng chú ý (xem sự phản chiếu của mặt dưới của các hình khối, không thể nhìn thấy trong khung hình được hiển thị và do đó chỉ đơn giản là làm mờ & lặp lại các pixel liền kề, hoặc các lỗ trên hình phản chiếu của rèm màu xanh lá cây bên cạnh chậu hoa và ở dưới cùng của màn hình, nơi tia sáng không thể tìm thấy các pixel phản chiếu đúng). Người ta thường sử dụng kỹ thuật này cho các bề mặt sáng bóng / hơi thô vừa phải để giúp cho các lỗi thỉnh thoảng ít nhìn thấy hơn.