-
-
Vatbaker where you put in your model and set the action and emotions. Right side is preview and profile saving (important!)
-
Settings how you want to have it. 8bit png and pose stripped with octa packed normals in 4th channel. Supports other formats too
-
You can restitch (resue) other vatbaker textures like from houdini or openvat or from older files into this format.
-
Since the vat is animated in pose (because of 8bit precision), we need to give back movement. That is happening trough 6 lut curves.
-
You can pass your animation file from blender or use presets or combine them. That is all needed because you want to animate thousands
You guys I know I wont be able to upload a video or meet all red things here, but I provided some pictures. It worked what I wanted to work on, thank you for the oppertunity!
Inspiration
The unity stream showed some vat texture but it was such a poor bad tool.
What it does
TLDR: To animate thousands of objects, or extrem complex animations.
If you want to animate thousands of objects or have some non bone animation like imagine an extreme twist of an object like you want to squeeze hand towel type of animation there are limitation because skinned mesh renderer doesnt allow to be processed on the gpu and is bound to bone animtion.
What is does it that you can put in your animation (with bones or also non like geometry nodes as alembic) and you can set a lot of settings. Its a workstation to "bake" those animations into a texture, saving the delta from the last frame (depens of the setings) in a very compact way, also saving object normals (not tangent). It has many features to make it artist friendly like strip movement. For the cpu it looks like you upload a lot of static meshes that reference texture, so something that doesnt move (no skinned mesh renderer) which is extremly performant because you can have simd and also batch them aggresivly. The animation is then played back via the texture with interpolation, every obejct has its own timers and an utiltiy ai is controlling what they are doing (you can make an animation controller for that)
Okay since its animated in pose on the gpu, its not really moving but you want it to move a bit. Thats where the root motion builder comes in. You can feed it with animations you did. Again bone, or the "csv" for 3d called alembic or presets and it bakes it into 6 optimized lut curves. You can combine presets and other and in later version I want a database for rootmotion so its interchangeable. Another thing you can do is bool-flag some of the curves to activate them, saved in a lower nibble of the whole animation burst struct.
How we built it
I wil built it inside of unity, maybe port it out later. Just little by little, learning about vat baking, about the tradeoffs and making the ultimate tool for it.
Challenges we ran into
Yeah some bakes didnt work at first because of the coordinate system and also you have to integrate into a shader. Thng is that I have many versionsin the shader: Gameobject no Vat, Gameobject Vat, Entitiy no Vat, Entitiy Vat, Entitiy vat fallback Gameobject.
Accomplishments that we're proud of
It works :) its useful, its cool
What we learned
Pretty much how the whole vat texture works and tricks in shader
What's next for VatBaker
If I want to continue that I would port it out of unity, and go all in on it as a Special effect animation middleware that works on all game engines. Would free a lot of animator
Log in or sign up for Devpost to join the conversation.