Using full root motion animations

Hi, I want to use root motion animations for my locomotion and build controller for that. I’m using Movement Animset Pro. The problem I have is I can’t calculate a direction to start movement. I have blendspace for starting animations in directions from -180 to 180. I don’t want to use Use controller rotation because rotation should be animated by starting animation so I turned off Use controller rotation and now, I think, the movement stars in very random direction. to calculate the direction I use Calc Direction function.

The reason - why not? it’s more acurate.
“feed that rotation back into your controller” - set control roatation?
The problem is ewen with first move. When I point a move destination behind my character and call him to move there ho goes in ~90 degrees, not 180. I can’t calculate degrees for rotation.

With the second movement action it could be true. But with the first I think it’s not. I think there is a bug in Calc Velocity or Calk Destination functions.

AIController (I point where character needs to go), top-down view.

Yes you’re right, I edited my comment just before your reply because I realized that as well. I think I have your solution, give me a few moments.

world rotation instead actor rotation - interesting, i have to try that and pass it to calc direction right?

Hold on, all my assumptions where based on the ThirdPersonController, the TopDownController works differently, I’m trying some things out. I’ll get back to you.

What happens if you disable “Orient Character to Movement” in the defaults of the movement component?

nothing, rly. only if i chect Use Controller Rotation rotates pawn to movement direction but instantly, without animation

So if you uncheck both “Orient Character to Movement” and “Use Controller Rotation”, your character does not rotate? Hmm… that leads me to believe that maybe the root motion of the animation is not rotating your character at all.

Try this, if you open up the individual rotation animation in persona, with root motion enabled, does the character slide around in place or actually rotate?

actually rotate

when I debug my anim blueprint I can see than calculated direction of movement is not valid as I posted in screenshot

Ok, that’s wrong. If your charcter is actually rotating, that means the root motion is not working. You want your animation to appear to be sliding in place if you want root motion.

Regardless, I just realized something, you are using your rotation to determine what animation to play right? If your animation is what is driving the rotation, you’ll never get a rotation to plug into your animation in the first place. =)

what do you mean by “slide around”? when I enable to process root motion in persona character starts walking around, not in place

" If your animation is what is driving the rotation, you’ll never get a rotation to plug into your animation in the first place." - I don’t want to set rotation to character. I need to calculate direction of movement to my movement point.

  • my character standing still
  • I click behind him to move there
  • animation controller needs to calculate the future movement direction ***
  • direction is passed to start walking transition to play proper start animation
  • character turns to desired movement location
  • charatcer starts movement loop
  • character stops movement when on target

*** does not work

My animations are doing the opposite. I have Animset Pro in one of my projects as well. Hmm.

with inplace animations it works well but not with root motion

I misunderstood. Sorry I’m just thinking out loud. i think what you want is “Find look at rotation”. You plug your actors world location and click location vector into that node. This will give you a world rotation which you then need to change into relative rotation.

“change into relative rotation” - how?