Containers — làm việc nhiều người trên một cảnh
-

Dự án khách sạn, deadline mười ngày, ba hoạ viên. Người làm khối kiến trúc, người làm cảnh quan, người làm nội thất sảnh. Cách làm thông thường là mỗi người một file rồi cuối ngày gom lại — và cứ mỗi lần gom là một lần lo ai đó merge nhầm, ai đó dùng bản cũ, ai đó ghi đè lên công của người khác. Container là cơ chế 3ds Max đưa ra để ba người làm ba file mà vẫn thấy nhau trong một cảnh.
Công cụ này giải quyết việc gì
Container là một đối tượng bao gói: nó gom một nhóm đối tượng lại và cho phép lưu nội dung ra một file
.maxcriêng. File cảnh chính chỉ giữ tham chiếu tới file đó. Khi người phụ trách cập nhật và lưu container của mình, người khác chỉ cần bấm reload là thấy bản mới.Container có hai trạng thái quan trọng:
- Local — người đang giữ quyền chỉnh sửa nội dung. Chỉ một người nên ở trạng thái này tại một thời điểm.
- Inherited — người khác nạp container về chỉ để nhìn và để render. Họ không sửa được nội dung, nên không có nguy cơ ghi đè.
Ngoài ra container có cơ chế rule cho phép chủ container mở hé một số quyền cho người kế thừa: cho phép thêm đối tượng, cho phép sửa vật liệu, cho phép sửa biến đổi — tuỳ mức tin cậy của quy trình.
So với XRef Scene (tham chiếu ngoài, cơ chế cũ hơn): XRef thiên về đưa nguyên một cảnh vào làm nền, hầu như chỉ đọc. Container linh hoạt hơn ở chỗ có thể mở khoá, sửa tại chỗ, rồi lưu lại. Nhược lại, XRef ổn định hơn qua nhiều đời 3ds Max và ít lỗi vặt hơn.
So với Layer: layer chỉ tổ chức trong một file. Container tổ chức xuyên file. Hai thứ bổ trợ nhau chứ không thay nhau — xem Layer Manager — quản lý lớp trong cảnh lớn.
Giới hạn phải biết trước khi đặt cả quy trình lên nó: container thêm một tầng phức tạp. Nếu xưởng chỉ có hai người và cảnh không quá lớn, cách gom file thủ công vẫn ít rủi ro hơn. Container cũng đòi kỷ luật đặt tên và kỷ luật lưu; một người quên save container là cả nhóm nhìn bản cũ mà không biết.
Ứng dụng trong kiến trúc và thiết kế
- Chia việc theo hạng mục trên một dự án lớn.
CT_KIENTRUC.maxc,CT_CANHQUAN.maxc,CT_NOITHAT_SANH.maxc,CT_XE_NGUOI.maxc. Mỗi hoạ viên giữ local container của mình, kế thừa các container còn lại. Ai cũng thấy toàn cảnh khi bố cục và khi test ánh sáng, nhưng không ai chạm được vào phần của người khác. - Tách phần thay đổi liên tục khỏi phần đã chốt. Khối công trình chốt rồi thì đóng thành container inherited cho cả nhóm. Phần cảnh quan còn sửa theo góp ý của khách thì để local ở người phụ trách.
- Dùng lại một cụm cho nhiều góc máy. Cùng một bộ nội thất phòng ngủ mẫu xuất hiện trong bốn cảnh phối cảnh khác nhau. Đóng thành container, sửa một lần, cả bốn cảnh cập nhật.
- Chuẩn bị cho render nhiều máy. Cảnh gọn và có cấu trúc rõ dễ chuẩn bị cho DR hơn nhiều — xem Distributed Rendering — huy động nhiều máy render một ảnh.
- Bàn giao từng phần cho khách hoặc cho đối tác. Gửi một container thay vì cả cảnh: đối tác nhận đúng phần cần, không thấy phần còn lại.
- Kiểm soát phiên bản thô sơ nhưng hiệu quả. File
.maxccó thể đánh số phiên bản và sao lưu riêng, dễ quay lui hơn cả một file.maxkhổng lồ.
Cách dùng
- Thống nhất quy ước trước khi tạo cái container đầu tiên. Tên file, thư mục lưu trên ổ mạng dùng chung, ai giữ container nào. Không có bước này thì công cụ chỉ tạo thêm rối.
- Chọn nhóm đối tượng, vào
Tools > Containers > Create Container from Selection. Đặt tên có nghĩa, tránh dấu tiếng Việt. - Ở bảng thuộc tính container, chọn Save Container và trỏ vào thư mục dùng chung. File
.maxcđược sinh ra ở đó. - Đặt rule cho người kế thừa: mở hay khoá quyền thêm đối tượng, sửa vật liệu, sửa biến đổi.
- Ở máy đồng nghiệp:
Tools > Containers > Inherit Container, trỏ tới file.maxc. Container nạp vào ở trạng thái chỉ đọc. - Khi chủ container sửa xong, bấm Save Container. Đồng nghiệp bấm Update để nhận bản mới.
- Khi cần bàn giao quyền, chủ cũ Unload/Close container, người mới Make Unique hoặc mở local. Chỉ một người local tại một thời điểm.
- Trước khi render bản cuối, cân nhắc Make Content Unique để nhúng toàn bộ nội dung vào file chính — bản giao đi sẽ không phụ thuộc đường dẫn nữa.
Mẹo và lưu ý
- Ổ mạng phải cùng ký tự trên mọi máy. Đây là điều kiện sống còn, giống hệt yêu cầu của Distributed Rendering.
- Đừng lồng container trong container trừ khi thật sự cần. Cây tham chiếu sâu rất khó gỡ khi có lỗi.
- Container không thay thế sao lưu. Vẫn phải sao lưu file
.maxctheo lịch như mọi tài sản dự án khác. - Đối tượng của plugin bên thứ ba trong container đòi hỏi mọi máy đều cài plugin đó, kể cả máy chỉ kế thừa để nhìn.
- Trước khi gửi file ra ngoài xưởng, luôn nhúng nội dung. Người nhận không có ổ mạng của anh em thì container rỗng.
- Nếu nhóm chỉ cần chép qua lại vài món đồ chứ không cần cả cơ chế tham chiếu, script copy-paste nhẹ nhàng hơn nhiều — xem Copytor — chép thuộc tính và vật liệu giữa các cảnh.
Dùng kèm hoặc thay thế
- Tổ chức lớp bên trong từng container: Layer Manager — quản lý lớp trong cảnh lớn
- Chép nhanh vài đối tượng giữa file thay vì dựng cơ chế tham chiếu: Copytor — chép thuộc tính và vật liệu giữa các cảnh
- Gom nhiều máy để render sau khi đã chia việc: Distributed Rendering — huy động nhiều máy render một ảnh
- Giữ file gọn và không phình khi làm việc nhóm: Dọn file 3ds Max: giảm dung lượng và gỡ rác tích tụ
Video tham khảo (YouTube)
Scene Management in 3ds Max - Part 1 - Using Containers (Autodesk 3ds Max Learning Channel)
Scene Management in 3ds Max - Part 2 - Using Containers (Autodesk 3ds Max Learning Channel)
Inheriting Container Contents in 3DS Max Modeling (Muhammad Fahim Khan)
XRef VS Containers (CG Cookie - 3DS Max Training)
3ds Max - Assemble Containers - Conference (Douglas Broad)
Tài liệu tham khảo
- 3ds Max Help — Autodesk — cổng vào tài liệu chính thức, tra mục Containers và XRef.
- 3ds Max — trang sản phẩm Autodesk — thông tin phiên bản và tính năng theo từng đời.
- SiNi Software — Products — ProxSi cho nhu cầu chia sẻ hình học có kiểm soát quyền.
- ScriptSpot — script hỗ trợ quản lý XRef và container cho quy trình nhóm.
Tham gia thảo luận
Đăng nhập bằng Google để bình luận, lưu bài và nhận thông báo khi có phản hồi mới.
Đăng nhập với Google