I’m working on additive blending running and spell casting animations. When I blend these animations, the result looks odd. I believe I need to disable foot animations from the spell casting group and upper body animations from the running group to fix this. I want my character spell a cast while running and does not look so weird.
Does anyone have experience with this or know of any PlayGround examples that could help?
@ertugrulcetin, what you need is animation masking, which we are working on but it is not in engine yet. This will allow you to mask certain bones in the animation when playing an animation. So you will be able to play one animation on the hips and legs and a different on the arms and head.
Additive animation is not going to work for this as the bone rotations for all animations playing will be added together, so you are double transforming the bind pose for these clips which is why it looks so wrong.
I am not sure when animation masking will be available in engine, so the only thing you will be able to do for now would be to split the animations for upper body and lower body so you have 4 animations.
Upper body run
Upper body cast
Lower body run
Lower body cast
Then you would play a combination of animations on your skeleton and blending weight would work as well. This is not ideal by any means, but if you need to overlay a second animation on only part of the skeleton, this is what is required at this moment. The challenge here is that there needs to be no animation on bones that aren’t part of the separated animation. Basically, from root to legs can be one set of animations and from spine1 up to head and hands can be another.
The only other option would be to create a second “moving cast” animation which is not a run, but some other movement - pirouette, hop, stutter step, etc. - for the moving cast which you can blend normally like any other clips.
I know this isn’t an ideal answer, but without masking this is not straight forward. @Evgeni_Popov might have additional thoughts.
Thank you @PatrickRyan for detailed answer! I also found AnimationGroupMask class, isn’t this masking for certain targets (bones)? addTargetName is the bone name?
Yes, masking is already in the engine, it’s the layered animation system which is not yet. So, you can use AnimationGroupMask to apply an animation on some specific bones and not on the whole skeleton.
If you want simple animation layers using masking, its been around for a while (doc). If you want a full animation layering system like in UE/Maya, you can write your own editor.
No, the layering system is not available, as it would require an editor to be usable (coding everything by hand would be quite tedious). This is something we may reconsider in the future.
Seems like it could be! We already have other “editing” features, like Animation Curve Editor, Texture Editor, etc. It seems like there could be an Animation Layer Editor extension, but it also sounds like we would need some engine/runtime support?