Export aimation mesh

Hi! I need export a Helix Parameters from Maya. I’ve animated the Hight parameter and baked animation, but the Babylon Exporter do no export. Any suggestions? thanks!! :slight_smile:

Adding @Drigax who worked a lot on Maya lastly :slight_smile: to see if he can help ?

Would be amazing if you could share a tiny repro scene ?

And Welcome to the forum !!!

Yeah! @Drigax can help me?? Nice!! @Drigax please help me!! :slight_smile:

Its a little project for agumented reality for a private bussines. If I can show you, will upload it here! thanks!!

I got the animation with blend shapes! if the better way ? thanks! :wink:

1 Like

Hey @David_Inlines, welcome to the forum!

I assume that you’re trying to export a helix with animated parameters?

I think the blend shapes are the best way to handle this as well, since modifying the parameters modifies the geometry of the helix mesh. @PatrickRyan is probably the best 3d artist I know, got any better ideas?

1 Like

@David_Inlines, I agree with @Drigax that you could go with a morph target to get your height animation. The problem is that when we write out the file, we strip out all of the parameters from mesh primitives and just save out the triangle list. This is for performance reasons as there are a lot of extra calculations from the primitive parameters we don’t want to make every frame if we don’t have to. Using a morph target is one way to work around the loss of parameters. However you will carry a second mesh (the morph target) in your file as we need to know the positions of the verts from the final triangle list which will make your file heavier.

Another option is to skin your helix to two joints and animate the joints. You can see that the skin version acts just like the helix parameter animation and you don’t need to carry a full triangle list. Just the skin weight values, but since you only have two joints to skin to, your file will be smaller.

What I did was to create a root joint in the center so that I could mimic the animation of height on the helix, but this joint is only there for position as no vertex has a weight to it. Each loop of vertices from top to bottom are skinned to the top joint and bottom joint only with all vertices in the loop containing the same weight value (so the cylinder does not deform as these loops will retain their shape and thickness).

When weighting the individual loops, I start with the top loop and weight like this:
[top: 1.0] [bottom 0.0]

Then depending on how many loops there are, I step down incrementally so we evenly distribute weight:
[top: 0.95] [bottom: 0.05]
[top: 0.90] [bottom: 0.10]

[top: 0.05] [bottom: 0.95]
[top: 0.0] [bottom: 1.0]

The easiest way to do this is to use the component editor because you can select a loop of vertices and they will display in the component editor. You then click+drag down the column of values you want to change and type in the number before pressing enter. The editor will distribute all of your values to the vertices. This is easier and more accurate than using the weight painting tool and avoid any deformation of the helix based on loop vertices having slightly different weight values.

Hope this helps but let me know if you have more questions.

1 Like

Wow!!! Thank you very much!! its cool solution!! Thank you so much!!