Official Labs Vertex Animation Textures 3.0 FAQs and Links
80827 92 35-
- kumpa
- Member
- 44 posts
- Joined:
- Offline
I am having trouble getting VAT to work with PDG, it is all set up correctly but exr files that come out are correct size and all but they are all black. Pressing render button no VAT node however produces expected results. Am I missing something or is it a bug ?
PDG network is dead simple, it reads fbx animations from a folder, brings them to sops, does stuff and renders them out.
PDG network is dead simple, it reads fbx animations from a folder, brings them to sops, does stuff and renders them out.
Edited by kumpa - Feb. 9, 2024 04:22:55
-
- kripto289
- Member
- 4 posts
- Joined: Aug. 2015
- Offline
-
- zhuxiongyusi
- Member
- 1 posts
- Joined: Aug. 2024
- Offline
I am currently trying to implement VAT3.0 on in-house engine.
Where can I find reference implementation of VAT 3.0 in HLSL like this?
https://github.com/sideeffects/GameDevelopmentToolset/blob/Houdini16.0/unity/shaders/vertex_soft_body.shader [github.com]
I mean, I'd like to avoid porting node graphs to code.
Thank you.
Where can I find reference implementation of VAT 3.0 in HLSL like this?
https://github.com/sideeffects/GameDevelopmentToolset/blob/Houdini16.0/unity/shaders/vertex_soft_body.shader [github.com]
I mean, I'd like to avoid porting node graphs to code.
Thank you.
-
- timmeh
- Member
- 2 posts
- Joined: July 2021
- Offline
Similarly to some others in this thread, I've been having issues exporting sequences to Unity that appear related to the size of the sequence and its components. I've not yet worked out much beyond scaling the simulation down at the end to some arbitrary value (it's been different between tests) seems to "fix" it.
Simple test sequence in Houdini:
Exported to Unreal:
Exported to Unity:
In this specific example, if I scale the bowl down to below 15 for the radius, it works (in the video, it's set to 50). I've also tried other things, like scaling down globally at the end, followed by the assemble, which works. Insights appreciated!
Simple test sequence in Houdini:
Exported to Unreal:
Exported to Unity:
In this specific example, if I scale the bowl down to below 15 for the radius, it works (in the video, it's set to 50). I've also tried other things, like scaling down globally at the end, followed by the assemble, which works. Insights appreciated!
Edited by timmeh - Oct. 2, 2024 12:28:49
-
- happybabywzy
- Member
- 139 posts
- Joined: Feb. 2019
- Offline
-
- Damien_dl
- Member
- 1 posts
- Joined: Oct. 2024
- Offline
Hi everyone,
I'm working on a project involving volumetric fluid effects similar to this asset: Volumetric Blood Fluids [assetstore.unity.com], where the author mentions 3 to 6k triangles while still achieving good results, and I'm trying to create something cheap in Houdini that can still work well in real-time.
I've tried using the Dynamic Remeshing (Fluid) VAT setup from Labs, but I noticed that it ends up consuming quite a lot in terms of polycount. My current mesh has about 30K vertices and 10K triangles at 60 fps, along with the VAT textures for position, rotation, and lookup. While this works, it feels a bit heavy for what I'm aiming for in terms of real-time performance.
I'm curious if anyone has managed to create volumetric-style fluid effects in Houdini with a more optimized approach that reduces the polycount or the resource cost overall? Are there alternative methods or optimizations for VAT that you use to keep it lightweight but still visually appealing?
Any advice or examples of setups that worked well for you would be greatly appreciated!
Thanks in advance!
I'm working on a project involving volumetric fluid effects similar to this asset: Volumetric Blood Fluids [assetstore.unity.com], where the author mentions 3 to 6k triangles while still achieving good results, and I'm trying to create something cheap in Houdini that can still work well in real-time.
I've tried using the Dynamic Remeshing (Fluid) VAT setup from Labs, but I noticed that it ends up consuming quite a lot in terms of polycount. My current mesh has about 30K vertices and 10K triangles at 60 fps, along with the VAT textures for position, rotation, and lookup. While this works, it feels a bit heavy for what I'm aiming for in terms of real-time performance.
I'm curious if anyone has managed to create volumetric-style fluid effects in Houdini with a more optimized approach that reduces the polycount or the resource cost overall? Are there alternative methods or optimizations for VAT that you use to keep it lightweight but still visually appealing?
Any advice or examples of setups that worked well for you would be greatly appreciated!
Thanks in advance!

-
- PeterHam
- Member
- 8 posts
- Joined: Feb. 2015
- Online
Damien_dl
Hi everyone,
I'm working on a project involving volumetric fluid effects similar to this asset: Volumetric Blood Fluids [assetstore.unity.com], where the author mentions 3 to 6k triangles while still achieving good results, and I'm trying to create something cheap in Houdini that can still work well in real-time.
I've tried using the Dynamic Remeshing (Fluid) VAT setup from Labs, but I noticed that it ends up consuming quite a lot in terms of polycount. My current mesh has about 30K vertices and 10K triangles at 60 fps, along with the VAT textures for position, rotation, and lookup. While this works, it feels a bit heavy for what I'm aiming for in terms of real-time performance.
I'm curious if anyone has managed to create volumetric-style fluid effects in Houdini with a more optimized approach that reduces the polycount or the resource cost overall? Are there alternative methods or optimizations for VAT that you use to keep it lightweight but still visually appealing?
Any advice or examples of setups that worked well for you would be greatly appreciated!
Thanks in advance!
I actually made a tutorial on this topic for Unity. It might give you some of the answers you're looking for, here it is.
Hope it helps, and good luck with your setup!
/TechHamlin
-
- arturmandas
- Member
- 37 posts
- Joined: Nov. 2012
- Offline
Have anyone had luck with making VAT work with tangent-space normals, like the normals of the specific texture sets? Setup requirement is to use world-space normals. I want to use VATs material functions in Unreal Engine as an intermadiary which can be turned on with a static switch on a parent material, so that my child materials can use it, if they need. But of course, as is the standard, most of my materials use tangent space normals, for instance megascan surfaces. If this is not possible, this limits the usability a great deal.
-
- msong7229
- Member
- 2 posts
- Joined: July 2022
- Offline
-
- nymeria035
- Member
- 1 posts
- Joined: Oct. 2021
- Offline
Hey guys,
I had a problem with implementing VATs utilizing meshes set dressed in Unreal Engine and exported to Houdini for a RBD sim. Position works but my rotations are not correct, they are all offset by different amounts in rotation and I'm not sure how to troubleshoot this issue. Would anyone have run into this issue by any chance and have any advice on how to proceed in addressing this? I appreciate any advice; I've been stumped on this for a couple weeks.
I had a problem with implementing VATs utilizing meshes set dressed in Unreal Engine and exported to Houdini for a RBD sim. Position works but my rotations are not correct, they are all offset by different amounts in rotation and I'm not sure how to troubleshoot this issue. Would anyone have run into this issue by any chance and have any advice on how to proceed in addressing this? I appreciate any advice; I've been stumped on this for a couple weeks.
-
- programmer_art
- Member
- 2 posts
- Joined: Sept. 2019
- Offline
Hello! I'm looking for any technical info or documentation on Dynamic Remeshing VATs (i.e. Fluids). Some of the questions I have about these VATs are:
Thank you.
- Is there a specific algorithm/paper that the dynamic remeshing process follows?
- What data does the Lookup Table texture represent? How does that data become a UV that is then used for the Position texture?
- Is there any existing knowledge or research being done for blending between two Dynamic Remeshing VATs, or at least blending between two different frames within the same VAT? This is likely possible with Soft Body, Rigid Body, and Sprite VATs. But with the dynamic topology of Fluid VATs, is there any way this could work?
- Is it possible to generate LODs of a VAT after it has been rendered/exported?
- What's next for Dynamic Remeshing VATs? What kind of improvements can be made inside or outside of Houdini?
Thank you.
Edited by programmer_art - Jan. 30, 2025 21:12:22
-
- lianghongjun
- Member
- 1 posts
- Joined: Feb. 2025
- Offline
-
- rdurnin
- Member
- 7 posts
- Joined: Dec. 2006
- Offline
Hello and I am looking at implementing the VAT shaders for WGSL and am having some issues with converting the softbody data and shaders. For WebGPU purposes I would like to export low-dynamic-range textures and to use the bounds to normalize the data in the vertex shader, much the same as what I see in the Unity implementation.
The issue I am having is with the data from the rotating softbody cube which exports data clamped for part of the simulation to 1 and also seems to change in scale over time (this could be a visual result of the clamping). To simplify the export process I have replaced the cube with a Grid (2x2 columns and 4x4 size). Please see the attached spread sheet for the export results (and a chart showing time sliced data).
After looking through the HDA code it would seem like the problem is related to when the bbox is calculated (for scaling the pixel data for pos) as it updates every frame and we use the single value for the entire sequence in the shader. The problem also appears to be related to when the corners of the grid (or cube) rotate outside the static object's bounds.
Please let me know if you have any advice for exporting softbody simulations as png textures or if there are changes I can make to the HDA which will improve performance. A prior version of the plugin included a cloth simulation of a tearing flag and that data continues to function, although the object does not rotate or transform.
Attached files:
Error Scene
Unpacked Data (norm)
Denormalized Data (chart)
The issue I am having is with the data from the rotating softbody cube which exports data clamped for part of the simulation to 1 and also seems to change in scale over time (this could be a visual result of the clamping). To simplify the export process I have replaced the cube with a Grid (2x2 columns and 4x4 size). Please see the attached spread sheet for the export results (and a chart showing time sliced data).
After looking through the HDA code it would seem like the problem is related to when the bbox is calculated (for scaling the pixel data for pos) as it updates every frame and we use the single value for the entire sequence in the shader. The problem also appears to be related to when the corners of the grid (or cube) rotate outside the static object's bounds.
Please let me know if you have any advice for exporting softbody simulations as png textures or if there are changes I can make to the HDA which will improve performance. A prior version of the plugin included a cloth simulation of a tearing flag and that data continues to function, although the object does not rotate or transform.
Attached files:
Error Scene
Unpacked Data (norm)
Denormalized Data (chart)
-
- Quick Links