Material Point Method Trong Các Phầm Mềm Simulation VFX Kỹ Xảo Và Animation

Tui đang ngồi làm destruction thì có một phương pháp dùng dây nhợ, cloth để tạo ra destruction, chỗ này kiến thức tui mỏng lét nên lũng, khó vượt qua thử thách, thế là tui bỏ thời gian bắt đầu ngồi coi cloth simulation, wire simulation từ Houdini FX Vellum thì biết rằng hiện có 2 cách để giải quyết và tiếp cận vấn đề về cloth/fabric, tức kéo co giãn vật liệu dạng “soft body”. 

Để tui làm một bài báo cáo sơ bộ coi như ôn tập cho chính tui mà cũng là chia sẻ cho ai quan tâm.
Hiện nay có MPM (Material Point MethodPoint Based Dynamic/Simulation. Maya dùng MPM, Houdini FX dùng Point Based Dynamic..

ứng dụng Material Point Method simulation tuyết hay các chất mịn do Disney thực hiện

Nói về dynamic là nói về khối đặc tức không phải khối rỗng như một model geometry thông thường – flat surface, CGI để có thể mô phỏng dyanmic thì phải tính trên khối đặc dùng volumetric (Open VDB), hoặc dùng Constraint dựa trên Tetrahedra mesh và density. Gốc rễ của các cái này sẽ là point. Nhiều point hay ít point. Các point này kiến tạo thành trọng lượng, mật độ, khả năng các point di chuyển sẽ có vị trí, gia tốc, vận tốc, xoáy quay, góc quay các point bị tác động bởi lực thì thay đổi vị trí thay đổi gia tốc, thay đổi góc quay.

Các xử lý này sẽ dựa trên thời gian và thực hiện các phép toán cộng dồn, nhân dồn để cho ra tổng cuối cùng, mỗi một bước dồn kết quả gọi là Sub Step, bởi vì đặc tính này nên simulation không thể tự dưng ở giữa frame nào đó bất kỳ và chạy ra kết quả, mà nó lúc nào cũng phải chạy ở frame đầu tiên và tính tới kết quả cuối trong một khoảng thời gian. Tổng các point bị ảnh hưởng sẽ tạo ảnh hưởng thành vật thể đặc và chính là một problem đã được SOLVE. Nên trong Houdini hay gọi là SOLVER cho các node engine xử lý dynamic.

Trong mục tiêu của VFX & Animation hay Video Games, dynamic là tốc độ phải nhanh, tạo ra kết quả nịn mắt, chỉnh sửa được bất kỳ, Video Games sẽ bỏ qua nhiều về sự chuẩn xác để đến với nhìn được là ok. Còn với VFX & Animation thì thường phải trông nó lực và có chất (tính chất), nếu là feature thì phải trông nịn mắt và Believable animation.

SideFX Houdini FX - VELLUM

Hiện tại ứng dụng Vellum trong Houdini FX là dùng phương án Point Based Dynamic, nó cho ra kết quả nhanh, dựa trên density và tính toán va chạm đặc tính của vật thể/vật liệu theo tetrahedral mesh mà phía bên dưới của framework này chính là các point, mỗi point sẽ có kích thước (gấp đôi 1 radius), vị trí của point (x) mật độ của point sẽ khiển được khối lượng của vật thể (cũng vì vậy mà khi chỉnh mass của vật thể cloth trong Vellum Houdini FX, đó chính là giá trị nhân “multiply” cho tổng số lượng point của mesh đó, nên nhiều khi tưởng là khối lượng toàn khối vật thể, chỉnh lên cả mấy chục tấn nên cloth làm việc không như ý), yếu tố thứ 2 sẽ quyêt định motion của cloth là sự tham gia của tổng lực F và vận tốc. Công thức v = (1/m)F. Công thức chuyển động học trong quan hệ đó sẽ là x = v.

Thành phần lớn kế tiếp quyết định Cloth là Constraint – nhìn chung thường nó sẽ dựa trên vị trí, hướng, vận tốc, tốc độ xoáy quay, góc quay. Tuy nhiên với Houdini FX thì nó dựa lên vị trí và và engine rigid body để quyết định các hướng quay. Constraint cũng là dynamic nên nó cũng chính là các phương án chuyển động học. Chính Constraint sẽ giúp Cloth nhìn thật hơn.

Và dĩ nhiên là còn nhiều nữa bên trong Vellum, Vellum chính là engine dynamic tác động để tạo ra Soft Body (ví dụ bong bóng), Grain (hạt cát, cát ướt, mịn, khô … granular), Cloth/fabric (quần áo lụa là vải vóc), Wire/String (dây nhợ), Hair (tóc, lông). Trong Houdini có một cái dynamic khác, xử lý các dạng vật chất nén và ép dẻo gọi là FEM (finite element), cái này khác nữa (ví dụ ép rau câu bẹp dí).

Thế mạnh của Point Based Dynamic là số điểm ít trên một density vật thể cũng như constraint, tốc độ sim không quá chính xác nhưng nhanh, phù hợp với VFX & Animation. Video game không dùng cái này vì nó ko real time (nhưng về method là gần tương tự), cái này nói không chính xác với các nhà khoa học thôi chứ nhìn cũng nịn mắt rồi. Hiện tại Vellum rất nhanh là nhờ có xử lý được qua GPU. Tui làm cái video đeo áo choàng, bỏ trong bài cho các bạn coi tui mới tập tành thử. Chia sẻ với các bồ.

Autodesk Maya - Bifrost

Đối với Maya Bifrost sẽ dùng phương pháp MPM (Material Point Method), cái này là một dạng như PIC/FLIP fluid, nó dùng số lượng hạt thật nhiều để mô phỏng tính năng của vật liệu, cũng dễ hiểu để vì sao Bifrost chọn MPM làm core engine cho xử lý CLOTH vì nền mã của Bifrost chính là Naiad mà Autodesk đã mua lại. Một engine xử lý nước water FX dạng large scale rất hầm hố, nhanh và uy lực. Tui vọp bẻ với Bifrost nên ko có đủ kiến thức thực hành để chia sẻ với các bồ, nên chỉ dừng ở đây là video cho thấy Bifrost simulation cloth đẹp và nhanh hơn nhiều so với nCloth có sẵn trong Maya.
Houdini FX cũng có một trường đại học đã nghiên cứu và ứng dụng MPM thông qua APIC (cái này tui có giải thích trong bài WATER FX rồi) – tức dùng engine FLIP FLUID để solve cho các soft body, nhiều artist cũng rất muốn sớm có MPM trong Houdini FX cho dù ở mức độ nhỏ.
Đây là một model quan sát tuyết lỡ dùng MPM https://youtu.be/YQ7e06-MZec
 
Đây là một paper về Cotinuum MPM xử lý các vật thể dạng đặc, xé rách, rọc…

Tui vẫn chỉ tập sự, nhưng cơ bản biết vậy để lại note cho đồng bọn cùng nghiên cứu, sau này chỉ lại tui. Tui nói sai cái nào ở đăy thì góp ý nhé. Thân.

Tài Liệu Đọc Thêm

  • Vào page Siggraph search MPM
  • hiện nay trên các nghiên cứu mới với Point Based Dynamic là XPBD tức là cái đã dùng trong phim Disney – Frozen 2, áo choàng của Elsa, nhìn rất thực
    Paper của giải pháp này: https://dl.acm.org/doi/10.1145/2614106.2614120
  •  Disney mô phỏng tóc trong gió, phim Frozen: https://youtu.be/6GiE8FxGmIw
  • Paper nghiên cứu của các nhà sáng chế ra XPBD https://matthias-research.github.io/pages/publications/XPBD.pdf
  • 2 năm trước Entagma từng hướng dẫn về cloth point base dyamic từ trong trứng – với 35 phút https://vimeo.com/305439941. Theo hướng dẫn cho thấy point base dynamic được ứng dụng vì nó nhanh, ra kết quả tốt, ổn định. XPBD là dạng mở rộng với nhiều khả năng điều khiển quản lý được art direction làm cho sự tin dùng gia tăng
  • Material Point Method nghiên cứu tại Disney: https://sungsoo.github.io/2014/02/17/snow-simulation.html
  • Multi physic engine: http://www.jixiefx.com/

Tài liệu Siggraph 2021

Các tài liệu tiến triển của nghiên cứu về MPM ứng dụng khoa học, giải trí trong phim ảnh và video game.

Kết hợp MPM vào các solver method khác như APIC, FLIP .. 

 

Nghiên cứu xử lý simulation MPM trên GPU

Vượt Xa Hơn Các Nhà Khoa Học Kết Hợp AI Deep Learning Vào Trong Tự Tính Toán Và Đoán Trước Data Xử Lý MPM

Post Author: Vu Pham