Augmented Vertex Block Descent
Vertex Block Descent là một phương pháp mô phỏng vật lý siêu nhanh, ổn định và chạy được song song (parallelizable). Nó giúp tính toán hiệu ứng vật lý như va chạm, khớp nối, ma sát,… bằng cách hội tụ đến kết quả của implicit Euler (một phương pháp giải phương trình vi phân ổn định).
Nhóm nghiên cứu (Chris Giles | Elie Diaz | Cem Yuksel) cải tiến bằng cách dùng augmented Lagrangian (phương pháp ràng buộc mở rộng) để:
- Xử lý hard constraints (ràng buộc cứng) mà không làm lỗi mô phỏng.
- Mô phỏng hiệu quả dù có high stiffness ratios (tỷ lệ độ cứng cao).
Nhờ đó, hệ thống có thể mô phỏng:
- Rigid bodies (vật cứng) chồng chất có friction (ma sát).
- Articulated bodies (cấu trúc khớp) với joints (khớp nối) giới hạn.
- Tương tác giữa vật cứng và soft bodies (vật mềm).
Phương pháp này chạy nhanh bằng GPU và mô phỏng được hàng triệu đối tượng theo thời gian thực (real-time) mà vẫn ổn định, ít cần lặp lại.
Xem video mô phỏng simulation siêu nhanh của solver physic này.
Tình trạng hiện tại của AVBD
- Được giới thiệu bởi Chris Giles & Cem Yuksel (University of Utah).
- Mới chỉ có 2 bài công bố:
- ACM TOG (SIGGRAPH 2025): trình bày lý thuyết, giải pháp.
- Real-Time Live! (RTL): trình diễn trên GPU (RTX 4090).
- Chưa có mã nguồn public, chưa tích hợp vào bất kỳ engine nào (Bullet, PhysX, Havok, NVIDIA Flex/Vellum/…).
Lĩnh vực tiềm năng mà AVBD có thể ứng dụng rất mạnh
Lĩnh vực | AVBD có thể giải quyết điều gì? | Vì sao tốt hơn phương pháp hiện tại? |
---|---|---|
Game Engines (Unreal, Unity) | Xử lý stacking, breakable wall, chain… ổn định và tốc độ cao | Hơn Sequential Impulse (dễ mất ổn định trong stacking) |
VFX / CG Production | Mô phỏng cloth-rigid, joints, massive rigid body collapse với constraint chính xác | Hơn PBD/XPBD (kém chính xác), dễ tích hợp vào Houdini |
Robotics / Simulation | Mô phỏng dây cáp, cánh tay robot với hard joints, friction và high mass ratios | Hơn PhysX và ODE (mất độ chính xác với articulated bodies) |
Virtual Construction / Engineering | Xử lý tường gạch, dầm thép, stack bricks,… trong mô phỏng thiết kế | Hơn FEM thông thường vì dễ scale real-time hơn |
AI Simulation / Sim2Real | Làm môi trường training vật lý với chuyển động chính xác, phản lực tốt | Tốt hơn XPBD / Soft-Rigid brute-fo |
Ta so sánh thử ứng dụng của Solver AVBD này vào Houdini và Unreal Engine
So sánh AVBD với Houdini Vellum và Unreal
Đặc điểm | AVBD | Houdini Vellum | Unreal Engine (Chaos, cũ là PhysX) |
---|---|---|---|
Kiểu solver | Primal-Dual Hybrid (Augmented Lagrangian) | XPBD | Dual (Sequential Impulse) |
Đối tượng hỗ trợ | Rigid, Soft, Cloth, Stacking | Soft, Cloth, Hair, Grains, Ball-Socket | Rigid Body, Joints, Vehicles |
Ràng buộc | Hard, Soft, Inequality, Friction cone | Mainly Soft Constraints, có friction đơn giản | Joints, Constraints (Hinge, Ball,…) |
Stacking lớn | ✅ Ổn định (AVBD) | ❌ khó stacking nhiều lớp | ❌ dễ lỗi stacking |
Soft-Rigid interaction | ✅ dễ tích hợp | ✅ đã tích hợp | ⚠️ hạn chế |
Hiệu suất GPU | ✅ Thiết kế cho song song hóa (coloring vertex) | ⚠️ CPU/GPU tùy mode, nhưng XPBD vẫn cần nhiều bước | ✅ nhanh, nhưng phụ thuộc vào constraint setup |
Tính mô-đun | Mở – có thể mở rộng solver | Dễ setup – chỉ định type constraint | Hạn chế – cấu trúc ràng buộc phụ thuộc engine |
Hiện tại mở rộng tìm hiểu thêm về ứng dụng của AI trong physic simulation ta có:
- Learned Physics Engines: Dự đoán dynamics bằng neural net (VD: [Interaction Networks, GNN, Neural Implicit Surfaces]).
- Sim2Real: Huấn luyện AI trong mô phỏng (như Isaac Gym) để áp dụng cho robot thực.
- Model Predictive Control (MPC): Tích hợp AI học động lực để đưa ra quyết định.
- FluidNet, NeuralFLIP: Deep learning mô phỏng chất lỏng/turbulence.
Tuy nhiên vì bản chất AI hiện tại chạy trên GPU, tốc độ suy luận là chưa ổn định, solver lại cần hiệu năng chuẩn xác tính theo ms/frame mà AI lại chạy trên GPU không ổn định, tạo ra các kết quả nhấp nháy, rồi không chuẩn xác, không ổn định, điều này là hoàn toàn không ứng dụng được vào các qui trình làm phim ảnh như VFX & Animation.
Nếu kết hợp với AI thì có thể tính dự đoán các chức năng impulse của body, dự đoán trước, học lấy các dữ liệu này và sửa lỗi trục trặc constraint.
Supervised Learning:
- Huấn luyện AI từ dataset của solver (x, v, λ, force) để bắt chước solver.
Unsupervised / RL:
- AI học trực tiếp bằng reward như “ít constraint violation nhất”, “ổn định nhất”.
Hiện tại Isaac Sim của NVIDIA bản chất là dựa trên PhysX cũ, nay là một chức năng tool kit có trong nền tảng Omniverse của hãng này. Hiện tại đã được open source. Mục tiêu là để training AI cho Robot, trong sản xuất thực, không tập trung vào mảng CG hay các giải pháp sáng tạo, chung qui là dành cho công nghiệp và ứng dụng đời sống thực. Riêng Isaac là có kết hợp với AI rất mạnh mẽ.
Tương lai của AI + Physics Simulation
Ứng dụng | AI sẽ làm gì |
---|---|
Game/Realtime | Dùng AI để tối ưu tốc độ mô phỏng mềm/rigid |
VFX/Film | AI hỗ trợ bắt đầu state hợp lý, học ổn định constraint |
Robotics | Dùng mô phỏng vật lý để huấn luyện AI hành động |
Hybrid solver | AI học cách chọn force model, constraint strategy, hoặc cả solver selection |
Simulation-coupled learning | AI học trong quá trình solve, thay vì tách riêng mô phỏng và học máy (giống nội dung bạn đã hỏi trước đó) |