eMotionFX Animation Skewing

0

Hi all,

How do I skew an animation in eMotionFX ?

Scenario:

  1. Have one vault over obstacle animation, which is done for lets say a 25cm obstacle width
  2. Actual obstacles in world are 25cm to 1m in width
  3. Obstacle width is known to game code. Landing point world position determined.
  4. The one and only animation should be skewed to reach a certain world position at a certain time

Expected result: Player can successfully navigate vaults of different widths. This is a simple scenario, there might be more control points , but what I would like to know is how you set up the simple scenario in emotionFX.

Thank you all

asked 7 years ago194 views
11 Answers
0
Accepted Answer

Hi @REDACTEDUSER

answered 7 years ago
0

It works great and this technique shipped in many AAA titles. Last of which I know of is Horizon Zero Dawn.

answered 7 years ago
0

I got out of track when you said only one animation and skewing... Horizon Zero Dawn uses multiple animations and blends between them(they say warp). It is a more complex version of the "animationwise" solution I suggested you but based on the same concept(forcing a calculated trajectory by blending).I don't even try to tell you how to do it... there is the paper and if you don't come up with few setups ideas after reading it probably you first need to learn walk before to run.

From your op, I imagined you were looking for a way simpler setup probably you undervalued it.

A setup like Horizon Zero Dawn is a hi scope, hi effort, hi-quality solution. cool to study if you want to focus on animation and add an impressive piece in your portfolio...take the paper find a good animator if you are not able to do custom anims and go for it, but for an actual project with a very small team or even worse, alone, it doesn't make so much sense as complex things break in complex ways.

answered 7 years ago
0

I don't know emotion fx but generally talking even if you came with the perfect procedural root motion in any scenario I doubt that you can apply always the same animation to all of them without looking cheap.

Once, I had to port from pc to console and handled all the animations of a parkour game of a client.

It was years ago so on a very simple animation system, but it had hundreds of animations and every obstacle size had its specific ones and possibly 140 animations for common navigation.

A single animation distorted in time and space following a root motion very different from the original one will present sliding parts(e.g the holding hand and feet on landing) yes, you can try to solve with IK but a way simpler solution is to solve it "animationwise" , not so many animations, but using modern animation blending, as even a bad animator knows how to add an animation layer to generate the required modified version you can then parametrize and test.

answered 7 years ago
0

Great conversation. I've asked the team if they have any advice.

answered 7 years ago
0

Hello, @REDACTEDUSER

answered 7 years ago
0

It has been Indeed very theoretical, great idea to bring in more competence on the subject matter.Proactive as always ;)

answered 7 years ago
0

Hey @REDACTEDUSER

Thought I would just drop in and point you guys at a video I seem to remember being pretty awesome and quite relevant to the theoretical part of this discussion (it doesn't talk about EMotion FX).

Check this out: https://www.gdcvault.com/play/1024219/Motion-Warping-in-Gears-of You will unfortunately need a GDC vault login but if you have one this is worth watching.

Overview: "The sheer magnitude of animation assets needed to build smooth and realistic movement systems while keeping a character grounded in an uneven and dynamic environment has changed how animation behaviors are built and authored. Blending multiple animations has traditionally been a way of dealing with distance, direction and environmental variance. However, the amount of assets needed for adequate coverage in today's large AAA titles can be crushing. Multiple animation blending also reduces visual freedom as blended animations must be of similar style and timing. Some games have tackled this content explosion by dynamically warping motion to meet the spatial constraints. These are often ad hoc/specific to particular actions and not exposed to the animator. For 'Gears of War 4', The Coalition developed a generalized solution by introducing the concept of warp points"

answered 7 years ago
0

Yep you are almost spot on. From what I remember, extra attributes are added into the animation in Maya which allows the gameplay code to know at which points various translation or rotation operations will look the least dodgy. For instance, horizontal left hand sliding will look ok from time x->y which is specified by the animator in the maya scene.

answered 7 years ago
0

Thank you for pointing out the material.

answered 7 years ago
0

I don't have GDC Vault access :( However, it looks like warping happens at specific ranges in the animation between solid contacts. Points get placed procedurally and mark the position at the time of contact so over the warping range character need to reach the next point. The most interesting part to experiment a bit is how to manage the offset. I think something like animation root motion + interpolation over the warp range from (0 to ( desired dest - anim dest - range starting point)) I need to try to figure it properly.

answered 7 years ago

This post is closed: Adding new answers, comments, and votes is disabled.