As in the title. The keyframed animation without skeleton, exported into Alembic and imported into UE with Skeletal mode most times displays wrong first frame - the animated meshes seems to have strange transform matrix there, sometimes blown up, or hidden - although the animation itself is ok. Anyone experienced this?
Hello there @enquel!
It would be a matter of checking your current parameter setup on both UE and Blender, as alembic import can be quite tricky, depending on the asset’s complexity.
First of all, I would ensure that the entire importer workflow is being followed. Please check Epic’s doc on the matter, here:
As well, you can also check the following video guide, covering the full process. Hope this helps, and good luck!
@brs-sebascova thank you very much for reply. Yes I agree it is tricky. The problem is that regardless of the settings (UE 5.5), the skeletal import option seem to fail for the base pose (using this Principal Base Analysis component, which I guess is ad hoc rig generation based of primitive shape approximation), showing some parts in the wrong position at the skeletal mesh rest pose - i.e. the animation itself is fine (they may be some inaccuracies but I can overcome them), but the pose baked into the skeletal mesh is simply wrong. I am not sure if this is due to importer or Blender, but there’s nothing really special about my animation in Blender, just keyframed shapes, sometimes parented to null parent.
Thank you for the tutorial, it handles the geometry cache scenario, not helpful here. I will try playing with the scale and duplicating keyframes near frames 0 & 1, in hope it will “still” the curves in that area, in hope for the PCA to sample better at that timestamp.
Trying to approach the issue from other side: is there a way to change the rest pose of the skeletal mesh after import? Or make it use animation for that (I can cut keyframes in UE after import, thus essentially freezeing at first frame).
Actually, freezing the first frame could work. You can copy the frame that contains your target rest pose, and add two extra frames of that, to the start of the sequence, before the animation kicks in. That should ensure that PCA picks up the right pose when exporting.
Unfortunately, freezing did not work.
I have debugged the issue and it actually stems from the morph targets => the .abc animation in skeletal mode is baked to morph targets, which are controlled via anim curves, and those that show wrong at the rest pose (when I drop the object to the scene, for instance) have a value of 1.0 at the very beginning - if they had 0.0 all would be fine and rest pose would equal the 1st anim frame.
Is there a way to amend this, probably without setting values manually in construction script via Set Morph Target? (I don’t know, a pose asset where I would put those values to the. Better solution would be somehow to assure that the converter always assumed first frame should have value of 0 for each curve, but I am not sure how to force this. If I disable auto in morph targets and set the value, is this somehow saved/baked to skeletal mesh? Since I see no change in the viewport. If I could CHANGE DEFAULT morph target values for a skeletal mesh, that would solve the problem.
Another (worse than changing default morph target values for a skeletal mesh) approach I have noticed is that if I create a pose asset and set some values to 1.0 I am able to achieve what I want fairly quickly, but I am not sure how to apply this —> I guess I need to use this pose somehow in anim blueprint, but for now failing.
Thank you in advance
Ok, I made it work, although it needs SK wrapped in BP with ABP - quickest fix was to drop full anim from .abc, converting to single frame and using instead of Local Space Ref Pose. Works for my goal (weaponry), BUT I would like to know if there is a way in which I can prepare assets that ASSURES on import all the curves at 0 frame have value of 0.

