Gần như mọi người làm archviz ở Việt Nam đều bắt đầu từ 3ds Max, và gần như ai chuyển sang Blender cũng vấp đúng một chỗ: xuất FBX ra thì hình còn, vật liệu mất sạch. Bài này giải thích vì sao chuyện đó xảy ra ở tầng định dạng file, rồi so sánh bốn cách chuyển thật sự dùng được trong sản xuất.
FBX không phải định dạng "chuyển scene". Nó là định dạng trao đổi hình học và animation, với một mô tả vật liệu tối giản kiểu Phong/Lambert từ thời trước PBR. Khi bạn xuất một scene Corona hay V-Ray ra FBX, bộ xuất phải ép mọi shader phức tạp xuống cái khuôn tối giản đó. Những thứ không có chỗ chứa sẽ bị bỏ đi lặng lẽ:
OBJ còn tệ hơn: nó không có khái niệm animation, không có instancing, và file .mtl đi kèm chỉ mô tả được vật liệu ở mức cơ bản nhất. OBJ chỉ nên dùng khi bạn cần đúng một khối hình học tĩnh và sẽ làm lại vật liệu từ đầu.
Nếu chỉ cần một cái ghế và bạn sẽ tự dựng lại vật liệu, FBX vẫn ổn miễn là làm đúng mấy bước sau trong 3ds Max:
Từ Blender 4.2, kho Extensions chính thức có add-on đọc trực tiếp file .max mà không cần cài 3ds Max. Nó nhận diện được kha khá loại vật liệu, gồm StandardMtl, PhysicalMtl, Multi-Sub, CoronaMtl và các biến thể V-Ray. Đây là lựa chọn miễn phí tốt nhất hiện nay và nên là thứ bạn thử đầu tiên.
Giới hạn cần biết: nó đọc cấu trúc vật liệu và đường dẫn texture, nhưng việc quy đổi sang node Cycles vẫn là xấp xỉ — shader thủ tục riêng của Corona không có đối ứng một-một trong Blender. Scene nặng với nhiều lớp Multi-Sub thường vẫn phải sửa tay.
Đây là công cụ BlenderVN tự phát triển để phục vụ chính kho model của studio: chuyển .max sang .blend mà giữ nguyên cây vật liệu, modifier và topology, không cần máy cài 3ds Max. Toàn bộ model bán trên shop đều đi qua đường này trước khi lên kệ — đó cũng là lý do file bạn tải về mở ra là render được ngay, không phải trang trí lại từ đầu.
Với shot hero mà chất liệu là điểm nhấn (da, vải bouclé, đá marble có vein), chuyển tự động kiểu gì cũng chỉ ra được bản gần đúng. Đưa hình học sang bằng FBX rồi dựng Principled BSDF từ đầu vẫn là cách cho kết quả tốt nhất. Chỉ nên làm với vài vật liệu chủ đạo, phần còn lại để tự động.
| 3ds Max / Corona / V-Ray | Tương ứng trong Cycles | Lưu ý |
|---|---|---|
| CoronaMtl / VRayMtl — Diffuse | Principled BSDF → Base Color | Kiểm tra color space: albedo là sRGB, các map còn lại Non-Color |
| Reflection Glossiness | Roughness (nghịch đảo) | Glossiness 0.8 ≈ Roughness 0.2. Cần node Invert nếu nối map |
| Refraction + IOR | Transmission + IOR | Thuỷ tinh kiến trúc IOR 1.52; nhớ bật Blend Mode nếu xem trong EEVEE |
| Absorption / Fog color | Volume Absorption trong shader | Density phụ thuộc scale thật của vật thể |
| Bump map | Bump node → Normal | Strength của Max và Blender không cùng thang, phải chỉnh mắt |
| Normal map | Normal Map node | Đổi sang Non-Color, kiểm tra kênh xanh có bị lật không |
| Multi-Sub-Object | Nhiều material slot theo face index | Thứ tự slot thường lệch một bậc, phải rà lại |
| CoronaLightMtl | Emission shader | Cường độ quy đổi theo watt, không theo con số cũ |
Model vào đen thui. Gần như luôn là do texture đứt link. Trong Blender vào File → External Data → Find Missing Files rồi trỏ vào thư mục maps. Nếu vẫn đen, kiểm tra normal có bị lật không: bật overlay Face Orientation, mặt đỏ là normal ngược, chọn hết rồi Mesh → Normals → Recalculate Outside.
Mặt cong bị vỡ mảng. Smoothing group không chuyển đúng. Chọn object, vào Object Data Properties → Normals → bật Auto Smooth, đặt góc khoảng 30 độ. Với Blender 4.1 trở lên thì dùng modifier Smooth by Angle.
Scene nặng bất thường sau khi import. Instancing đã bị bung. Chọn các object trùng nhau rồi Ctrl+L → Link Object Data để nối chung mesh data, hoặc dựng lại bằng Geometry Nodes nếu là kiểu rải cây cỏ.
Cách nhanh nhất để không phải xử lý gì cả là dùng model đã ở sẵn định dạng .blend gốc. Kho BlenderVN Shop làm đúng việc đó: mọi pack đều là file .blend đã qua MaxLink, vật liệu PBR chuẩn Cycles, kéo vào scene là render. Có thể tải vài model miễn phí để kiểm chứng chất lượng trước khi mua.
Có. Add-on Import Autodesk MAX trên Blender Extensions đọc thẳng file .max từ Blender 4.2 trở lên mà không cần máy cài 3ds Max. Add-on MaxLink của BlenderVN cũng chạy độc lập theo cách tương tự.
FBX chỉ mô tả vật liệu ở mức tối giản kiểu Phong/Lambert có từ trước chuẩn PBR. Shader phức tạp của Corona hay V-Ray không có chỗ chứa trong khuôn đó nên bị lược bỏ khi xuất, chỉ còn lại vài texture slot cơ bản.
Nếu scene Max dùng centimet và bạn xuất FBX theo centimet thì đặt Scale 0.01 lúc import vào Blender, sau đó Apply All Transforms. Sai scale sẽ làm hỏng depth of field, cường độ đèn và hiệu ứng tán xạ dưới bề mặt.
Hai giá trị nghịch đảo nhau: Roughness bằng 1 trừ Glossiness. Glossiness 0.8 tương đương Roughness 0.2. Nếu nối bằng map thì phải chèn thêm node Invert.