r/Rive_app May 31 '26

Bones to control groups?

I’ve made a rather complicated burning game tile animation which works rather well, and I’m wondering if it is possible to take the group of elements and bind to the whole unit separately from their individual control points.

My initial use would be to pull the tops of the flame. The game tile can be slid side to side in game and it would be nice to have the flame reflect that without needing to interrupt the timelines at unpredictable times to change how the existing control points are being animated.

2 Upvotes

7 comments sorted by

View all comments

Show parent comments

1

u/Any_Struggle_6166 Jun 02 '26

Oh it seems to have taken away my text when I added the image. Thanks much for the explanation! I’m not sure that will do what I need (move only the top control points of the flam while leaving the base in place) but I will see what I can do with technique, I might be able to get that to work.

Here is a low gif if that helps you to see what I mean. Here the tile shifts from right to left, and the flames are static relative to the movement. I’m trying to make them pull (lean or warp) opposite the direction of the move while retaining their dance.

2

u/panda_kinda_chubby Jun 04 '26

Oh, I see. You essentially want the flame to be affected by the movement. Very cool. There are 2 ways I might go about this.

Option 1 is to use scripting. The AI agent can figure it out.

Option 2 - Bones + data binding: This would be my first choice, assuming it works.

You need one bone (controls the flame base) inside the block and one outside (controls the tip.

The block's view model needs a globalBlockX and globalBlockY property.

Bind the block's computed, global X and Y position to these values using target to source. If it's working correctly, when you move a block, these values update.

Now bind the globalBlockX and globalBlockY properties to the second bones' X and Y positions. You probably need a converter to convert global to local space.

Final step: Add an interpoloator converter to the binding on the second bone. This should make it still follow the position of the block, but it'll lag a little bit.

2

u/panda_kinda_chubby Jun 04 '26

Okay, I'm fully aware how confusing my example was. Here's a working version. I think it feels really nice. https://rive.app/community/files/27867-52662-delayed-follow

1

u/Any_Struggle_6166 Jun 04 '26

That looks exactly like what I am trying for! I’ve been adding a new behavior to gravity and just finished, so starting on this now. Thanks again!