Download

Questions about editing animations (inside Unreal ?), increasing animation variety

Just fishing for some direction on where in Unreal (ideally) I might be able to do these kinds of things:

1 - Transpose/remap/mirror animation? Since the skeleton model is symmetric (left/right hand, feet, etc), is it possible to somehow mirror the animation so that, for example, the animation is a step forward with the left-foot, it’s now a step-forward with the right foot? I imagine this would likely be better done outside of Unreal; would anyone have any direction on how to accomplish this? If this was the object-editor, I’d like to try and scale by -1 (for those that know), but in regards to animation…

2 - Is it possible to blend animations (like by bone, etc in an anim-BP) but output the result to a file? Ideally, if I have a few animations I can blend together via a anim-BP but would prefer to have the result as a standalone file, as a base-asset. Is it possible to stream such output to new file/asset?

3 - I’ve done some work where I can duplicate the root animation and run the playrate at -1. This turns a left-swing into a right-swing, for example. This works for some things but movements/stepping and whatnot is not always QUITE what I want. #2 could help me by blending out what I want, otherwise, I don’t see where I can attach a timeline to an animation? Say, if I wanted to speed up the beginning of that right-swing but keep the rest relatively the same; be able to stretch/compress the animation to make the reverse of the original look a little better. Is there a way to do this inside Unreal?

Overall, using market assets, I’ve found some ways to work around how things are pre-packaged, how to modify some things creatively, but #1 would effectively double my base animation-set and #2 would help de-convolute my codebase with some set/base assets.

And as always, to the community (and MostLikely MostHostLA), for any direction, thanks. :stuck_out_tongue:

EDIT: I found animation composites but cannot seem to alter playback speed except to alter the base play-rate, which I do not want as it affects the entire animation. As well I DID see where I can add a curve, already named ‘Speed’ but it doesn’t seem to do anything…

image

  1. You can mirror anims in runtime by controlRig, but you cant mirror notifies if it exist.
  2. Inside Anim modifer class with added some functions from C++ api, you can edit and save changes in anims.
  3. For example you can convert anim nodes to single frame mode by right mouse click for manually drive target time of anim.

Anyway ue4 is wrong place for editing raw anims data (except some procuderal things). Use special soft like Maya or Blender for editing, mirroring and other.

That’s for the insight.

Agreed and understood UE4 is not the place; I was hoping there might be some low-hanging fruit I could leverage to simply multiply/diversify what animations I did have.

1 - OK with the notifies, I use a custom setup for timing/combos. I’m more interested in the base-animation itself (or at least the making of one from another).
2 - Will look around, not super C++ savvy.
3 - Will look into that but ultimately it wouldn’t be at runtime but something in the form of a base-asset.

In blender you have “paste opposite” which does exactly what you want.
Inverts whatever you copy to the opposite side of the skeleton - if the naming follows the blender standard with _l _r mind you.
Works fine on rigify rigs, but if you made your own it could possibly not work right.

If you aren’t using a rig at all it should still work off the unreal default bone names for for arms/legs.

Why bother? The engine does a poor job at this compared to a copy/paste in blender.

Export and open the animations, go to the frame you need, in pose mode, select the bones you want to copy. Go to the animation to modify, select the correct frame, and paste.

You won’t need to rig or anything. All bone names will match obviously.

You can also copy sets of keyframes for the selected bones by using the timeline, so you can replace a whole portion of an animation with just a copy paste.

Anything more involved would probably need a rig.

Well, you can expose the play rate pin and plug in an animation curve. You can then mess with the animation curve editor to alter the speed it plays at.

I could see issues when you intersect a speed of 0. If the animation speed is 0 then it won’t keep going to the next swap. So you have to test it out…
Or power the thing with an external curve that keeps on playing overtime.

Seriously, start animating in blender.
It’s obvious you need to given what you are trying to do. Once you manage to set up your base rig for your custom character copy/pasting stuff to match is a breeze.
Because of bone track visualization you can probably even ease the transitions between copy/paste visually…

As a TA authoring and editing animations in UE4 would be like using a spreadsheet to write a book. Can be done but rather limited as to hacking the solution as a work around. I mention this as to question 1 as to the base requirements are present but not in a usable implementation as to ease of use . For example the recent addition of the control rig offers a future ability to author and edit animation directly with in UE4-5 so the big question is how it all fits in with the big picture as to usability.
I mention this as anyone who is familiar with the control rig available in Motionbuilder can see the possibility of doing what you ask but not in it’s current state so the honest answer is yes UE4 can/could do all that but as a code based project…at the moment.
This brings me to what I think the root of the question of increasing access and doubling the size of your base animation sets. As data goes this is the core requirement that I’m sure most TAs have collected over the years as to shewing up to do the job but already has the required base assets to complete the job with out having to reinvent the wheel.
The good news if looked on as data animation as data is falling of the tress so how to manage all of that data become more of the problem over and above the ability to conform the state changes based on a desired result…which can be done in UE4.
Lets take the Paragon assets for example.
Available with in each package is a complete set of animations targeted to the base Epic rig but unique to the character. Since they make use of the Epic base they can be targeted to a different rig and the base sets can be use in your own projects. As a complete set as part of the total number of characters that is over 3000 individual takes if viewed as usable data and not as what defines animations as to it’s final state.
Sorry if a bit wordy but a lot of stuff you mentioned can be easily handled by external means but the problem with UE4 has always been the ability to manage large volumes of data in a productive manner and I hope what I’m trying to get across is video game animations is not the means to the end but rather how data can be configured in a way the derives the result one is looking for.,
Example how to change the timing on the time line. Don’t change the time line but rather the curve that defines the animation as data and problem solved.