Breaking News

Giảm hạt (noise) trong Blender

Giảm hạt (noise) trong Blender

Khi hoàn thành một sản phẩm render, rất quan trọng để giảm hạt càng nhiều càn tốt. Ở đây chúng ta sẽ thảo luận một vài thủ thuật cho nó, phá bỏ quy luật vật lý đặc biệt quan trọng khi render animation trong một khung thời gian hợp lý. Nhấp vào ảnh để nhìn thấy sự khác biệt ở những ảnh ví dụ dưới đây.

Path Tracing

Cycles sử dụng thuật toán gọi là dự đoán khả năng tiếp theo, nó không tốt khi render tất cả các loại hiệu ứng ánh sáng. như caustics nhưng có lợi thế vì có khả năng render nhiều chi tiết và những khung cảnh lớn khi so với các thuật toán render khác. Vì chúng tôi không cần lưu trữ - ví dụ - photon map trong bộ nhớ, và vì chúng tôi có thể dùng tiếp tia sáng liên tục để sử dụng image cache đòi hỏi, khi đem so sánh với bidirectional path tracing.


Chúng tôi làm ngược lại với những gì thực tế xảy ra, dò tia sáng từ camera lên khung hình và lên nguồn sáng, còn thực tế là nguồn sáng vào khung hình rồi vào camera. Nó có lợi thế là sẽ không lãng phí việc dò nguồn sáng mà không kết thúc sau camera, nhưng cũng có nghĩa là khó để tìm nguồn sáng gộp vào nhiều lần. Tia sáng sẽ được gửi đến bề mặt BRDF hoặc nguồn sáng xác định (đèn, khối sáng).

Hạt từ đâu ra

Để hiểu hạt từ đâu ra, lấy ví dụ cảnh dưới đây. Khi chúng ta dò sáng ở vị trí đặc biệt, nó là cái mà diffuse shader "nhìn thấy". Để xác định ánh sáng phản chiếu từ mặt này, chúng ta cần xác định màu trung bình của mọi pixel này. Chú ý ánh sáng bóng trên hình cầu, và ánh sáng đèn đổ lên tường. Những điểm này sáng hơn 100 lần so với các phần khác trong bức ảnh và sẽ góp phần vào ảnh sáng của pixel.


Đèn là nguồn sáng, vì thế không khó để xác định, nhưng những sáng bóng là nguyên nhân gây ra vấn đề khác. Điều tốt nhất mà chúng ta có thể làm với path tracing là phân phối tia sáng ngẫu nhiên trên bán cầu, hy vọng tím thấy tất cả các điểm sáng quan trọng. Nếu pixel nào đó mà chúng ta bỏ lỡ điểm sáng, nhưng lại tìm thấy ở pixel khác và kết quả là xuất hiện hạt. Càng nhiều sample chúng ta càng có khả năng phủ hết tất cả các nguồn sáng quan trọng.

Với vài mẹo chúng ta có thể giảm hạt. Nếu chúng ta làm mờ (blur) điểm sáng, nó sẽ lớn hơn và ít mạnh hơn, dễ xác định và ít hạt hơn. Nó sẽ không cho ra cùng một kết quả, nhưng thông thường nó gần đủ để thấy qua diffuse hoặc phản chiếu qua soft glossy. Bên dưới là ví dụ sử dụng Filter Glossy và Smooth Light Falloff.


Bounces

Trong tự nhiên ánh sáng sẽ dội qua lại rất nhiều lần với tốc độ ánh sáng rất lớn. Trong thực nghiệm nhiều bouces sẽ nhiều hạt, sử dụng thiết đặt sẵn Limited Global Illumiation sử dụng ít bounces hơn cho các loại shader khác nhau. Bề mặt diffuse có thể bỏ đi một ít bounces, trong khi bề mặt glossy cần nhiều hơn, và transmision shader như kính thường dùng nhiều nhất.



Một điều cũng quan trọng là không sử dụng màu shader có giá trị 1.0 hoặc giá trị gần đó; cố gắng giữ tối đa 0.8 hoặc ít hơn làm cho nguồn sáng sáng hơn. Trong tự nhiên, bề mặt hiếm khi phản chiếu hoàn toàn tất cả ánh sáng nhưng luôn có ngoại lệ; thông thường kính sẽ cho ánh sáng đi qua hầu hết, lý do vì sao chúng ta cần nhiều bounces. Giá trị màu cao dẫn đến nhiều hạt bởi vì cường độ sáng không giảm khi va vào những mặt này.

Caustics và Filter Glossy

Caustics thường là nguồn gây hạt, dẫn đến fireflies (hiệu ứng đom đóm). Chúng xảy ra khi render khó tìm ra vùng sáng đặc biệt được nhìn thấy qua bề mặt glossy nhẹ hoặc bề mặt reflection. Có tùy chọn No Caustics để vô hiệu độ bóng bên dưới đối tượng. Nhiều render engines sẽ thường mặc định vô hiệu hóa caustics. 


Tuy nhiên khi sử dụng No Caustics sẽ mất sáng, và nó sẽ không bao gồm nơi hình khối phản chiếu bóng được nhìn thấy qua phản chiếu bóng mờ. Có tùy chọn Filter Glossy để giảm hạt trong những trường hợp chính đáng. Nó sẽ làm mờ sự phản chiếu của hình bóng loáng để dễ xác định hơn, bằng cách tăng độ nhám (Roughness).

Hình ở trên cho thấy cài đặt mặt định, No caustics và Filter Glossy 1.

Light Falloff

Trong tự nhiên ánh sáng trong chân không sẽ luôn vơi đi với tỉ lệ 1/(khoảng cách^2). Tuy nhiên khi khoảng cách bằng 0, giá trị này là vô hạn và chúng ta có được điểm sáng rất mạnh trong bức ảnh. Nó thường tạo ra vấn đề cho ánh sáng gián tiếp, xác xuất va vào vật nhỏ nhưng rất sáng là thấp và hiếm. Nó tạo ra fireflies.