Vertex Animation Texture – VAT Làm Việc Thế Nào

Vertex Animation Texture hay còn gọi tắt là VAT, là một tấm texture có chứa các pixel được định nghĩa giá trị position (x,y,z) và rotation nhằm mục tiêu thực hiện các transformation, deformation lên các mesh hay geometry có trong engine game thông qua shader, và là animation.

Thực tế công việc sẽ import texture vào shader, và dùng các node toán (Unreal Engine) để tiếp tục hiệu chỉnh animation – hay còn gọi là drive animation. Các Position XYZ sẽ được lưu dưới dạng giá trị RGB channel.

hình ảnh minh họa vertex animation texture chứa thông tin position và rotation

Kỹ thuật Vertex Animation này còn được biết đến với tên là Morphing Animation, là cách để bake animation vào một tấm texture map rồi dùng shader trong engine game để drive animation.

Hình ảnh dưới đây mô tả cách mà một vertex animation texture hoạt động, nó chứa số frame animation theo chiều dọc và hàng ngang sẽ là số các vertex của mesh đang có. Điều này cũng tương ứng nếu một model mesh có số poly count quá lớn hay animation time frame quá dài cũng sẽ tạo ra một tấm texture lớn, sẽ làm cho việc truy xuất dữ liệu không được tối ưu đặc biệt phục vụ mục tiêu real-time. Thường người ta sẽ làm low-poly cho mesh và loop-able cho animation với một số lượng frame tiết chế.

Với Vertex Animation texture thông thường có thể mạng dạng sử dụng animation cho các thể loại:

  1. Animation cho mesh kiểu rigid body, phong cách destruction vật liệu sắt, thép, gỗ, đá, bê tông, gương kính..
  2. Animation kiểu soft body như làm với vải hay da bề mặt
  3. Animation cho các kiểu hạt định hình như hiệu ứng nước (water fx, fluid water)
  4. Animation cho các particles hiệu ứng
  5. Animation cho mesh kiểu bone mà không cần bone (dĩ nhiên khi phức tạp hơn thì có những loại hình như Dem Bone từ EA Games hỗ trợ)

Hướng dẫn dùng Blender tạo vertex animation texture chuyển vào Unity, lật trang giấy – một vật không dùng bone




Một vài tư liệu để tham khảo thêm:

  1. Sử dụng VAT của Houdini chuyển sang Unreal Engine: https://www.sidefx.com/tutorials/vertex-animation-textures-for-unreal/
  2. Sử dụng VAT từ Houdini chuyển qua Unity: https://www.sidefx.com/tutorials/vertex-animation-textures-in-unity/
  3. Tối ưu VAT trong quá trình làm video game: https://www.gamedeveloper.com/programming/how-to-take-advantage-of-textures-in-the-vertex-shader
  4. Chuyển FLip simulation trong Houdini qua Unreal Engine: https://youtu.be/zGmElCpxZnk
  5. Tư liệu Vertex Animation Texture của Unreal Engine 5: https://docs.unrealengine.com/5.0/en-US/vertex-animation-tool-in-unreal-engine/
  6. Vertex Animation từ Blender chuyển vào Unreal Engine: https://youtu.be/6aUlPlsCmvc

Post Author: Vu Pham