Author
Hướng dẫn Render đại dương với Arnold chỉ bằng Polygon Plane, ảnh HDRI kết nối với Skydome_light và displacement map
Bước 1: Tạo Polygon Plane dùng để mô phòng mặt nước
Bước 2: Tạo vật liệu cho đại dương
Bước 3: Displacement Map
subdivision_type: catclark, subdivision_iterations: 3
subdivision_iterations: 8. Có thể nhìn thấy được nhiều chi tiết hơn trong sóng biển.
Bước 5: Ánh sáng
Bước 6: Tranmission
Bước 7: Loại bỏ Mảng tối - Dark Patches
Bước 1: Tạo Polygon Plane dùng để mô phòng mặt nước
Bước 2: Tạo vật liệu cho đại dương
- Tạo vật liệu Standard_surface và gán vào Polygon Plane.
- Trong Standard_surface vừa tạo, set up thông số base_weight = 0, specular_weight gần = 1, tăng transmission_weight = 1(làm cho mặt nước trong suốt), specular_IOR = 1.33 (đặc trưng của nước).
- Trong Modifier Panel, thêm Arnold Properties Modifier (vô hiệu hóa Opaque)
Bước 3: Displacement Map
- Displacement Map là gì? Đây là loại map giúp thêm các chi tiết vào bề mặt vật thể khi render mà không phải thay đổi cấu trúc bề mặt thật sự của mô hình vật thể. Một Displacement Map chứa các thông tin trắng, đen, xám để gửi cho máy tính thông tin vị trí của các chi tiết bị đẩy lên (vùng màu trắng), lõm xuống (vùng màu đen). Displacement Map giúp giảm bớt chi tiết cho mô hình để máy tính chạy nhanh hơn. Tuy nhiên, điều này sẽ tăng thời gian khi render vì máy tính phải tính toán thay thế phần mô hình cơ bản và thêm vào các thông tin của map. Thế nhưng, thời gian render tăng thêm thường không nhiều bằng thời gian hệ thống bị trì trệ do mô hình quá nhiều chi tiết.
- Do đó, ta có thể dùng Displacement Map để mô phỏng bề mặt sóng biển. Tuy nhiên, Displacement Map truyền thống thường chỉ làm biến dạng bề mặt theo một phương duy nhất là phương của normal, nên để tạo sự biến dạng theo nhiều phương khác nhau giống như bề mặt đại dương, ta sẽ dùng vector displacement map – làm biến dạng bề mặt theo nhiều phương khác nhau.
- Tải map tại đây: https://docs.arnoldrenderer.com/download/attachments/36503607/OceanShape_0000.exr?api=v2
- Ngoài ra, dùng displacement map 32-bit EXR để giữ lại chất lượng cao nhất cho hiệu ứng Displacement.
- Tạo Vector Map shader; tải và kết nối vector displacement map vào cổng input của Vector Map shader; kéo và thả Vector Map shader vào mục Displacement Map của Arnold Properties Modifier
- Trong cửa sổ Environment and Effects (Bấm phím 8), kéo và thả sky HDR map vào mục Background -> Environment Map
- Khi nhấn render, do chưa có đủ Subdivision của Polygon Plane nên chưa thấy được hiệu ứng displacement
- Chọn Polygon Plane, trong mục Arnold attributes, đổi subdivision_type sang catclark và tăng iterations (cẩn thận tăng subdivision_iterations quá nhiều sẽ làm tăng bộ nhớ và thời gian render)


subdivision_type: catclark, subdivision_iterations: 3

subdivision_iterations: 8. Có thể nhìn thấy được nhiều chi tiết hơn trong sóng biển.
Bước 5: Ánh sáng
- Thêm vào Distant light để tăng hiệu ứng chiếu sáng của mặt trời trên mặt biển, từ đó làm nổi bật các điểm chi tiết trên mặt biển.
- Tăng thông số Angle của distant light sẽ làm tăng kích thước góc của ánh sáng, do đó tạo ra phản xạ ánh sáng nhiều hơn trên mặt biển.
Bước 6: Tranmission
- Ánh sáng xuyên qua bề mặt đại dương bị 'khúc xạ' do ánh sáng truyền trong không khí nhanh hơn trong nước. Khi ánh sáng đến mặt nước, nó sẽ bị phân tán hoặc hấp thụ bởi các hạt trong đại dương. Khi đại dương trở nên sâu hơn (dày đặc hơn), nước sẽ giảm độ sâu của ánh sáng xuyên qua.
- Ta có thể mô phỏng hiệu ứng này dễ dàng bằng thông số transmission trong standard_surface shader
- Hiệu ứng có thể được nhìn thấy khi đặt một vật thể bên trong bề mặt đại dương. Chúng ta có thể thấy rằng ánh sáng truyền bên trong lưới càng lâu thì nó càng bị ảnh hưởng bởi màu sắc của transmission_color.
Bước 7: Loại bỏ Mảng tối - Dark Patches
- Đại dương không hoàn toàn trong suốt. Điều này có nghĩa là một số tia sáng khi truyền vào nước không bị khúc xạ sẽ không phản xạ lại và thay vào đó sẽ đi qua nước, để mô phỏng hiện tượng đó Arnold sẽ chấm dứt các tia và cho nó màu đen làm tạo ra các Mảng tối - Dark Patches khi render.
- Để giảm số lượng Dark Patches, ta có thể tăng Subdivision_Iterations
- Các mảng tối – dark patches phía sau đỉnh sóng (tự phản chiếu) cũng có thể được cải thiện bằng cách tăng specular_ray_depth trong bảng render setting.
- Tải final scene tại đây: https://docs.arnoldrenderer.com/display/A5AF3DSUG/Learning+Scenes