Coming from unity, I think that UE4 animation system, despite having multiple great features, could use some attention. Below is collection of issues I encountered mixed with feature requests.
- (feature)No transition preview in unreal. In unity it is possible to preview what exactly your transition from animation A to animation B looks like. Editor also provides you curves that demonstrate position of character’s feet, so you can properly align transition between clips. In UE4 you’re operating blind, pretty much.
- (problem)Animation sequence does not restart if immediatelly reentered. Let’s say you have locomotion blendspace and “kick” animation. As in “kick”<–>“locomotion”, connected by transitions both ways. The fun thing is, if kick animation transitions away to locomotion early BUT “locomotion–>kick” is still true, then “kick” animation won’t restart. Instead of that it’ll play till the end, all the while current state osccillates back and forth between locomotion and “kick” animations.
- (feature)What’s up with constant need to insuert “time remaining ratio < 0.1” node? There should be a single node for “animation finished playing”.
- (feature)Likewise, there should be some way to restart animation clip for state machine.
- (feature)There’s no way to use montage from within animation state machine. Which is a pity, because ability to treat montage as animation clip would help. And no, animation composite doesn’t cut it.
- (feature)likewise, it would be nice to have ability to use blendspace or statemachine within montage.
- (feature)Within animation montage, it is not possible to blend bettween currently playing section of the montage and the beginning of arbitrary section.
- (problem)As of 4.10.1, animation montage slot naming is broken. Slots always end up in “Default Group”, and default group ends up filled with duplicate names, which can’t be removed. I think someone messed up with oeprator== or whatever is its equivalent for animslot references, and that slot does not take group name into account, meaning that engine thinks that “SOmeothergroup.Slot” and “DefaultGroup.Slot” are the same. Also, anim slot manager fave very half-baked feeling to it.
- (problem)As of 4.10.1, animation retargeting is broken for root motion when retargeting to different . Root motion (for root bone) is zeroed and ignored completely. Also see JIRA [UE-23809].
- (feature/problem)It is not possible to disable root motion at montage level. YOu have to do it in blueprint OR animclip/blendspace level. It is extremely inconvenient. There should be a way to disable root motion at every level of animation system - clip, blendspace, montage, blueprint.
- (problem)Animation retargeting system appears to be nearly unusable, which is definitely a step back from unity’s mecanim. Please note that this refers to animation retargeting only, mecanim has plenty of its own problems in other places. For example, based on the problem I experienced here, it appears that bone rotation is transferred by copying bone local rotation matrix? If that’s the case that’s not really a good way to do it. I think it would help an option of transferring rotation by first computing world-space delta rotation (quaternion) betwen bone current orientation and original orientation and then applying that delta rotation to bone in retargeted sekelton. That probably shouldn’t be a default behavior, but must be available as option. Recalculating limb movement based on IK could probably also work.
- (feature/tall request)Would be nice to make animations easily exchangeable between characters in general. In Unity 5, animation controller can be freely swapped between different (humanoid) characters and although it occasionally results in weird position of limbs, generally it works well. This kind of behavior is a godsend for indies. Unreal currently appear to be following philosophy that "animation is inseparable part of character that is coupled to ". That is a bit too old school and is not very good for a small developer with limited budget, who’ll have to waste a lot of time recreating animations for different characters. As of now, retargeting would require either professional modeling package (cause blender can’t do it), expensive middleware or subscription to some service, with no general-purpose easily available solution. In case of UE4, it could make sense if animation was a bit “decoupled” from and same animation could be used on different skeletons that share similar topology while preserving root motion. That would require some serious R&D, unless it is limited to humanoid skeletons, but it might be worth considering in the long term.