Bongo 3 WIP 4

Bongo 3.0 WIP 4 Now Available

Hi all,

** PLEASE NOTE - THIS IS WORK IN PROGRESS SOFTWARE **

USE AT YOUR OWN RISK.

Work-In-Progress versions are not production ready and may hang or crash.

Bongo 2.0 users are encouraged to download and try this WIP release of the animation plug-in for Rhino 6, Bongo 3.0.

Bongo 3.0 WIP 4 is now available from https://www.rhino3d.com/download/bongo/3/wip

New Features:
-Improved Connections Solver
-Improved Physics Workflow (BongoAddForceKeyframe and BongoAddTorqueKeyframe Commands, Physics Substepping Document Property)
-Convert IK models to Connections (BongoConvertIkToConnections Command)
Ball Pusher
Rhino 7 GIF Model: Ball Pusher.3dm (666.9 KB)
-Full changelog available here

Rhino versions supported: Beta testing Bongo 3.0 is limited to Bongo 2.0 users. Bongo 3.0 requires a Bongo 2.0 CD key. Latest version of Rhino 6.0 is required to install Bongo 2.0 and can be downloaded from http://www.rhino3d.com/download.htm

Notes: This is the current work-in-progress release of Bongo 3.0 for Rhino. The product is in the very early stages of development any will probably change a great deal before release. This may include the file format, so please do not rely on Bongo 3.0 models working in the future. Bongo 3.0 will read Bongo 2.0 files, but will save Bongo 3.0 data only. This data cannot be read by Bongo 2.0, so please backup any files before using them in Bongo 3.0.

7 Likes

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

2 Likes

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

Sure!
image

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.
So:

  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:
image

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:
https://mcneel.myjetbrains.com/youtrack/issue/BO-3138

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