# Houdini Vertex Animation Textures (VAT 3.0) for WGSL

**URL:** <https://forum.babylonjs.com/t/houdini-vertex-animation-textures-vat-3-0-for-wgsl/63640>\
**Category:** Demos and projects\
**Tags:** shader, animation, rendering\
**Created:** [June 15, 2026, 5:56pm UTC](https://forum.babylonjs.com/t/houdini-vertex-animation-textures-vat-3-0-for-wgsl/63640 "2026-06-15T17:56:45Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![rdurnin](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/rdurnin/32/11381_2.png) [@rdurnin](https://forum.babylonjs.com/u/rdurnin)\
**Post date:** [June 15, 2026, 5:56pm UTC](https://forum.babylonjs.com/t/houdini-vertex-animation-textures-vat-3-0-for-wgsl/63640/1 "2026-06-15T17:56:45Z")

</div>

Hey guys, and I wanted to share a module I have been working on which ports SideFX Houdini’s VAT 3.0 tools to WGSL. Below are some notes, a link to a repository with the code, and a playground to try out some assets generated by the exporter. There are a wealth of interesting tools and tutorials available online ([SideFX Labs](https://sidefxlabs.artstation.com/projects)) explaining how the same tools have been used to create effects for Unreal and Unity.

Please take a look, and let me know what you think.

(from the docs)

# **VAT3 — Houdini Vertex Animation Textures**

VAT3 brings SideFX Houdini’s Vertex Animation Textures (VAT) workflow to modern WebGPU renderers.

Artists author simulations in Houdini and export them as a portable asset package consisting of geometry, textures, and metadata. At runtime, Babylon.js and Three.js reconstruct those simulations entirely on the GPU by sampling animation data from textures rather than evaluating animation or simulation logic on the CPU.

The result is a scalable workflow for rendering cloth, destruction, fluids, crowds, particles, and other complex effects in real time while preserving a clean separation between content creation and runtime implementation.

# **VAT3 — Github Repo**

> **[GitHub - floating-world-lda/vat3-wgsl-ts: VAT3 wgsl shader code and typescript interfaces...](https://github.com/floating-world-lda/vat3-wgsl-ts)**
>
> VAT3 wgsl shader code and typescript interfaces for babylon-js and three-js

# **VAT3 — Playground**

> **[Babylon.js Playground](https://playground.babylonjs.com/#XKW2C5)**
>
> Babylon.js playground is a live editor for Babylon.js WebGL and WebGPU 3D scenes

---

<div class="post-metadata">

**Author:** ![Cedric](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/cedric/32/2742_2.png) [@Cedric](https://forum.babylonjs.com/u/Cedric)\
**Post date:** [June 16, 2026, 12:10pm UTC](https://forum.babylonjs.com/t/houdini-vertex-animation-textures-vat-3-0-for-wgsl/63640/2 "2026-06-16T12:10:11Z")

</div>

This is awesome! I’ve reposted the news on Linkedin. cc @PirateJC

---

<div class="post-metadata">

**Author:** ![labris](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/labris/32/12576_2.png) [@labris](https://forum.babylonjs.com/u/labris)\
**Post date:** [June 16, 2026, 12:43pm UTC](https://forum.babylonjs.com/t/houdini-vertex-animation-textures-vat-3-0-for-wgsl/63640/3 "2026-06-16T12:43:26Z")

</div>

No errors in the console but this is all what I see after click on any arrow at PG example.

 ![image](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/3X/c/9/c9485138bd1fb895f8d6958fa6dab5326419ddbe.png)

---

<div class="post-metadata">

**Author:** ![rdurnin](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/rdurnin/32/11381_2.png) [@rdurnin](https://forum.babylonjs.com/u/rdurnin)\
**Post date:** [June 16, 2026, 1:06pm UTC](https://forum.babylonjs.com/t/houdini-vertex-animation-textures-vat-3-0-for-wgsl/63640/4 "2026-06-16T13:06:59Z")

</div>

Are you rendering a WebGPU context? I’ve only seen that issue when I try to open the content in WebGL.

r

---

<div class="post-metadata">

**Author:** ![rdurnin](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/rdurnin/32/11381_2.png) [@rdurnin](https://forum.babylonjs.com/u/rdurnin)\
**Post date:** [June 16, 2026, 1:08pm UTC](https://forum.babylonjs.com/t/houdini-vertex-animation-textures-vat-3-0-for-wgsl/63640/5 "2026-06-16T13:08:58Z")

</div>

Thanks. There are a few workflows and tools in the Houdini Labs ecosystem worth porting, and I’ll try to share them as they stabilize.

r

---

<div class="post-metadata">

**Author:** ![labris](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/labris/32/12576_2.png) [@labris](https://forum.babylonjs.com/u/labris)\
**Post date:** [June 16, 2026, 1:26pm UTC](https://forum.babylonjs.com/t/houdini-vertex-animation-textures-vat-3-0-for-wgsl/63640/6 "2026-06-16T13:26:37Z")

</div>

> [@rdurnin](#):
>
> Are you rendering a WebGPU context?

Sure. Tried in different browsers.

---

<div class="post-metadata">

**Author:** ![rdurnin](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/rdurnin/32/11381_2.png) [@rdurnin](https://forum.babylonjs.com/u/rdurnin)\
**Post date:** [June 16, 2026, 2:29pm UTC](https://forum.babylonjs.com/t/houdini-vertex-animation-textures-vat-3-0-for-wgsl/63640/7 "2026-06-16T14:29:40Z")

</div>

And from [playground.babylonjs.com](http://playground.babylonjs.com)? The s3 repos (assets and code) require origin headers from that location.

I’m away for the next couple days, but will look through any logs to see what might be the problem. It’s pretty straightforward stuff, and shouldn’t fail to load from the locations I’ve built for.

Please also confirm you are using the link in the thread, as it’s what I’ve meant to support.

r

---

<div class="post-metadata">

**Author:** ![labris](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/labris/32/12576_2.png) [@labris](https://forum.babylonjs.com/u/labris)\
**Post date:** [June 16, 2026, 3:15pm UTC](https://forum.babylonjs.com/t/houdini-vertex-animation-textures-vat-3-0-for-wgsl/63640/8 "2026-06-16T15:15:46Z")

</div>

Finally made it work with help of VPN and several hard reloads 🙂

---

<div class="post-metadata">

**Author:** ![rdurnin](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/rdurnin/32/11381_2.png) [@rdurnin](https://forum.babylonjs.com/u/rdurnin)\
**Post date:** [July 2, 2026, 6:23pm UTC](https://forum.babylonjs.com/t/houdini-vertex-animation-textures-vat-3-0-for-wgsl/63640/9 "2026-07-02T18:23:53Z")

</div>

A guy on the Three.js forum (manthrax) built an exporter for Blender. He also wrote a GLSL version which would be fairly trivial to port to BJs.

Here is the link to his repo (includes Blender exporter and example scene):

> **[GitHub - manthrax/three-vat: threejs houdini vat3 vat2 loader, instancer](https://github.com/manthrax/three-vat)**
>
> threejs houdini vat3 vat2 loader, instancer

r

---

<div class="post-metadata">

**Author:** ![MackeyK24](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/mackeyk24/32/3741_2.png) [@MackeyK24](https://forum.babylonjs.com/u/MackeyK24)\
**Post date:** [July 4, 2026, 4:22pm UTC](https://forum.babylonjs.com/t/houdini-vertex-animation-textures-vat-3-0-for-wgsl/63640/10 "2026-07-04T16:22:27Z")

</div>

Me too… I added Vertex Animation Support to the Babylon Toolkit:

Check it out

> [@Babylon Toolkit Vertex Animaion System](https://forum.babylonjs.com/t/babylon-toolkit-vertex-animaion-system/63742):
>
> Hey @Deltakosh / @sebavan / @Cedric … Basically The Team Check out my Seamless Unity To BabylonJS Vertex Animation System. Out -The - Box Standard Skeleton Animation Groups Demo: New Vertex Aniamation System Demo:

---

<div class="post-metadata">

**Author:** ![rdurnin](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/rdurnin/32/11381_2.png) [@rdurnin](https://forum.babylonjs.com/u/rdurnin)\
**Post date:** [July 6, 2026, 12:26pm UTC](https://forum.babylonjs.com/t/houdini-vertex-animation-textures-vat-3-0-for-wgsl/63640/11 "2026-07-06T12:26:13Z")

</div>

Cool. I would guess that targeting the texture layout, as manthrax did for Blender, would make your exports compatible with the wgsl shaders I’ve shared (or his GLSL versions).
