• Editor
  • Best way to rig "2 Water Filled Balloons" With Physics?

When i try to rig "2 Water Filled Balloons" with physics,
They always moving just like each other that makes akward
When i shake "String" up and down,
i want to make "Each Water Filled Balloon" jiggling slightly different ways

Related Discussions
...

To rig "2 Water Filled Balloons" with physics and achieve a natural jiggling effect, you can use a combination of path constraints and physics constraints. Here’s a step-by-step guide:

  1. Create the Balloons and String:

    • Create two separate bones for each balloon.
    • Create a bone for the string and attach the balloons to the end of the string.
  2. Add Path Constraints:

    • Create a path for the string and add path constraints to the bones of the balloons. This will allow the balloons to follow the path of the string.
  3. Set Up Physics Constraints:

    • Add physics constraints to the bones of the balloons. Ensure that each balloon has its own physics constraint to allow independent movement.
    • Adjust the physics properties such as mass, damping, and stiffness to achieve a natural jiggling effect.
  4. Add Randomness:

    • To make each balloon jiggle slightly differently, you can add a small amount of randomness to the physics properties. This can be done by slightly varying the mass, damping, and stiffness values for each balloon.
    • Alternatively, you can write code to apply random forces to each balloon at runtime, ensuring they move independently.
  5. Test and Adjust:

    • Test the setup by shaking the string up and down. Observe the movement of the balloons and adjust the physics properties as needed to achieve the desired effect.

Here is an example of how you might set up the physics constraints in code:

// Example code to add random forces to each balloon
void ApplyRandomForces(Bone balloonBone) {
    float randomForceX = Random.Range(-2f, 2f);
    float randomForceY = Random.Range(-2f, 2f);
    balloonBone.ApplyForce(new Vector2(randomForceX, randomForceY));
}

// Call this function in your update loop
ApplyRandomForces(balloonBone1);
ApplyRandomForces(balloonBone2);

By following these steps, you should be able to achieve a natural jiggling effect for each water-filled balloon, making them move independently when the string is shaken.

Hi! I think it's ok, you can call them breasts, so people on the forum searching for the same topic can also find the same answers.

I did a little example of the setup using physics on Celestial Circus here, demonstrated under the chest chapter:

If you need to also avoid clothing, simply place two of these bones. You could add a length to the bone too so that scaling can be added. Personally I'm more of a fan of a single bone control, but I understand the need to differentiate them more, so by giving the bones sligthly different angles you may get the different behaviour you were after.
Maybe at some point I'll create an egg yolk in a pan example that could demonstrate this better adding another part that can help delivering a nicer animation. 🤔