Error loading VAT exported from Blender (4.4.0 2025-03-18)

Hello; I am trying to get a VAT file that was exported from Blender 4.4.0 using the OpenVAT add-on (GitHub - sharpen3d/openvat: Vertex animated texture for game engines based in Blender.) to load into the Babylon.js playground for testing.

I followed a few tutorials in order to export the animation from Blender, following these steps:

  1. Exporting /reimporting an Alembic file (abc)
  2. Exporting /reimporting a Lightwave Cache File (mdd) to assign shape keys to the mesh
  3. Using OpenVAT to export the VAT collection.
  4. The VAT export had no errors.
  5. An FBX, json, and a PNG texture file were created by OpenVAT.
  6. I converted the FBX into a GLB file prior to loading into the playground.

Playground link: https://playground.babylonjs.com/#CP2RN9#247

The exported OpenVAT can be found here: Bug Reports - Google Drive

When trying to run the playground, I am receiving the following Vertex Shader Error in Chrome’s console:

Offending line [244] in vertex code: VATInfluence=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[0],VATFrameNum)*matricesWeights[0];

I have different errors in your PG.
Do you have a working example with proper model and json?

Hi labris,

Thanks for the quick response and checking into this!

I have a working animation in Blender, but no implemented version as we were trying to get a VAT running. Would sharing an animation video help?

This animation is driven off of geometry nodes in Blender, the only way I have found to output them into a VAT format for Babylon implementation is via the OpenVAT plugin for Blender.

One of team members updated the playground this morning to see if they could help out. It looks like the VAT might need bones added for the animation to work properly. Do VATs in Babylon implemented with BakedVertexAnimation only work when rigged with bones and armatures?

Our VAT format is most likely different from OpenVAT’s, because we didn’t know that format existed (at least I didn’t). You would need to convert OpenVAT to our format, or update our code to be able to load an OpenVAT format (I tried to find documentation on this format, but couldn’t find any…).

1 Like

erm, this OpenVAT is not a format/standard, just a name of a Blender add-on, highly misleading imo. Plus bjs VAT development was done years ahead. So, this isn’t a bug.

Yes. What is your use case? All I’m seeing from your glb is a subsurfed cube. More info would help us help you.

1 Like

Yes, VATs need a skeleton. Here is the source, without a skeleton the error will be thrown

1 Like