Getting squish bones to work

Hi, I’m trying to make use of the new squishy bones functionality in the VRChat SDK, and I’m having some trouble with them.

My avatar has a boopable nose, and previously I was using a hack where I put the nose vertices on a bone whose origin was below them, and then used a hinge constraint to prevent them from wobbling around. It looked close enough to a linear boop for my purposes.

But I wanted to try out the new squish bones, so what I did was moved the head of the bone to behind the nose, and changed the PhysBone to v1.1, and set it to have an angle limit of 0°, with a Stretch Motion of 1, a Max Stretch of 0, and a Max Squish of 0.5. (Without the angle limit the nose just flops around instead of getting booped, which is not what I want!)

When I look at the bones in the PhysBone overlay in-game, the bone appears to get booped correctly, but the actual mesh geometry doesn’t move along with the bone.

Are there any guides available yet for how to actually set up a squish bone? In particular I want to emulate something like the pressed button effect shown at the promo video at around 13 seconds in: New in #vrchat 2023.2.2: SquishyBones! - YouTube

This is expected because when a physbone gets squished, it doesn’t affect the root bone at all, it simply moves the end bone closer in. Whatever you want to squish needs to be weighted to the end bone.

1 Like

Aha, that makes sense. I’ll give that a try, thanks!

That did it, thank you so much!