4.13 Animation Features Part 2 - Sept 15th - Live from Epic HQ

https://docs.unrealengine.com/latest/images/Support/Builds/ReleaseNotes/2016/4_13/image_41.gif

WHAT
This livestream is a follow-up to the first 4.13 Animation Features stream we did last week. Lina and Benn are joining us to talk about Animation Pose Assets and Sub Animation Instancing, which are new to the 4.13 build. Animators, riggers, modelers and anyone else who works with Skeletal Meshes will want to dive right into these awesome new engine capabilities, so tune in and see how it’s done.

WHEN
Thursday, September 15th @ 2:00PM ET - Countdown]

WHERE

WHO

Lina Halper - Sr Animation Engineer - @nikolobin](https://twitter.com/nikolobin)

  • Framework Programmer - ]()
  • Community Manager -

Archive:

Perfect thanks guys, here’s a question for Lina:

How do you deal with pieces of modular(swappable) armour/clothing or character adds like wings etc. that have additional bones that have their own anim and WONT be driven by runtime pose readers or physics.
In order to sync their anim with the base character you need the setMasterPoseComponent, but if the skeletons of the additional meshes contain additional bones, those bones will be snapped to origin rather than staying where they are.

In order for it to work we’d need the base character skeleton to already contain all those extra costume joints, but in that case the setup isnt scaleable and you cant add things in post without having to reprocess the entire anim library?

Yes please! exactly what I’ve been needing to know!

Would you guys be able to cover an example workflow with a rig?

Is the poses system an efficient solution to make an rpg character customization system? - Like make one character and give it 20 + facial blendshapes and bone poses for different faces.
Is there a point where the system gets too heavy? What are the technical limitations and what is the performance impact?

Not directly related to this stream but:

  1. Any ETA when the animation stuff from Paragon will be integrated into mainline engine (IK stretching, animation prediction from capsule) ?
  2. How is cloth editor coming ?
  3. How is full body IK ? On trello there is something scheduled for October. But it’s not clear if it is working on FBIK or just some parts of it to get retargeting working (:.

We already did this a while ago. There is nothing much new about it. You can download with UE4 FBX format, and it should all work. Any speciifc about it?

Thanks,

–Lina,

Are there plans for adding a real-time animation toolset for Sequencer?
In a nutshell this would mean creating IK chains and animating characters inside Sequencer, without using an external program like 3Ds or Maya.
As far as I know, it is not possible to do this in the current version.

Ah, ok. Yep, I’m aware of those features, I was wondering if there was anything to be said about new 4.13 animation features and how it differs at all in that particular use scenario.

I forgot to answer this one. Once we have in game editing working good, we’re going to integrate to Sequencer. That’s all the retargeting system we’d like to get to.

In the current version, not really but check out the allrightrig.

http://alexallright.com/allrightrig/

There is nothing much different yet. 4.13 features are more additional features. It doesn’t change previous workflow.

Just to reiterate, copy pose from mesh should allow them to copy bone transform from other skeletalmeshcomponent. They don’t have to share same skeleton. :slight_smile:

Regarding #1, this is something where I don’t have a precise ETA on, unfortunately. Releasing a new Hero every 3 weeks keeps us very busy!
But I did move our LegIK node into engine and it should make it into the next version of the engine. That IK node supports any number of legs with any number of bones.
We had to overcome a few technical issues to move that down to the engine level, so now that this has been done, the future nodes should be a lot easier. (SpeedWarping, OrientationWarping and SlopeWarping).

I’m still figuring out how to port the motion prediction part, this is done in our AnimInstance in C++ and is therefore not very portable/modular. I’m thinking about turning this into a node that would be fed root motion animations. I think that would be a lot friendlier for market place type assets and more portable and modular. But that is work that is not done yet, so hard to put an ETA on, as it tends to fall to the bottom of the list.

If you have access to the AIGameDev website, I recommend watching my talk on the Paragon Character Animation. There is a lot of useful UE4 info in there:
https://archives.nucl.ai/recording/bringing-a-hero-from-paragon-to-life-with-ue4/

-Laurent

What if I imported the additional costume meshes onto the same base skeleton? The additional joints sure are still there right? Only accessed when the costume mesh is displayed. How do those get handled if lets say the animation being played has all relevant bones animated for body AND costume mesh?

This is the current setup:
Body is skeletal asset, skeleton has only body joints.
Costume is bound to body bones but has some additional bones that will require their own anim (which would be for body bones AND costume bones) or others will just be able to be simmed or pose corrected. When imported into the engine I chose it to use the body skeletal asset.
Some animations have been created for body bones alone, others also include costume bones (in addition to body bones).

Will this copyPoseFromMesh then be able to have the costume skeleton stay in sync with the skeleton in any case? Whether the animation played contains the additional bones or not? If it doesnt, they just dont do anything (no snap to origin). If it does, then drive those bones from the current anim as normal.

That is all I need to know.

Copy pose from mesh doesn’t care whether they share skeleton or not, so yes they can have different skeleton.

In the case of your example, costume skeleton’s Anim BP will have copy pose from mesh, and the mesh link to be " skeleton skeletalmesh".

The gotcha you have to watch out is that skeleton mesh component has to be updated first, which can be guaranteed if you attach costume mesh to skeleton.

Another gotcha is that physics isn’t handled well with this since you’ll have to wait until skeleton finishes physics blending.

Hope this helps,

–Lina,

Found original release note link

Search New: Animation Posing by Copying from Meshes

This gif doesn’t show well of gunatlet animating but the gauntlet in the screenshot is costume mesh here. It’s getting hand animation from body, but other part of the gauntlet also can animate. You’re likely to use Layer per bone blending node, so that you can filter out what to do per joint.

Hey thanks for the info.
I’m not sure about the root motion part. Although I understrand that root motion would only be used as referece for frame extraction. The nice thing about this stuff was fact that it cloud use in-place animations and make them look like root motion was used (without usual root motion downfalls like poor responding to player input).

Wouldn’t it be possible to just integrate it into anim instance, and just make possible for users to opt out if they don’t want to use it ? It’s working similiar with root motion now (we can just simply turn it off for everything in anim instance).

Unfortunately I don’t have access to the videos on this site.

Yes, the root motion animations would just be used to generate the distance curve automatically. All animations would still be in place and character would be running normal physics.
It’s not great to include it by default for to use, I feel that it’s specific. But one option would be to make a custom AnimInstance subclass with that system in, and users could opt in to choose that instead of the base class.
I’ll keep thinking about it.

Video archive is now up.

I’m really excited about this new feature but I’m still confused about how an Overgrowth style system could be built on it. In the stream, it looked like the pose asset had to be driven by an animation sequence with variable curves. Wouldn’t that make it the same as a normal animation sequence, because the variable curves are authored in advanced instead of dynamically changing at runtime? Or is there a way to set the values of the variable curves in Blueprints or C++ at runtime?