Skip to main content
EXR-IO và Cryptomatte: Hướng dẫn tổng hợp hình ảnh cho các nghệ sĩ 3D

EXR-IO và Cryptomatte: Hướng dẫn tổng hợp hình ảnh cho các nghệ sĩ 3D

BySuperRenders Farm Team
Published 21 thg 3 năm 202614 min read
Kiểm soát toàn diện workflow đa lớp EXR và che mặt nạ đối tượng Cryptomatte trong Photoshop.

Giới thiệu

Khi chúng ta kết xuất các scene 3D phức tạp—dù là các bản visualize kiến trúc, công việc nhân vật, hay ảnh sản phẩm—chúng ta hiếm khi hài lòng với một output duy nhất, phẳng. Chúng ta cần tách biệt. Chúng ta cần kiểm soát. Chúng ta cần khả năng điều chỉnh vật liệu, cô lập đối tượng, và tinh chỉnh color grading sau thời gian render mà không cần chạm vào scene 3D. Đó chính là nơi các tệp multi-layer OpenEXR trở nên thiết yếu, và nơi EXR-IO cùng Cryptomatte biến đổi workflow tổng hợp hình ảnh của chúng ta.

Tại Super Renders Farm, chúng tôi làm việc với các render pipeline phân tán sinh ra lượng dữ liệu khổng lồ từ các chuỗi EXR đa lớp. Các tệp này chứa hàng chục pass—beauty, diffuse, specular, normal maps, object IDs, material IDs—tất cả xếp chồng trong một định dạng. Truy cập và thao tác những lớp này một cách hiệu quả không phải tùy chọn; nó là nền tảng của công việc production. Plugin EXR-IO 2.0 cho Photoshop, kết hợp với hỗ trợ Cryptomatte, cung cấp cho chúng tôi các công cụ để làm đúng điều đó.

Hướng dẫn này hướng dẫn toàn bộ workflow: từ hiểu EXR-IO và Cryptomatte là gì, cách thiết lập chúng trong Photoshop, đến triển khai các chiến lược compositing thực tế mà chúng tôi sử dụng trên farm.

EXR-IO là gì?

EXR-IO là plugin Photoshop đọc và ghi các tệp OpenEXR—tiêu chuẩn công nghiệp cho visual effects và rendering chuyên nghiệp. Không giống các định dạng tệp Photoshop tiêu chuẩn, OpenEXR (.exr) có thể lưu trữ nhiều lớp, kênh, và metadata, tất cả với độ sâu màu 32-bit floating-point. Điều này có nghĩa chúng ta giữ lại độ chính xác màu toàn bộ và dynamic range từ render engine.

EXR-IO cho phép Photoshop:

  • Nhập các tệp EXR đa lớp trực tiếp dưới dạng các Photoshop layer
  • Đọc dữ liệu kênh tùy ý từ các render engine (V-Ray, Arnold, Corona, RenderMan)
  • Truy cập metadata được nhúng trong tệp EXR (thời gian render, phiên bản engine, số khung hình)
  • Xuất các comp Photoshop về EXR, bảo tồn cấu trúc lớp và color space

Đối với chúng tôi, điều này có nghĩa chúng ta có thể lấy một tệp EXR 50 lớp từ render farm, mở nó trong Photoshop, và ngay lập tức thấy mọi pass được tách riêng thành lớp của chính nó. Không chuyển đổi. Không mất. Không phải đoán mò pass nào tương ứng với kênh nào.

Cryptomatte là gì?

Cryptomatte là hệ thống mã hóa lớp tiêu chuẩn được phát triển cho visual effects. Thay vì các kênh matte truyền thống (lưu trữ mặt nạ grayscale), Cryptomatte mã hóa object và material ID vào các lớp sử dụng một hash được mã hóa. Điều này có nghĩa:

  • Chúng ta có thể click vào bất kỳ đối tượng nào trong hình ảnh được render
  • Cryptomatte tạo ra một mặt nạ hoàn hảo cho object đó một cách tự động
  • Matte nắm bắt motion blur, reflection, và transparency một cách chính xác
  • Chúng ta có thể lựa chọn nhiều đối tượng và kết hợp matte
  • Cryptomatte hoạt động trên các render engine (V-Ray, Arnold, Corona, RenderMan đều hỗ trợ)

Khi chúng ta bật output Cryptomatte trong render engine, renderer tạo ra hai lớp cho mỗi loại matte: ObjectObject00 (lớp dữ liệu và lớp matte). EXR-IO có thể đọc những lớp này trực tiếp trong Photoshop, và các plugin Photoshop (hoặc workflow lựa chọn thủ công) có thể trích xuất các matte mà chúng ta cần.

Giá trị ở đây là tốc độ. Thay vì tô tay mặt nạ hoặc chạy các công cụ bên ngoài tốn kém, chúng ta click một đối tượng và nhận được một matte hoàn hảo từng pixel. Đối với công việc nhân vật với tóc, reflection có lông, hoặc transparency phức tạp, điều này thay đổi cuộc chơi.

Thiết lập EXR-IO trong Photoshop

Trước khi bắt đầu các workflow Cryptomatte, chúng ta cần EXR-IO được cài đặt và cấu hình.

Cài đặt:

  1. Tải xuống EXR-IO 2.0 từ trang EXR-IO chính thức
  2. Giải nén plugin vào thư mục Plugins của Photoshop (thường là Applications/Adobe Photoshop/Plugins/ trên Mac hoặc Program Files/Adobe/Adobe Photoshop/Plugins/ trên Windows)
  3. Khởi động lại Photoshop
  4. Xác minh cài đặt: đi tới File > Open và bạn sẽ thấy các tệp .exr trong trình duyệt tệp

Cài đặt Preferences:

Sau khi cài đặt, mở preferences Photoshop cho EXR-IO:

  • Color Space: Đặt thành "Linear" nếu output render của bạn là linear (tiêu chuẩn cho CG). Đặt thành "sRGB" chỉ nếu render engine yêu cầu rõ ràng
  • Alpha Premultiplication: Khớp với output của render engine (hầu hết các engine sử dụng "Straight" alpha)
  • Layer Organization: Bật "Auto-Flatten" chỉ nếu bạn muốn hợp nhất tất cả các lớp khi nhập—chúng tôi không khuyên dùng, vì chúng ta cần tách biệt
  • Memory Management: Nếu làm việc với chuỗi 8K, bật "Lazy Load" để ngăn Photoshop tải tất cả lớp vào RAM cùng một lúc

EXR-IO: Workflow đa lớp cơ bản

Mở một EXR đa lớp trong Photoshop với EXR-IO rất đơn giản:

  1. File > Open, chọn tệp .exr của bạn
  2. EXR-IO hiển thị hộp thoại showing tất cả các lớp có sẵn
  3. Lựa chọn lớp nào để nhập (hoặc nhập tất cả)
  4. Click Open
  5. Photoshop tạo một tài liệu mới với mỗi lớp EXR dưới dạng một Photoshop layer

Đây là nơi độ chính xác quan trọng. Một render điển hình từ farm của chúng tôi có thể xuất:

  • Beauty (final composite từ render engine)
  • Diffuse Direct / Diffuse Indirect
  • Reflection / Refraction
  • Specular
  • Shadow
  • Ambient Occlusion
  • Z-Depth (cho fog và depth effects)
  • Normal Map
  • Object IDs
  • Material IDs (nơi Cryptomatte áp dụng)

Mỗi cái trở thành một Photoshop layer của chính nó. Từ đó, chúng ta:

  • Điều chỉnh blending mode lớp (Multiply cho shadow, Screen cho reflection)
  • Áp dụng adjustment layer (Curves, Levels, Hue/Saturation)
  • Sử dụng mặt nạ để hạn chế hiệu ứng vào các vùng cụ thể
  • Xuất composite cuối cùng về EXR để lưu trữ hoặc công việc hạ lưu

Điểm quan trọng: chúng ta làm việc non-destructively. EXR gốc và tất cả dữ liệu của nó vẫn còn nguyên vẹn.

Hiểu Cryptomatte Layer trong EXR-IO

Khi một render engine xuất dữ liệu Cryptomatte, tệp EXR chứa nhiều cặp lớp. Ví dụ, một object Cryptomatte pass duy nhất tạo:

  • Object (lớp matte—mặt nạ thực tế)
  • Object00 (lớp dữ liệu—hash được mã hóa)

Nếu render engine cũng xuất Material Cryptomatte:

  • Material
  • Material00

Khi chúng ta nhập EXR với EXR-IO, cả hai lớp đều xuất hiện trong Photoshop. Các lớp matte (Object, Material) là các hình ảnh grayscale nơi trắng = được chọn, đen = không được chọn. Các lớp dữ liệu (Object00, Material00) chứa các hash chúng ta cần nếu chúng ta đang sử dụng plugin hoặc công cụ bên ngoài để giải mã các matte.

Trong một workflow điển hình, chúng ta tập trung vào các lớp matte. Một Cryptomatte object matte có thể được sử dụng trực tiếp như một layer mask, hoặc nhân bản vào một adjustment layer mask để kiểm soát color correction mỗi object.

Cryptomatte Workflow: Thiết lập render engine

Để xuất dữ liệu Cryptomatte, chúng ta cấu hình các render engine. Đây là cách chúng tôi làm trên các engine được sử dụng tại Super Renders Farm.

V-Ray (3ds Max, Maya, Cinema 4D):

  1. Mở V-Ray Render Settings
  2. Điều hướng đến Render Elements
  3. Thêm element mới: "Cryptomatte (Object)"
  4. Bật "Multi-Matte Mode" nếu bạn muốn dữ liệu Object và Material
  5. Đặt đường dẫn output (định dạng EXR)
  6. Cấu hình đặt tên tệp: [Scene]_[Layer]_[Pass].exr

Arnold (Maya, Houdini):

  1. Trong AOV Manager, tạo AOV mới
  2. Chọn "Cryptomatte" làm loại AOV
  3. Chọn "Object" hoặc "Material" hoặc cả hai
  4. Render và Arnold ghi dữ liệu Cryptomatte trực tiếp vào EXR

Corona Renderer (3ds Max, Cinema 4D):

  1. Trong Render Setup, đi tới Corona Map Packs
  2. Bật "Cryptomatte" pack
  3. Kiểm tra "Object" và "Material" nếu cần
  4. Render về EXR

Cả ba engine đều xuất dữ liệu Cryptomatte tiêu chuẩn. Sự khác biệt là UI. Định dạng output là giống hệt nhau.

Xuất EXR đa lớp với Cryptomatte

Sau khi render hoàn tất và bao gồm Cryptomatte pass, engine ghi một tệp EXR chứa:

  • Tất cả các standard beauty và technical pass (diffuse, specular, v.v.)
  • Các lớp Cryptomatte Object và dữ liệu
  • Các lớp Cryptomatte Material và dữ liệu (tùy chọn)
  • Tất cả metadata (thời gian render, số khung hình, phiên bản engine)

Chúng tôi lưu những cái này ở cài đặt chất lượng cao nhất: 16-bit hoặc 32-bit float, không nén (hoặc nén ZIP mất mát để tiết kiệm không gian đĩa). Một khung hình từ một scene phức tạp có thể là 500 MB đến 2 GB. Đối với chuỗi, chúng tôi tối ưu hóa lưu trữ sử dụng nén mất mát và lưu trữ trên các mảng SSD nhanh.

Masking Photoshop với Cryptomatte Layer

Sau khi EXR được mở trong Photoshop thông qua EXR-IO, chúng ta có các lớp Cryptomatte matte có sẵn. Đây là workflow của chúng tôi để trích xuất và sử dụng object mask.

Bước 1: Định vị lớp Cryptomatte Matte

Trong Layers panel, tìm lớp có tên Object (hoặc Material để matte dựa trên vật liệu). Đây là một hình ảnh grayscale nơi mỗi object/material có một shade khác nhau.

Bước 2: Tạo Layer Mask

Chọn lớp bạn muốn mask (ví dụ, một adjustment layer). Right-click > Add Layer Mask. Đảm bảo "Layer Mask" được chọn (không phải "Vector Mask").

Bước 3: Gán Cryptomatte Matte vào Mask

Chọn layer mask (không phải bản thân lớp—hình chữ nhật trắng trong Layers panel). Copy lớp Cryptomatte Object. Với mask được chọn, Paste. Dữ liệu Cryptomatte hiện đang kiểm soát những gì mà adjustment layer ảnh hưởng.

Bước 4: Tinh chỉnh Mask

Nếu mask quá mềm hoặc bao gồm các vùng không mong muốn, điều chỉnh nó:

  • Sử dụng Levels hoặc Curves trên mask (chọn mask, không phải lớp)
  • Áp dụng điều chỉnh Threshold để tạo lựa chọn cạnh cứng
  • Sử dụng brush để tô vào hoặc ra khỏi mask để tinh chỉnh thủ công

Phương pháp này rất nhanh. Thay vì chọn tay các đối tượng hoặc sử dụng AI selection tool, Cryptomatte cung cấp cho chúng ta độ chính xác dựa trên object ID của render engine.

Ví dụ Compositing thực tế: Nhân vật với tóc

Hãy cùng tìm hiểu một ví dụ cụ thể: compositing một nhân vật với tóc phức tạp. Thử thách là tóc giao nhau với mặt, vai, và background của nhân vật. Một matte truyền thống sẽ cần công việc cạnh cẩn thận. Cryptomatte xử lý điều này một cách liền mạch.

Render Setup:

  • Render nhân vật và background với V-Ray hoặc Arnold
  • Output standard pass: Beauty, Diffuse, Specular, Shadow, AO
  • Output Cryptomatte Object với ID cho: Character_Body, Character_Hair, Environment

Trong Photoshop:

  1. Mở EXR với EXR-IO
  2. Nhập tất cả lớp
  3. Tạo adjustment layer Hue/Saturation phía trên Beauty layer
  4. Thêm layer mask vào adjustment layer
  5. Alt+click layer mask, paste lớp Object Cryptomatte
  6. Sử dụng Curves hoặc Levels trên mask để cô lập tóc (shade cụ thể tương ứng với Character_Hair ID)
  7. Trong adjustment layer, giảm saturation và tăng ấm áp cho tóc chỉ
  8. Thêm một adjustment layer khác để darkening shadow, masked lại vào tóc

Kết quả: Chúng ta đã tách điều chỉnh tóc khỏi điều chỉnh cơ thể mà không cần masking thủ công. Chất lượng cạnh được xác định bởi render engine, không phải bởi công việc tay của chúng ta.

Xử lý render farm output: Chuỗi khung hình đa khung

Tại Super Renders Farm, chúng tôi thường không render các khung hình đơn. Chúng tôi render chuỗi. Một animation có thể là 240 khung hình, và mỗi khung hình sinh ra một tệp EXR 1 GB với dữ liệu Cryptomatte. Tự động hóa việc nhập và tổ chức là thiết yếu.

Workflow:

  1. Batch Consolidation: Sau khi render hoàn tất, chúng tôi sao chép tất cả EXR từ render farm sang một mảng SSD cục bộ
  2. Metadata Review: Chúng tôi kiểm tra một hoặc hai khung hình trong Photoshop (thông qua EXR-IO) để xác minh tất cả lớp dự kiến đều có
  3. Color Space Confirmation: Chúng tôi xác minh color space phù hợp với spec output (Linear, sRGB, ACEScg, v.v.)
  4. Python Scripting (Tùy chọn): Đối với các chuỗi phức tạp, chúng tôi viết Python script (Photoshop có Python API) để batch-import EXR, áp dụng mặt nạ nhất quán, và export chuỗi điều chỉnh

Đối với chuỗi, chúng tôi thường không mở tất cả 240 khung hình trong Photoshop cùng một lúc. Thay vào đó, chúng tôi:

  • Phát triển look trên khung hình 1 (với Cryptomatte mask trong chỗ)
  • Áp dụng cùng Photoshop adjustment layer cho toàn bộ chuỗi sử dụng "Edit > Fill Layers" hoặc Action-based batch processing
  • Export mỗi khung hình lại về EXR
  • Kết quả là một chuỗi EXR mới với cùng compositing áp dụng vào tất cả khung hình

Đây là nơi sức mạnh của EXR-IO trở nên rõ ràng. Chúng ta bảo tồn tất cả các lớp và dữ liệu thông qua chu kỳ edit.

FAQ

EXR-IO có thể đọc 8-bit hoặc 16-bit EXR, hay chỉ 32-bit?

EXR-IO đọc tất cả bit depth—8-bit, 16-bit, và 32-bit float. Photoshop nội bộ chuyển đổi sang 32-bit khi làm việc với floating-point EXR. Để lưu trữ và deliver, chúng tôi thường export 16-bit EXR, cân bằng kích thước tệp và độ chính xác.

Tôi có cần mua một plugin Cryptomatte riêng biệt cho Photoshop?

Không. EXR-IO đọc lớp Cryptomatte như dữ liệu grayscale tiêu chuẩn. Bạn có thể sử dụng lớp matte trực tiếp như mặt nạ mà không cần phần mềm bổ sung. Plugin Cryptomatte của bên thứ ba (như Cryptomatte cho After Effects) cung cấp công cụ picking tự động, nhưng đối với công việc Photoshop, bản thân các lớp matte là đủ.

Điều gì xảy ra nếu render engine của tôi không hỗ trợ Cryptomatte?

Các engine cũ (V-Ray 3.x, các phiên bản Arnold cũ, một số Corona build) có thể không có Cryptomatte được tích hợp sẵn. Kiểm tra tài liệu engine hoặc cập nhật lên phiên bản mới nhất. Cryptomatte đã là tiêu chuẩn trong các render engine hiện đại từ năm 2019.

Tôi có thể export một tài liệu Photoshop trở lại EXR với EXR-IO không?

Có. File > Export As, chọn định dạng EXR, và EXR-IO ghi tất cả visible Photoshop layer vào tệp EXR. Chọn 16-bit hoặc 32-bit, đặt nén, và lưu. EXR được export giữ lại cấu trúc lớp và metadata.

Tôi xử lý color space mismatch giữa render và Photoshop như thế nào?

Luôn xác minh render engine output cùng color space như working space của Photoshop. Chúng tôi sử dụng Linear color space toàn bộ trong pipeline. Trong preferences EXR-IO, đặt Color Space thành "Linear." Nếu hình ảnh của bạn xuất hiện quá sáng hoặc tối sau khi nhập, xác minh color space output của render engine và điều chỉnh EXR-IO preference tương ứng.


Tìm hiểu thêm

Để tìm hiểu kỹ thuật compositing nền tảng, xem hướng dẫn của chúng tôi về phần mềm rendering 3D tốt nhất. Để tìm hiểu workflow kỹ thuật sâu hơn, khám phá professional rendering workflows cho VFX team.

Tài nguyên bổ sung: EXR-IO Official Documentation