Mô Hình PBR Là Gì ?

Trong những năm gần đây, những game AAA ứng dụng rất mạnh mẽ mô hình PBR vào trong các engine cũng như các artwork của các họa sỹ cũng liên tục cho biết quá trình làm việc đều áp dụng mô hình PBR, điểm chung là nhằm tạo được sự ấn tượng về chân thực của artwork hay hình ảnh phát triển trong game đầy thực tế, càng thực người chơi càng thích thú.
Cũng tương tự không nằm ngoài phong trào, các công ty làm phim hoạt hình, làm video quảng cáo hay kiến trúc cũng đã áp dụng vào trong các sản phẩm của mình nhằm thuyết phục được người xem hơn về tính chân thực.
 
Các hãng chuyên về phát triển phần mềm cho công cụ, vật liệu để hòa vào các pipeline sản xuất đồ họa 3D CG cũng không nằm ngoài cuộc chơi, trong đó có Substance, Mari vẫn đang dẫn đầu về việc ứng dụng mô hình PBR vào trong workflow. Cùng lúc đó thì phần mềm mã nguồn mở Blender cũng đã đưa mảng vật liệu và rendering này vào cho phần mềm của mình để bắt kịp nhịp độ ngành công nghiệp tạo ra nội dung số toàn cầu.
 
Cần hiểu PBR là một phương thức tiếp cận, nó không phải là tiêu chuẩn ngặt nghèo.
 

Có tài liệu miễn phí phía cuối bài để tài về. (tiếng Anh của Substance cung cấp free)

Mô hình PBR là gì ?

Physically Based Rendering là shader mô phỏng dựa trên giá trị thực tế ngoài đời, làm cho nó chuẩn xác và ổn định dưới các điều kiện ánh sáng. Đó là loại công nghệ đã giúp các video game AAA cất cánh và các chất lượng render cao cấp hơn. 

Bản chất PBR (mô phỏng điều kiện bề mặt vật liệu và ánh sáng tác động thức tế để render và làm shader) là một mô hình shader và rendering, đó là phương thức giúp hai khía cạnh trên đạt được sự chính xác về pixel hiển thị thông qua quá trình tương tác với ánh sáng bề mặt. Có thể gọi là Physically Based Rendering (PBR) hay Physically Based Shading. 

Cơ Bản Về PBR

Nguyên tắc gốc rễ của PBR là sự kết hợp của một concept khoa học máy tính với cách thức thực hiện nhằm mô tả lại độ chân thực của thế giới thực qua hình ảnh đồ họa máy tính được nghiên cứu vào những năm 1980 tại trường đại học Cornell khoa đồ họa máy tính.

Theo như nghiên cứu này thì mọi bề mặt ở thế giới thực đều có sự bóng loáng (làm cho có tính phản chiếu ánh sáng – specular /chưa bàn đến phản chiếu hình ảnh – reflection), ngay cả bề mặt phẳng như bê tông cũng sẽ có sự phản chiếu ở một góc độ nhỏ khi tương tác ánh sáng, và tương tự thì các bề mặt kim loại cùng chất lỏng sẽ có bề mặt phản chiếu rất lớn. 

Để mô tả thế giới thực là mục tiêu của mô hình PBR thì sau các kết quả nghiên cứu đều nhận thấy đó là sự kết hợp của các khoảng giá trị tạo bởi Albedo (sắc trắng), Gloss (mức độ phản chiếu ánh sáng), reflectivity (mức độ phản chiếu hình ảnh) cùng các thuộc tính vật lý khác. Cái nét chính của PBR là sự củng cố để hình thành được bề mặt vật liệu ở mức chi tiết khi phản chiếu ánh sáng (microsurface) tạo bởi texture thêm vào cùng khả năng mô hình xử lý của engine render trên các dãi phản chiếu ánh sáng li ti để tạo ra bề mặt trơn bóng hay sần sùi kiến tạo thành map specular và reflect.

Hiểu Về Cơ Bản Của Map PBR

Thông thường khi làm việc, sẽ có 2 loại vật liệu được chỉ ra là phi kim (gỗ, đá, nhựa ..) và kim loại. Và khi được phân ra thành các map trong render engine sẽ bao gồm 3 loại map texture (Albedo, Microsurface, Metallic) còn các loại map khác được thêm vào trong quá trình hình thành artwork để đạt thẫm mỹ thuyết phục người xem.

Mô hình của PBR shader sẽ có 3 map cơ bản gồm Albedo, Microsurface (specular hay reflectivity), Metallic

Cùng với các kiến thức trên thì bề mặt vật liệu (shader) hoàn hảo chịu ảnh hưởng bởi sự tác động của ánh sáng, trong các phần mềm rendering nói chung, ánh sáng được hiểu là ray – tia (chùm tia) và nó sẽ được phóng vào bề mặt vật liệu sau đó phản xạ (reflectivity) là tia minh họa đường gãy khúc, hiện tại giải thuật về mặt công nghệ thông tin và toán học là các nhà phát triển dùng ray tracing (dò tia) – một loại khác là path tracing ít được dùng, tức render engine sẽ dò nhận kết quả của tia thông qua đơn vị tính theo sampler (mẫu kết quả từ tia) sau đó sẽ can thiệp để chọn lọc ra kết quả (biased) hoặc hoàn toàn không can thiệp (unbiased). Coi thêm về render bias và unbiased ở đây.

Với một bề mặt vật liệu có chi tiết microsurface (theo nguyên lý thực tế của PBR là bề mặt vật liệu luôn phản chiếu ánh sáng – shiny) nó sẽ làm cho tia ánh sáng bị khúc xạ khi ánh sáng được bề mặt vật liệu hấp thụ (absorb), đi vào bên trong chi tiết. Hiểu về mô hình PBR sẽ thấy những viên xanh dương là các chi tiết li ti của bề mặt vật liệu chính là map specular tạo ra sự sần sùi nên ánh sáng bị khúc xạ.

Hai điểm để hiểu về lý thuyết nhìn nhận ánh sáng của vật liệu PBR luôn là ánh sáng có phản chiếu hay không (reflectivity), hay bị hấp thụ (absorb). Nếu bị hấp thụ thì phản chiếu của ánh sáng sẽ không bảo toàn, cũng như bị tác động khúc xạ như vậy sẽ không thể phản chiếu ánh sáng hay phản chiếu hình ảnh hoàn hảo nữa.

bề mặt vật liệu phi kim (phần mềm Blender) với 0 Metallic và 1 cho Specular, 0 Roughness. Bề mặt như nhựa phản chiếu được hình ảnh và ánh sáng.
bề mặt vật liệu phi kim (phần mềm Blender) với 0 Metallic và 1 cho Specular, 0.370 Roughness. Bề mặt không hoàn hảo, có sần sùi do hấp thụ (absorb) ánh sáng.và khúc xạ từ chi tiết micro surface
bề mặt vật liệu kim loại (phần mềm Blender) với 1 Metallic và 1 cho Specular (kim loại có khả năng phản chiếu ánh sáng lớn nên hình phản chiếu có ánh sáng ở độ cong - fresnel), 0 Roughness. Bề mặt phản chiếu hình ảnh hoàn hảo.
bề mặt vật liệu kim loại (phần mềm Blender) với 1 Metallic và 1 cho Specular (kim loại có khả năng phản chiếu ánh sáng lớn nên hình phản chiếu có ánh sáng ở độ cong - fresnel), có sử dụng 0.5 Roughness. Bề mặt phản chiếu hình ảnh bị khúc xạ, hấp thụ ánh sáng tạo ra bề mặt có tính sần sùi.

Tìm Hiểu Về Texture Ứng Dụng Vào Map

Các loại map thường thấy trong các phần mềm 3D rendering hay các phần mềm làm vật liệu sẽ luôn có:

  1. Color Map (PBR)
  2. Transparency Map
  3. Bump Map
  4. Specular Map (PBR)
  5. Environment Map
  6. Light Map
  7. Các loại Map khác (như Subsurface, Subdermal map là loại map thường dùng mô tả da người bao gồm cơ, máu được đặt khi subsurface nhìn xuyên qua…)

Ở đây chúng ta chỉ xem và thảo luận về các loại vật liệu thiết yếu khi dùng mô hình PBR (albedo, metallic, specular hay còn gọi là microsurface), còn các loại map phải thêm vào (AO, normal, height map displacement, subsurface cattering) để đạt thẫm mỹ của một shader hay artwork sẽ được chia sẻ trong tài liệu gốc tiếng Anh phía dưới. (tham khảo Polycount nếu bạn muốn biết các loại map có gì)

Albedo

Cùng xem qua ở mảng Albedo của PBR như được cho biết phía trên là chỉ mang sắc màu không bao gồm sự phản chiếu ánh sáng hay phản chiếu hình ảnh, nên cái này cũng là cái các bạn 3D CG hay nhầm với diffuse map (ứng dụng texture cho vật liệu theo phương thức truyền thống) nếu không phải là đã có kinh nghiệm trong làm vật liệu ngành game.

Albedo bên phải khác với diffuse, nó không bao gồm chi tiết ánh sáng nên sẽ không có bóng đổ và phản chiếu ánh sáng

Specular 

So sánh với cách làm map truyền thống thì bề mặt diffuse cũng có mang thông số của bóng đổ, phản chiếu ánh sáng, với PBR thì không, loại vật liệu Specular map hay còn gọi là Gloss map hay chính là micro surface detail (bề mặt li ti) sẽ định đoạt sự sần sùi hay trơn bóng của bề mặt vật liệu. Có thể hiểu tùy theo engine render gọi thì nguyên tắc sẽ luôn có hoặc không, tức có nhẵn bóng hay không, có sần sùi hay không. Như vậy khi trắng là có và khi đen là không. Sự phân chia này gia giảm cấp độ qua thang màu trắng tới đen (sắc xám).

Metallic

Với Metallic map sẽ thể hiện thông thường với màu đen ở các vị trí nào thì đó là nơi sẽ phản chiếu hình ảnh. Tức xác định vị trí đó có phải bề mặt vật liệu kim loại hay không, có tính kim loại hay không. Hay dễ hiểu đó chính là map xác định có phản chiếu hình ảnh hay không trong PBR. Như vậy Albedo sẽ đóng vai trò là bề mặt nền cho việc áp dụng có phản chiếu hình ảnh hay không.

Hình minh họa trên, từ trái qua phải, minh họa của Unreal Engine, thông thường metallic sẽ là một giá trị từ 0 đến 1 (hoặc đen tới trắng) để định nghĩa nếu 0 là là phi kim là nhựa, gỗ, đá và 1 là loại vật liệu kim loại sẽ sáng bóng, thông thường một giá trị ởm ờ giữa 0 và 1 rất ít xảy ra trong thực tế nhưng là artist thường muốn kiểm soát nên vẫn có trường hợp dùng, quan trọng là ra ảnh đẹp.

Như hình ảnh trên về ứng dụng roughness (sần sùi) vào sự phản chiếu hình ảnh hay phản chiếu ánh sáng trong một engine render điển hình khi hiển thị phương thức PBR, một shader PBR sẽ được dùng thêm rough map để giúp giảm đi sự tác động của tính chất nguyên bản loại vật liệu đó, giảm đi sự phản chiếu ánh sáng hay giảm sự phản chiếu hình ảnh. Hình ảnh phản chiếu hình minh họa trên bị che khuất bởi các vệt hoen gỉ được tạo ra tự một map roughness. 

Là minh chứng của phản chiếu hình ảnh (reflectivity) và phản chiếu ánh sáng (specularity) không hoàn hảo, bị hấp thụ (absorb).

Cách làm vật liệu vừa mờ vừa có phản chiếu hình ảnh trong Blender

Post Author: Vu Pham