One thing you could do without adding runtime code is to add another bone that's a parent or a child of the torso and only manipulate that in the stab animation. That allows you to not override the torso pose in the underlying run animation.
Otherwise, know that setAnimation
returns a TrackEntry
object which has a mix
field. It's an alpha (certain % amount) that gets interpolated between the existing pose (in this case, previously applied by the run) and the pose in the animation. But there's nothing about it that's selective. So say if only 50% of the torso lean forward gets applied, only 50% of the arm stabbing also gets applied.
Obviously, it can't just know which bones to apply fully and which ones to apply additively or with an alpha or whatever other mix method you need unless you program it that way.
So I recommend doing it by adding extra bones.