Bongo beginner question

When I set a keyframe at 0 (object selected, empty) and animate a movement at 15, things work as they should. When I insert a second keyframe of a second object (grouped) after the end of the first one at 16, (object selected, empty) and then animate a separate movement, the second object sequence begins at the same time as the first. Why?

When you make a keyframe for an object that doesn’t have a keyframe yet (i.e. It is animated for the first time) automatically a extra keyframe is created at tick 0 with data zero. Hence the movement (or other transformation) is started at tick 0.

When you want the movement to start later you can simply drag the keyframe at tick 0 to a position further on in the timeline. This will automatically be a kopie of the 0 tick. Hence the object will stay put between tick 0 and (e.g.) 8.


Is there any way to avoid this somewhat odd procedure? Seems to add an unnecessary step to remember.

No there isn’t.

In my opinion the procedure isn’t odd. When you initiate animation by telling the computer in animation mode to move the object to position Q, R, S at tick T, there is no way the computer can know where you would like this action to start. Hence it is assumed that you would like it to start at tick 0. Then, when you want it to start elsewhere, you simply move the start-keyframe.

The fact that the 0-keyframe is copied is indeed a bit odd and superfluous. The zero- keyframe at tick 0 can in fact be omitted. It’s probably a leftover from the early days of Bongo. I guess most users are used to it meanwhile.


Again, thanks. I appreciate your expertise and know I’ll have more questions I can’t find the answers to on my own eventually. With that in mind please understand I’m not trying to be argumentative here, I’m
just trying to understand the logic of the procedures so I can get the results I need as fast as possible.
Starting out I somehow assumed that Objects were moved between 2 Keyframes, with the motion beginning at the first and ending at the second. That seemed logical to me.
I also felt each set of keyframes should/would be independent from one another. “Empty” vs. “Precalculated” were hard to interpret even after reading the definitions. Finally getting around to watching the last half of Scott Davidson’s “Intro to Bongo Animation” answered many procedural questions but it was at 53:38 - 55:52 that I got a little, call it “Bongo Synchronicity,” on the subject (copied below):

“I want it to hold still till 3.5 seconds. And the way we do that is… and we need to put a keyframe here
that’s actually the same position it currently is - which sounds odd - but its whats gonna hold it in place.”
Scott Davidson Intro to Bongo Animation

I hope you have the same chuckle I had after hearing it.



Recorded webinars are boring, aren’t they. Hence a joke every now and then…

But I think I see what’s bothering you. It is not a matter of “Empty” vs “Precalculated”.
The matter is that a single keyframe can contain animation data of many different object parameters. Position is only one of them. There is also Rotation (spit for the 3 directions X, Y and Z), Scale (idem) and Morphing. Furthermore there are the attributes ‘Display color’ and ‘Visibility’ and also various material properties.

I hope you meanwhile are acquainted with Bongo’s KeyframeEditor – a very useful instrument. Use the button in the Bongo toolbar image or type the BongoKeyframeEditor command.

In the left section you find the list of the object parameters that can be animated.

Important is that only the parameters that are ‘checked’ (and not grayed-out) are taken in account.

Please take a look at model in attachment.
Both cubes have 3 keyframes. Keyframe 0 and keyframe 70 are identical for both boxes.
KE0 KE70
Keyframe 40 however varies:
KE40-0 KE40-1
For the black cube (Object 0) Rotation Z isn’t ‘marked’, whereas for the red cube it is marked and set to 0.0. This makes that the red cube only starts twirling at tick 40.

What I tried to explain above – namely that zero datum is installed at tick zero for new initiated animation – applies for every single ‘parameter’ of an object.
Pleas observe the workflow in this movie:

Rotation is only initiated in the second phase when the RotationZ datum is entered in the input box. Up until then no RotationZ data has been recorded for this object. Hence (since the software cannot guess where you want the action to start, although in your mind it is obvious: this should be tick 40) RotationZ is marked in (the already existing) keyframe at tick 0 and value 0.00 entered.

Note! The Rotation Z value in keyframe 40 is not affected. To get the cube move till tick 40 and only start rotation then (like the red cube does) you need to manually enter 0.00 value in keyframe 40 – either via the input-box in Animation mode (record) or via the KeyframeEditor.

Some extras:

When the list doesn’t fully show, you have to click “Default” at the top and unmark the option “only show animated parameters”.

Notice that for Position the 3 parameters X, Y and Z are as if glued together. This is because Bongo has a mechanism called ‘3D tweening’ which makes complex spatial (3D) movements fluent. Unmarking the “3D tweening” option in the Bongo Object Properties panel cancels this system and liberates the 3 Position parameters X, Y and Z.
image image
It is the 3D-tweening that helps Scott in his webinar to keep the cup moving horizontal and only drop at tick 30. When he makes keyframe 30 the Positions X and Z are recorded simultaneous to Position Y because of the 3D-tweening.

At the end of the movie Rotation Z in the KeyframeEditor shows the value of 77.143 (grayed-out). That’s the degree of rotation at tick 40, being in-between the value 0 at tick 0 and 135 at tick 70. These are the values you get by creating a “Precalculated” keyframe.

One last thing:

While making this reply I came across a minor bug. When both cubes are selected in the KeyframeEditor Rotation Z is displayed ‘marked’ and ‘zero’ (the data of object 1). It should remain blank to indicate the data of both objects are different. I’ll put it on the buglist.


1 Like