Transforming bones, specified by variable?


I’m a CG artist learning how to blueprint so I can learn about the parts of the game making process I don’t know much about! I’ve taken a few courses (some for blueprint, some for C++) and decided I’d learn the most by making something of my own, but I’m still pretty much a newbie so I’d really appreciate some help.

What I’m trying to do:
I have an object with bones for each face, so that the faces can be moved independently. I want the object to react to a player pawn, by moving and scaling when the bone overlaps with the player’s collision.
What I have so far:

  • I have a OnComponentOverlap event in my player pawn BP with the collision body set as the component. I cast the hit to the object, and extract the hit bone index from the overlap event and get the bone name. This results in a name return value, so I store that name as a variable.
  • I take the bone name variable, and bring it into the animation blueprint for the object I want to move the bones of. I found a node called Transform (Modify) Bone, which looks like it should do what I’m trying to achieve.
    The Transform (Modify) Bone node’s “bone to modify” isn’t an input, but rather selecting from a drop-down list of all the bones in the skeleton. As far as I can tell, I can’t specify the bone to transform using a variable or input. This is problematic as I want to constantly update which bone is overlapping with the player pawn’s collision and move the bones accordingly.

Am I going about this the wrong way? Is there another way to do this, or am I missing something about the tools I’m using? Any help would be greatly appreciated.

Thank you!

1 Like

Any luck resolving that? Another noobie here trying to do something similar :sweat_smile: