Blender Uv animation and armature deform

Version : Blender 4.2 and latest version of blender addon

Frequency: Constantly

Severity:
Blocking - prevents work on project, prevents product release

Context:
It’s impossible to have an armature on an object and have a UV animation.

Bug description:
I’m working on an airplane on blender and I wanted to have a deformation of a tire and therefore use UV animation for its rotation.
If my tire has an associated armature and I export the gltf will not contain “ASOBO_property_animation” and therefore no UV animation.
If I delete the armature, I’ll find “ASOBO_property_animation” in my gltf.
I don’t know whether this is a bug or me doing something wrong.

Reproducibility steps:
Create any object, then create an armature. Link object and armature via armature deform. Put a texture on the object and create a uv animation.
Push everything onto NLA tracks.
Export with NLA Tracks (I can find the animation if I export with action but no “ASOBO_property_animation” so the animation is not visible).

As I haven’t received a reply, I’ll take the liberty of raising the subject again.
Thank you

Hello @DeelLav ,

We tested using your repro steps and we can see the ASOBO_property_animation extension in the gltf.
Can you share with us a blender file that reproduce the issue please ?

See 3) Provide Private Content

Regards,
Boris

Hello,

Thank you for the sample.
We reproduced the issue and I logged it in our backlog.

Regards,
Boris

Is there any news of a fix for this issue?

Hello,
At this moment, no, but I’ll let you know when I have some news to share.

Regards,
Boris

1 Like

Hello,
We reviewed the code, and this behavior originates from the Khronos exporter and it seems to be by design.
There is nothing we can do on our side to fix this.

Regards,
Boris

Hi Boris,

Can you please add an example to the SDK showing how to do UV animations with the blender exporter?

Thanks

1 Like

I have been successful with exporting tires with deformation and UV material animation. I am using Blender 3.6 and GLTF exporter version 1.3.2. These are the key parts that made it work:

  1. Create a material for each tire. Animate the UV Offset V property from 1 to 0.
  2. In the NLA panel, you should see each tire with a material that has an action
  3. Do NOT push these actions to a NLA track. You can rename them at this stage.
  4. Make a secondary XML behavior to animate these UV actions.

This is not the ideal process since it can’t leverage the NLA tracks but it has been reliable. If you get an export error at any time, I recommend to close and reopen the Blender file to reset the plugin’s memory state.

1 Like

Can you elaborate on that step for a dummy like me please? :smiley:

In the material panel, under UV Options is the UV Offset V parameter. You can right-click and add keyframe or keyboard shortcut “I” when hovering over this field.
Keyframe 0 should be UV Offset V value of 1 and the last keyframe is value of 0.
This creates a material action.

1 Like

Thanks for the reply, Boris. I’ll try to contact the author of Khronos exporter

I tried your method, but there must be a parameter I’m missing.
When I look in the gltf, I’m still missing
“ASOBO_property_animation.”
If I delete the armature, I can see “ASOBO_property_animation.”
Do you have a Blender sample file I can use to try to understand my mistake?
Thanks in advance.

You propably solved this already, but for anyone else (like me) stumbling into this. I’ve attached a blend file with three animations in it, the important ones being GEAR_Nose in the armature which is the gear up/down and tire compression animation and Tire_Left_Roll which animates the V of uvs on the Nose_tire_left_mat material.

This setup works, atleast from exporting from my full external model, and I think it’s because of a certain setting in the exporter. I usually had the dropdown shown below as “NLA tracks” and all other animations besides the tire UV one worked. Then I changed this to Actions and now all animations seem to work correctly. Especially the UV rotation and the compression (near the end of GEAR_Nose). Disclaimer: Your kilometerige may vary and I don’t know if this breaks other stuff with the animations, but I did get it to work with this.

Also, you don’t need to leave it “hanging”, ie. not push it down to an NLA track. The animation will still work as it’s exporting the actions, not NLA tracks.

Gear_sample.zip (6.3 MB)

3 Likes

Hi, no, I hadn’t solved the problem. I’ll take a closer look at it as soon as I have time.
Thank you very much.

Hi,
Thanks again for the file. I tested it, but unfortunately it still doesn’t work on my end. I don’t have the ASOBO_property_animation property in the gltf, so I won’t have any UV animation

Sorry to hear that. What if you shaved down your model to something with only the armature and UV animation and shared the .blend so people could look at what you might be doing differently?

I also have the same problem with the file you provided.

Looking at the example provided by @RJiiFIN check that the UV map name is set to UV1 and not UVMap - I got the example to work with that change and the NLA tracks issue in the action mode to Actions.

1 Like

Alright, I found where the problem was coming from.

In the Browser editor, if no action is set in the browser action to be linked for the deformation, then the UV won’t work (no ASOBO_property_animation in the exported glTF).
However, if the action is assigned, the glTF does include the ASOBO_property_animation, so both the UV and the deformation work correctly.

Many thanks to @RJiiFIN and @DA40CGDFQ for your valuable help!

1 Like