Apparently all tutorials about animation montage date back to 4.7 or so, and I couldn’t find any newer tutorials.
How do I work with notifies in Anim Montage from BP? For example, I have looped anim that actor starts in and at certain point I need to break out of it and continue playing montage to the last frame, at which point I need to freeze anim in that last frame.
I made anim montage which I use directly with my BP actor’s skel mesh as animation asset. So far I made it to either loop on one of the anims, or play the whole slot from start to end.
Thanks
P.S. The actor is not a pawn nor character. Just plain BP actor.
Well, I need for it to loop on one anim until triggered. Once triggered, it needs to switch from looping anim to whatever next anim and keep playing until the last anim, and then pause on the last frame of the last anim.
Along the way I need to kick off sounds, particle effects and some events on particular frames.
I’m not sure you need to be using notifies for this. You should be able to just use montage sections and then Montage Jump To Section when you are ready to move on from your looping section.
Notifies are more about the animation notifying the blueprint about what’s going on in the animation, not so much about the blueprint telling the animation to do stuff.
Alright, I’ll use that to jump from looping anim to the rest of the anims. Thanks!
However, I still need to play sounds (FMOD sounds), particles and kick off some events on the level (or/and activate some of other animated actors on the level). I believe all that is done with anim notifications.
The issue is, as you can see, that there is no way to access those notifies from actor’s BP. However, notifies are available through Anim BP. The problem is that I can’t figure out for sh#t how to get montage play via Anim BP
The Update Animation event won’t play if you’ve got no animation hooked up in the anim graph (there’s nothing to update). You can make a state machine with just an idle animation and that will play whenever no montage is playing, then add a slot node after that. I don’t know how montages will play when using Update Animation though. There’s also an Initialize Animation event that runs only once. And after that you can use notifies/events/event dispatchers or whatever to play other montages.
I figured that much. Also tried Init Anim event with no luck. Tried even plugging a sequence in the anim graph. Sequence would play, but Montage would not.
Haven’t tried state machine (I don’t know much about it yet), but I was hoping to avoid going that route for simple animated actors.
Well, that’s where I am stuck. I play montages from actor’s BP, but not from the anim BP. Also, notifies don’t even show up in BP, only in anim BP (and I have to restart Editor for them to show up). So at this point I have to give up on notifies (because I don’t have access to them from actor’s BP). Which makes whole animation thing useless if I can’t do things on frames of animation.
Did you add a slot node in the animgraph? Things won’t work if you don’t hook them up correctly… And why do you want to play animations from the character blueprint rather than the animation blueprint?
Yeah, but slot also has input and I am not really sure what goes into that input. Following up with Epics tutorials, state machine baked cache has to go there, but I don’t have state machine (and I don’t think I need one since there are no states for this actor).
I am just showing that if I use Anim BP, montage doesn’t play at all. If I play montage from actor’s BP, it plays, but then I don’t get any access to notifies and thus I can’t do anything special on animation frames.
You can add a state machine with just one state (idle) like I said or a random sequence or whatever, it doesn’t really matter. You just need something in front of the slot node to make the animgraph not ignore the result.