Import from Blender animated

I have an animated model in Blender of football player with a ball. Ball is attached to bone. I’ve managed to import it to playcanvas but the ball is moving not in the right spot. Already tried Autodesk FBX Converter, but it does not make any changes.
Here is a screenshot of the lowest point of the ball, it is way too far from the leg.

Maybe I do everything wrong? Do I need to make them separate?

Hi @lisichka_ggg,

Maybe your issue is related to this, there is a potential fix in that thread:

So at the beginning of animation looks good, but after one kick to goes to high(
I have a test project to show the result: https://launch.playcanvas.com/887621?debug=true

Indeed, it doesn’t seem right, can you share @lisichka_ggg your editor url to take a look?

There was some discussion recently on how to properly import an animation in the Playcanvas editor, maybe not directly related, posting for reference:

Yes here:

https://playcanvas.com/editor/scene/887621

So do you think that slowing down animation could help?

Not sure, but if it’s easy to try it out go ahead.

I don’t think something wrong with your animation out of the box. If you don’t manage to fix it, try raising an issue on the engine repo about it.

What we figured out is that PlayCanvas samples the animation every 0.1 seconds. That is not nearly frequently enough for a typical 30 fps animation. It is enough for a 5fps animation. So if your original animation is 30 fps, you need to scale out the keyframes so that they are six times as far apart if you want to guarantee an accurate conversion. You then play it back at 6x speed in PlayCanvas. This doesn’t appear to be a bug so much as it is a limitation of the conversion process. Sampling every 0.1 seconds is simply too crude for 30 fps animations where keyframes can occur at 0.033333 second intervals.

If your animation is long and/or complex, this may make for fairly large animation files. Depending on your animation, you might want to try animating at a slower frame rate like 15 fps and then multiplying the keyframe spacing by 3x.

2 Likes

Yes I’ve made this, and it worked for me, but it makes file size bigger((
But why playcanvas changes sample rate in the first place?

I have no idea. Coming from a background in 3D animation, it seems pretty crazy to me. But I’m assuming that there sure there is some background/context that I’m just ignorant of and that the underlying reasons make the decision more sensible than it appears. Either that or maybe establishing such a low effective frame rate was an oversight.

My main problem with this is that the re-sampling of the motions at such a low effective frame rate isn’t made super-clear/obvious in the online documentation. This is a pretty fundamental feature and it should be more thoroughly explained IMO.

I agree with you. Made an issue on github.
Here is a test numbers for 2400 frames: 24fps is ~2MB, 10fps is ~10MB.

How much does it compress down to when gzipped?

I don’t know. How to check it?

Hi @lisichka_ggg,

You can use the network tab on Chrome Dev Tools. Hovering on any connection will report the compressed size of the resource transferred over the network versus the real size of the file.

Here a link to issue on github: https://github.com/playcanvas/editor/issues/31

wow it is actually file size is much lower!