How do I blend between animations in a character that I want to approach and interact with?

I’ve got a skeletal mesh in my scene that has three animations attached to it: Idle, Talk and Walk to Destination

This mesh is part of an intractable Character blueprint, think a wizard that is standing in a forest that might have some information the Player needs for his quest.

I want my Player to be able to walk up to the Character and hit a button/key to blend from the Idle animation into Talk animation. Once the animation is complete, if the Player hasn’t pressed the button triggering the Character to Walk to Destination, I want him to blend back to the Idle pose. If the Player does hit the button to trigger the** Walk to Destination**, I want to be able to blend into that animation, either from the Idle or Talk animations.

I have no idea how to do this.

I’ve been looking into animation BPs, state machines and blend spaces, but everything I’ve seen seems to be talking about the Player’s possessed character, not a Character in the scene. I’ve also played around with the new animation blending feature in Sequencer in 4.15, but I think I need something more dynamic.

If anyone has any pointers I would greatly appreciate it.

Ok im a UE beginner, but i need to do the same thing soon. I would try to attach a trigger volume to the NPC, then you can use the
trigger volumes overlap nodes like begin overlap to generate the button that starts the animation. Then you could probaly set a event for when the animation ends. This is speculation on my part but if im totally off at least i bumped your post :stuck_out_tongue:

I’m doing something similar to this using event dispatchers and animation montages. You would put the dispatcher in the UI and send it to the animation blueprint of the character where it could play the correct montage using boolean values set when calling the event dispatcher for example. The only problem is getting the reference but you can do that by casting/get all actors of class etc. For the idle stuff you can set up a statemachine that has an idle state and when no montage is playing it will automatically go to idle.