Adaptive Subdivision Tutorial

$0+
0 ratings

Giải phóng được thêm ít nhất 30% RAM và tăng ít nhất 30% tốc độ load scene lần đầu?

Nhiều bạn hay hỏi Tín làm sao optimize scene khi render. Thật ra cũng tùy, có khi chỉnh 1 cái những có khi phải chỉnh 1 đống... Và hơn hết là phải hiểu rõ những gì mình đang làm.

Nay nhân tiện trời mưa mát mẻ nên lên chuyện trò nói đạo lí với ae nha. Nay nói về subdivision.

Vẫn là câu xạo cũ ai tin thì tin "nếu dùng đúng thì giải phóng được ít nhất 30% RAM và tăng ít nhất 30% tốc độ load scene lần đầu" (Đối với scene nặng, scene nhỏ thì không có gì để bàn rồi).

Coi clip minh họa thì các bạn thấy mình clone ra 2 group: 1 được chỉnh đúng adaptive, 1 thì.. méo.

Về lý thuyết thì nó khá đơn giản chứ không phức tạp, chỉ là mọi người chọn cách bỏ qua nó thôi. Chắc nhiều người dùng Subdivision cũng một lần thấy qua có một thứ tên là edge length trong vray hay trong arnold thì nó nằm trong Adaptive Metric:edge length. Cả 2 cái này đều là một thứ, vậy nó là cái gì?

Định nghĩa Edge length trong vray là "subdivision sẽ dừng lại khi độ dài cạnh chạm ngưỡng edge length(pixel)". Nghe mắc mệt không?

Giải thích đơn giản tức là trong vray khi view dependent được bật và Edge length để là "1" thì dù max subdiv có được chỉnh lên 1000! thì cạnh nhỏ nhất sau khi subdiv cũng không bé hơn 1 Pixel. Với arnold thì hình như là tính theo world unit (tương tự vray khi tắt view dependent).

Túm cái quần lại là sao. Đó là bạn không thể chỉnh các thông số này theo tổ tiên mách bảo. Mà nên dùng mắt...hoặc ít nhất là quen tay quen mắt với kiểu scene đó rồi, hoặc tệ nhất cũng là có chỉnh nhưng chỉnh chưa đúng thì vẫn hơn là để đó.Vì sao ư? đọc tiếp!

Việc chỉnh sai Adaptive subdivision trong arnold có phần thê thảm hơn vray. Bởi vì Tín thấy anh chị em thường để trống cái Adaptive Error do mặc định nó thế...

Cái này chính là thông số để chỉnh cái mức độ Adaptive. Tức là nếu để adaptive error = 0 đồng nghĩa với việc nó subdivision tới "nái".. nào hết RAM thì thôi. KHÔNG CÓ ADAPTIVE!

Hãy tưởng tượng nếu dùng arnold với landscape to thì bạn đã hoang phí bao nhiêu sức mạnh máy móc vào cái việc subdivision 7 lần cho cái phần ground ở tít đằng background khi mà kích thước lên hình nó chỉ bằng 10pixel...Trong khi nếu chỉnh đúng thì những phần nằm gần cam có khi được subdiv lên tận con số 10! Và tất nhiên là chi tiết hơn với phi phí rẻ hơn!

Cách chỉnh thì khá đơn giản, với Arnold thì T sẽ bỏ camera chính vào dicing camera, để adaptive sẽ dựa vào dicing camera mà tính. Sau đó dùng 1 cam khác (nên setup theo cam shot) để check độ dày đặc của lưới bằng wireframe debugging rồi chỉnh thông số phù hợp. Với Vray thì dùng VrayEdgesTex để check.

Bonus thêm cho ai dùng arnold thì nhớ check luôn vào Frustum Culling, chỉnh Frustum Padding lên 0.1 . Cái này nó sẽ giúp cho loại bỏ việc tính toán subdivision ở những chỗ nào không nằm trong cam (off cam đó).

Có nghĩa là "CÁC BẠN TÔI TRƯỚC GIỜ LUÔN SUBDIVISION DÙ NÓ CÓ NẰM TRONG CAM HAY LÀ KHÔNG!!!" .. thật là hư hỏng...

OK! Về suy nghĩ đi nha. Peace!

Ah mà câu đầu Tín nói xạo đó, không phải 30% đâu. Là 50% nha =)) Giờ cho xin 1 like và share để lên tinh thần lần sau tui lại tán phét tiếp nà. BYE!

$
I want this!

Me :D

$0+

Adaptive Subdivision Tutorial

0 ratings
I want this!