Bongo 3 WIP 4

Here is a Rhino 6 version of the Ball Pusher:
Ball Pusher 6.3dm (615.7 KB)


Is there an easy way to use Bongo 2 and 3 side by side? Bongo 2 for projects and Bongo 3 for tests?

I could imagine to use Bongo 3 at Rhino 7 and Bongo 2 at Rhino 6.

I installed Bongo 3 and it was automatic loaded to Rhino 6. There it caused a crash during the Rhino start, but after installing the latest Rhino 6 version it works.

At Rhino WIP I missed the Bongo 3 installation, but a manual installation from the plugin options helped. Maybe the automatic plugin connection to Rhino 7 can be added.

I downloaded the Ball Pusher and I’m impressed how good it works in real time. :+1:

Now I would try to understand the physic based animation system. Is there a documentation about the new concept? Could some explain how the example file is setup? A simple list of thoughts would help. :wink:

In the C:\Program Files\Bongo 3.0 (64-bit) folder you have the Bongo Version Switch, so you can switch between Bongo 2 and Bongo 3 inside Rhino 6. Unfortunately it still doesn’t include support Rhino 7 WIP.
Personally I have Bongo 3 in the Rhino 7 WIP and Bongo 2 in Rhino 6.

1 Like


So here’s the object settings for one of the balls. I’ll go over some of the settings I think might be more confusing.
-Physics enabled is checked meaning it is added to the physics simulation.
-Kinematic is grayed out meaning this object is subject to the physics simulations calculation. When an object collides with it, it will bounce and follow that motion, instead of keyframes. On the other hand, if kinematic is selected when the physics simulation is run, the object will move in the simulation according to keyframes, or from calculations of the IK/Connections solver.
-Softbody objects are bendy and stretchy and their shape will be deformed by the simulation.
-Is Use Render Material for Physics Material is selected then Bongo will attempt to setup the physics properties such as mass, restitution, and frictions from the render material (metal, glass, etc).
-Use Pivot for Center of Gravity does as the name implies, otherwise the volume center of the object is used.
-Deactivation just allows objects to start the simulation asleep. This is useful to stacked objects since they wont immediately try tumbling down on one another.
-Disable Collisions with Parent helps keep hierarchies stable in the simulation since we can filter out and ignore parent child collisions.
-Restitution is a coefficient that determines how much of the objects velocity is after the collision. At the max the collision is perfectly elastic.

A and B are not in the physics simulation since they don’t have an effect on it. C is in the simulation but marked kinematic since its motion is coming from the connections solver (more on that in a bit). E is in the physics simulation and marked as kinematic. Since E has no keyframes I use this to keep it static. This also true for F, the clear tube. The spheres, collectively called D, are all in the simulation with gravity enabled. This makes them all react to the collisions and have the constant downward gravitation force.

So A, B, and C are all linked together with our new system called Connections. This is sort of like IK but hopefully a bit easier to use. Connections describe motion between objects, whereas with IK you described the how the objects moved (through their joint properties) and they tried to meet a goal. The connection between A and B as well as B and C describe rotation between the two. The final connection is a translation between Object C and the world space. Object A drives the motion in the system by rotating. Objects B and C are then finding how to move to meet these various constraints.

1 Like

Great, thank you very much. It helps a lot to start.

Some times I see a blue progress bar at the bottom of the Rhino UI. This is a precalulation? For example if I moved E upward than I don’t see an updated animation. Do I need to update the calculation?

I removed all constrains and try to rebuild the whole setup. How can I get the translation of C fixed to the world space? I will be ask for two objects.

At the moment I’m a little bit confused from the connection buttons/names and what the meaning could be. In the past I used ProDesktop and I found the names and symbols was easier to understand. but maybe I need some time only. :wink:

What about Bongo 3 C++ SDK ?

  1. Is it binary compatible with Bongo 2 SDK ?
  2. Is the bug with calling SetCurrentRenderPlugIn twice in a row fixed ?

(It makes fun to see the physic working. Nice tool.)

I run in an other issue - changes are not taken in account. For example if I disable physic for E, than nothing changes, the animation looks like before. I expect that the balls are falling through E.

When creating the slider connection you can hit enter when it asks for the second object. This should set it to world. It should say something in the command line to the effect of “Press Enter for World”. I just fixed a bug with this the other day (it’s a WIP :wink: ) so you might need to make sure you don’t have any object preselected for this.

  1. Run Command
  2. Select Object C
  3. Hit enter for world
  4. Then finish making the command

Yep! That’s exactly right. The physics solving doesn’t kick in until you scrub the timeline. In that model the physics preview is enabled so you should see it do the calculation in real time. The physics can take awhile so I don’t calculate again unless I detect a change.

Bongo 3 will have a C++ SDK as well as a .NET SDK. Both are still changing and actively being worked on.

That sounds like expected behavior. Since physics is disabled the object is no longer in the physics simulation.

The problem is: I disabled physic but E is still taking into account and isn’t ignored. Shouldn’t be invisible for the balls?

Same update problem at my fresh redone setup in a second file. Here I removed physics from E and E is ignored by the balls - fine - but now I enabled physic again and the balls are still ignoring E. The precalulation isn’t updated. Looks like the update auto detection doesn’t work right.

This is also something that has since been improved. There should be either BongoForceSolvePhysics or BongoSolvePhysics command in there to force a recalculation.

1 Like

Looks like the info “Press Enter for World” is missing:

Looks like the info “Press Enter for World” is missing:

That’s still an issue in the WIP 4. Should be fixed in the next WIP:

1 Like

My Bongo WIP has expired, and the link above does not seem to lead to the download anymore?

Sorry about that,

We’re working on releasing the next WIP currently

Ok, thanks.

1 Like

if I have already a bongo 2.0 then i upgraded my rhino 5 - Rhino 7 . But Because the the Compatability of the Bongo 2.0 is until rhino 6. Is the Bongo 3.0 is a different purchased or could i Upgrade the version? How much is the cost or additional cost?
thank you.

@sheryl.espiritu Bongo 2 will work just fine in Rhino 7, after the installation it should load into Rhino 7 as well.
Currently all you need in order to try out the Bongo 3 WIP is a Bongo 2 license key. Once Bongo 3 is released it will require a Bongo 3 license key. The licenses for Bongo 3 will be sold when the product is released.

I would like to buy Bongo as I expect to be animating more in the future - I have trialled Bongo 2.0. I am keen on the release of Bongo 3.0. Should I wait until it is released to buy it or will the upgrade be complimentary if I were to buy Bongo 2.0 now? Do you have a release date (ok if vague) for Bongo 3.0?