
Sàn đá granite nhìn phẳng lì cho tới khi bật displacement, và đột nhiên mạch gạch có chiều sâu thật,
bóng đổ vào khe, mép viên đá bắt sáng. Không có kỹ thuật nào thay được cảm giác đó. Vấn đề là
displacement sinh hình học thật lúc render, và nó là thủ phạm số một của những lần 3ds Max tắt ngang
lúc hai giờ sáng. Bài này nói về cách dùng nó mà không trả giá quá đắt.
Displacement khác bump ở chỗ nào
Bump đánh lừa: nó chỉ bẻ hướng pháp tuyến bề mặt để ánh sáng phản ứng như thể có gồ ghề. Bề mặt
vẫn phẳng, viền silhouette vẫn thẳng, và nó gần như miễn phí.
Displacement thì đẩy hình học thật. Corona chia nhỏ bề mặt thành hàng triệu tam giác rồi dịch từng
đỉnh theo giá trị của map. Kết quả đúng ở mọi góc nhìn, viền cũng gồ ghề, bóng đổ tự thân đúng. Cái
giá là hình học sinh ra lúc render, chiếm RAM và thời gian tiền xử lý.
Corona điều khiển việc chia nhỏ này bằng hai chế độ ở Render Setup > Performance > Displacement:
| Chế độ | Cách hoạt động | Dùng khi |
|---|---|---|
| Screen size (mặc định) | Chia nhỏ theo kích thước hiển thị trên màn hình, tính bằng pixel | Ảnh tĩnh — chất lượng tốt, bộ nhớ ít nhất |
| World size | Chia nhỏ theo kích thước thật trong không gian | Animation — mỗi khung chia giống hệt nhau, không nhấp nháy |
Screen size là con số quan trọng nhất trong bài này. Giá trị càng nhỏ thì lưới càng mịn và RAM
càng cao. Chaos nói rõ: không bao giờ đặt dưới 1 pixel, và bình thường cứ để mặc định. Giá trị
lớn hơn nghĩa là chất lượng thấp hơn nhưng RAM ít hơn.
Corona còn có Autobump: khi lưới displacement không đủ mịn để tả hết chi tiết, Corona tự thêm bump
cho phần chi tiết nhỏ. Nghĩa là bạn có thể để screen size khá cao mà bề mặt vẫn nhìn có chi tiết. Đây
là lý do việc hạ screen size xuống 0,5 px hầu như luôn là lãng phí.
Bốn thông báo lỗi hay gặp và ý nghĩa thật
- "Stopping render due to not enough system memory to process displacement" — displacement đã ăn
hết RAM. Nâng screen size lên, hoặc bỏ displacement ở vật thể xa camera. - "Unable to process displacement of the object(s) due to extreme number of generated vertices" —
một vật thể sinh ra quá nhiều đỉnh. Thường do map displacement quá tương phản hoặc vật thể quá lớn. - Cảnh báo camera trực giao — Chaos cảnh báo tổ hợp camera orthographic cộng screen size
displacement ngốn bộ nhớ bất thường. Chuyển sang world size, hoặc dùng camera phối cảnh tiêu cự dài
đặt xa để giả hiệu ứng trực giao. - RAM nhảy vọt ngay sau khi bấm render, trước khi có pass nào — đây chính là lúc displacement đang
sinh hình học. Nếu chết ở đây thì vấn đề chắc chắn là displacement chứ không phải sampling.
Tắt displacement toàn cảnh trong một nốt nhạc
Có hai cách, dùng cho hai mục đích khác nhau.
Cách 1 — công tắc tổng của Corona. Bỏ tích Displacement ở Render Setup > Common. Nó tắt
displacement toàn cục ngay lập tức, không đụng vào scene. Đây là cách để render nháp nhanh.
Cách 2 — tắt hẳn modifier trên từng đối tượng. Khi model tải từ thư viện mang sẵn DisplacementMod
mà bạn không cần, tắt tay từng cái trên trăm đối tượng là không khả thi. Có script chuyên cho việc
này.
Thông tin plugin
| Mục | Chi tiết |
|---|---|
| Tên chính thức | Disable DisplacementMod (bài TIPS#254) |
| Tác giả | Thủ thuật 3D (thuthuat3d.com) |
| Giá | Miễn phí |
| Trang chính chủ | https://thuthuat3d.com/huong-dan-tat-che-do-displacementmod-cua-tat-ca-object-trong-3dsmax-scene-chi-voi-mot-click/ |
| Hỗ trợ | Cả Corona DisplacementMod và V-Ray DisplacementMod |
| Cách dùng | Chạy script, chọn toàn bộ đối tượng trong cảnh, bấm Disable |
Script này giải đúng một bài toán rất cụ thể: model từ các bộ thư viện thường được tác giả gắn sẵn
DisplacementMod, và khi merge vào cảnh của mình thì phần lớn không cần dùng, nhưng dò tay từng đối
tượng thì mất hàng giờ.
Ứng dụng trong kiến trúc và thiết kế
- Sàn đá, gạch lát, tường xây gạch trần ở tiền cảnh — đây là chỗ displacement xứng đáng nhất. Giữ
screen size mặc định, chỉ bật cho đúng vật liệu nhìn thấy gần. - Cỏ và mặt đất cảnh ngoại thất — nâng screen size lên đáng kể. Không ai đếm cọng cỏ ở khoảng cách
20 m, nhưng bộ nhớ thì tính đủ. - Model nội thất tải từ thư viện — quét và tắt DisplacementMod của cả cụm trước khi đưa vào cảnh
chính. Đây là nguồn displacement thừa lớn nhất trong thực tế. - Mặt bằng tổng thể quy hoạch dùng camera trực giao — chuyển sang world size displacement, hoặc
tắt hẳn và dùng bump. Đây là trường hợp Chaos cảnh báo riêng. - Render animation dạo quanh công trình — bắt buộc dùng world size, nếu không mặt sàn sẽ nhấp nháy
giữa các khung hình vì lưới chia lại theo góc nhìn.
Mẹo và lưu ý
- Để chi tiết mịn cho bump, chi tiết lớn cho displacement. Autobump làm sẵn việc này. Cố ép
displacement tả cả vân đá siêu nhỏ là cách đốt RAM nhanh nhất. - Displacement phụ thuộc độ phân giải ảnh đầu ra ở chế độ screen size. Test ở 1000 px chạy ngon
không có nghĩa là 4000 px sẽ chạy được — bộ nhớ tăng theo. - Kiểm soát biên độ bằng Min/Max level của map. Displacement quá mạnh làm hở mép giữa các mặt và
sinh ra số đỉnh khổng lồ. - Water level cắt phần displacement dưới một ngưỡng, hữu ích để giữ mép sàn phẳng ở chỗ giáp tường.
- Đừng bật displacement ở giai đoạn dựng hình. Bật sau cùng, khi đã chốt bố cục và ánh sáng.
Dùng kèm hoặc thay thế
- Displacement là hình học động, nó thuộc bài toán RAM: Tối ưu RAM — cảnh nặng mà máy không tràn bộ nhớ
- Bump và các map bề mặt trong vật liệu Corona: Vật liệu Corona: CoronaPhysicalMtl và tư duy PBR
- Vật liệu theo loại, biết loại nào cần displacement thật: Vật liệu theo loại: kính, kim loại, gỗ, nước, rèm, cây cỏ
- Tắt displacement là bước 5 trong quy trình mười bước: Tối ưu render Corona — bản đồ toàn bộ các hướng xử lý
Video tham khảo (YouTube)
TUTORIAL: Displacement (1/2 Gravel) (Chaos Corona)
Scatter vs Pattern vs Displacement in 3ds Max (Chaos Corona)
Disable DisplacementMod of all objects in 3dsMax with one click (CG Tricks)
Using Poliigon displacement textures in 3DS Max with Corona (Poliigon Documentation)
[Tips] - Tạo tường nổi khối với Displace (HEXAGON ACADEMY)
Tài liệu tham khảo
- What is Displacement? (Chaos Help Center) — giải thích cơ chế và khác biệt với bump.
- Corona Displacement Modifier (Chaos Docs) — tài liệu chính chủ của modifier, kèm các tham số Min/Max level và Water level.
- Stopping render due to not enough system memory to process displacement (Chaos Help Center) — xử lý đúng thông báo lỗi này.
- Using orthographic camera and screen size displacement can consume a lot of memory (Chaos Help Center) — cảnh báo dành cho ảnh quy hoạch.
- TIPS#254 — Tắt DisplacementMod của tất cả object (Thủ thuật 3D) — trang chính chủ của script, có video minh hoạ ngắn.
























































































































