Giải Pháp Rigging Buddies Từ Evan Wu (Nemo Puppet)

Rigging là một trong các công việc yêu cầu kỹ thuật nhất của mọi studios VFX & Animation bao gồm cả các studios phát triển game.

mGear: Rigging & Animation Framework đã có bài podcast nói chuyện với Evan Wu đến từ Nemo Puppet, một trong các chuyên gia xử lý rigging trong video games, anh tạo ra những giải pháp kỹ thuật rigging đưa vào pipeline không quan trọng phần mềm 3D nào, nó hoàn toàn giúp cải thiện năng suất, giúp cả studios và artist có cuộc sống tốt đẹp hơn.

1. Bối cảnh & vấn đề cần giải quyết

Các studio hoạt hình lớn như Original Force (Trung Quốc, hơn 2.000 nhân viên) và nhiều cơ sở khác gặp vấn đề kinh niên:

  • Rig nhân vật (đặc biệt rig phức tạp cho phim và game AAA) rất nặng, playback trong Maya chỉ đạt ~6 FPS.
  • Animator phải “bake” rig hoặc xuất cache mỗi lần review, gây chậm trễ, lỗi, và không thể chỉnh sửa trực tiếp.
  • Khi pipeline gồm nhiều phần mềm (Maya, Houdini, Unreal, Blender…), việc chuyển rig và animation giữa các DCC gần như không khả thi vì hệ thống deform khác nhau.
  • Outsourcing studio bị giới hạn upload dữ liệu của client, nên không thể chia sẻ tài sản để debug hay benchmark.

2. Giải pháp: Nemo Puppet

Nemo Puppet là công nghệ của nhóm Ian Fang (ex-Original Force) — một “animation acceleration and cross-DCC portability engine.”

Nghĩa là khả năng chạy trên nhiều phần mềm 3D khác nhau, tăng tốc hiệu quả

Cách hoạt động:

  • Phân tích rig gốc trong Maya → xuất “graph JSON” (chỉ chứa logic điều khiển, không chứa dữ liệu mật).
  • Server của Nemo xử lý, biên dịch sang binary tăng tốc, rồi tái dựng lại rig mới nhanh gấp 10 lần.
  • Rig mới hoàn toàn tương thích animation cũ, chỉ cần thay reference.
  • Animator mở file như bình thường, không cần thay workflow.

Kết quả:

  • Tốc độ tăng 10–20× (100 FPS với rig trung bình trên laptop).
  • Animation playback mượt mà, không cần bake keyframe.
  • Rig có thể chuyển qua Houdini, Unreal, Blender mà vẫn giữ curve & tangent nguyên vẹn.
  • Dual rig system đảm bảo keyframe không mất khi chuyển DCC.

3. Ưu điểm & Đột phá

Khía cạnhLợi thế của Nemo Puppet
Hiệu năngGPU-based deform, dùng VO2 API của Maya → không cần đọc/ghi IO, tăng tốc thực tế 10–100×.
PortabilityCó thể chuyển rig và animation giữa Maya ↔ Houdini ↔ Unreal ↔ Blender mà không bake dữ liệu.
Tích hợp GPUCUDA buffer chuyển trực tiếp sang OpenGL/DirectX, không delay.
Pipeline mởCho phép outsource studio test rig mà không lộ tài sản client (nhờ data masking).
Ease of useChỉ cần upload 1 JSON → nhận lại rig tăng tốc → animators mở file bình thường.
CollaborationĐang hợp tác với MGEAR để chuẩn hóa kiểm tra và bảo toàn rig logic khi convert.

4. Khuyết điểm & giới hạn

Loại giới hạnMô tả chi tiết
Backward solverChưa hỗ trợ hoàn chỉnh các rig có nhiều deformer phức tạp (non-skeletal).
Performance trên BlenderBị “bottleneck” do Blender chỉ có Python API, không có deform C++ API, dẫn đến FPS giảm (≈20 FPS với rig 200k poly).
Không đồng nhất giữa phần mềmMỗi DCC có triết lý rig khác nhau, cần hợp tác sâu với các hãng (SideFX, Epic, Blender Foundation) để đồng bộ.
Hardware shaderKhi dùng shader phức tạp trong Maya, tốc độ có thể giảm mạnh.
Chưa open-sourceHiện vẫn là plugin thương mại, có trial 3 tháng.

5. Tác động & triết lý công nghệ

“Animators just enjoy. They don’t care — they just open the file and it’s fast.”

Những animator chỉ muốn thật sự thoải mái trong quá trình làm việc. Animator không muốn quan tâm tới vấn đề kỹ thuật, họ chỉ muốn mở file, nó nhanh và họ sẽ sáng tác. Đó là góc nhìn mà team đã đưa ra phương án giải quyết bằng kỹ thuật.

Tác động thực tế:

  • Giúp animator, rigger, và CFX artist “sống vui hơn” — ít đợi cache, ít crash, nhiều tương tác hơn.
  • Thu hẹp khoảng cách giữa phần mềm game & film, vì Nemo xử lý rig như engine trung gian (independent backend).
  • Mở ra thế hệ pipeline lai (hybrid): studio có thể chia sẻ asset giữa Maya và Blender mà không rebuild rig từ đầu.
  • Giúp small studio cạnh tranh với big vendor nhờ hiệu suất và tính linh hoạt.

6. Insight cuối cùng

MứcTóm tắt ý chính
IssueRig quá nặng, playback chậm, pipeline đóng → animator mất thời gian & mất hứng sáng tạo.
SolutionNemo Puppet: “biên dịch” rig Maya thành GPU rig độc lập, tăng tốc 10–100× và cho phép cross-software.
ImpactGiảm thời gian chờ, tăng năng suất, thống nhất pipeline Maya–Houdini–Unreal–Blender.
LimitationBlender chưa có C++ API → giảm hiệu năng; backward solver còn hạn chế.
PhilosophyGiữ workflow nguyên vẹn, chỉ thay “động cơ” bên trong rig. Mục tiêu: nhanh, an toàn và thoải mái tạo tác animation

Post Author: Vu Pham