Solved: Playing 2 anims at the same time on a single skeletal mesh

tl;dr I have 2 state machines set up, but I don’t know how I should blend them.

I know has been answered many times in the past. I’ve implemented the [official solution][1] to it on a biped. But that setup seems weird for what I want to do now. time I would like to do it on a skeletal mesh that’ll be parented to a motion controller. When certain buttons are pressed on the controller, different animations play independent of each other.

At first I was using one massive state machine to do it, but working out all the bugs meant I had to add tons of transitions. I figured it’d be cleaner if I just blended 2 separate state machines but I’m having a hard time finding how to go about it without using montages.

  • There are 12 animations total
  • 2 bones are rotated and scaled via Bone Modify/Transform
  • 4 anims (2 of which loop), in the “Trigger” state machine affect one single bone
  • 8 anims (3 of which loop), in the “Grip” state machine affect the rest of the bones

I think I have to use layered blend per bone and maybe cached state machines, but I’m not sure about the order and what to do in the Blend Pose Per Bone node. I can specify bones in different layers but I don’t know how the layers work with the Blend poses. (Couldn’t find any good or official info on how to use the Blend Pose Per Bone node.)

I know for sure I can just separate the skeletal mesh into 2 different skeletal meshes, but I’d first like to know if anyone could help with .

You are doing it correctly. However, The layered Blend Per Bone Node has some settings. There you can set which Bones are blended, Have you set up correctly?
I suggest to have a Blend Weigth of >2 in Layered Blend per Bone, else the Animation isn’t blended completely.

Grip and Trigger State Machines are evaluated simultaneously so it does not matter which Pose comes first.

I suggest to use the Layered Blend Per Bone Node within your State Machines if they affect different bones.

Okay, I don’t know if it works, because I don’t have your assets, but perhaps you give it a try. First, set the Grip pose as base and the Trigger pose as blend. Then, go to the details tab of the Layered Blend per Bone node and add a branch filter. Insert the bone name that is affected by the Trigger pose. You can also watch it here: - YouTube . I hope works for you.

Hey Raildex_. Thank you for the reply.

I noticed a couple years ago someone set the blend per bone node in the state machine. But they didn’t blend the caches after that. I’m going to see if I can do the per bone in the state machine (as you suggest), and then just do the the standard blend pose for the caches.

Only thing I’m a little unclear on is on the blend per bone node in state machine.

I’d do that for each animation, blending the previous to the current anim (in the same state machine), specifying the name of the parent of the chain of bones I want to be affected (with a Blend Weight of > 2). I don’t have to actually blend the anim from the other state machine in there with it right?

I’ll attach some pics (tomorrow).
Thanks!

Shoot, both of your answers helped me out. It was way easier than I’d thought. See, that tutorial you linked I’ve done before, but since it uses montages I wrongfully assumed it wouldn’t work for 2 cached state machines.

I used just one per bone blend on the final result animation graph, rather than putting them in the state machines. (I tried that, but it was getting unwieldy.)

Setting the depth to 2 as Raildex_ suggested worked first shot.

What should I do? Both of your answers helped me out.