Animation Hierarchies

The Basics

Animated objects can have parents and children. This is displayed in the Animation Manager on the hierarchy tree. Each object is either the child of the Animated Objects item or the child of another object. When an object is the child of another object, it is also transformed by the transformations applied to its parent in addition to its own transformations.

For example, if a car is animated moving in space, the four wheels can be made children of the car by dragging the wheels onto the car object in the Animation Manager (or using the BongoSelectChildren or BongoLinkChain command). The wheel objects will now move with the car and stay in the correct place. Rotation can then be applied to the wheels by selecting them and using the transformation slider to rotate them around the correct axis. They will then move with the car (using the parent’s transformation) and rotate around their own axes.

When a parent/child relationship is in force between two objects, the objects are linked in the Rhinoceros viewports by a dotted line. Parent/child relationships can be stacked to any depth—objects can have grandchildren, great-grandchildren, and so on. Children of the same object are called siblings. When creating a parent/child relationship with the BongoSelectChildren command, you have the option of snapping the child to the parent. The SnapIntoPlace option moves the child object’s pivot through the same transformation as that currently applied to the parent. If SnapIntoPlace is not used, the child object will not move during the operation.

Use Proxy Objects as Parents

A proxy object is a Rhino point object whose purpose is to control other geometry by acting as a parent object. Proxy objects are sometimes called controller objects. When several objects that have the same proxy object as their parent are transformed in animate mode, the transformation is applied to the parent proxy object rather than the selected objects. The same is true if children and their parent are transformed—only the proxy object will receive the transformation keyframes.

A good use for proxy objects is animating objects grouped with the Rhino Group command. In Rhino, grouped objects are not a single object, the objects simply all select together. This can create problems when animating a group because each object in the group receives its own pivot and transformations act around that pivot.

Animating groups of objects in complex models can be cumbersome. In many cases, it is a good idea to use Rhino blocks to combine multiple objects into a single object for animation instead of using groups.

Example, Proxy Point

To create a single pivot point for a group of objects

  1. Open up the model ProxyPoint.3dm.
    Example 1
  2. From the Bongo Menu Select Utilities > Place Proxy Point or use the BongoPlaceProxyPoint command or Place Proxy Point icon in the toolbar. Icon
  3. When prompt to Place proxy, type 0 and press enter. This will place the proxy in the middle of the object and at the 0,0 on the c-plane.
  4. When prompt to to Select children, select all the box objects. Press enter when done. Example 2

Now the Proxy Point is the parent of all the boxes, and therefor it controls them. If we select the proxy point and add rotation to the z-axis, the boxes will rotate like a propeller around the proxy point.

Click to play example video:

Tutorial: Make a pull toy

Link the parts together

When you have a model that includes many connected parts, you can set up parent/child relationships between objects. Parent objects control their child objects. This lets you animate the parent object in the assembly and the child objects will move in relation to the parent.

Pull toy 01

  1. Open the model PullToy.3dm.
  2. Make sure you have the Bongo Animation Manager -panel open. you can do it the following ways:
  • From the Bongo Menu Select Animation Manager.
  • Use the BongoAnimationManager command.
  • Right Click the Panels Tabs and choose Bongo from the Panels list.
  • Click on the Animation Manager icon in the toolbar. Animation Manager icon

Now we would like the whole Toy to move and that the wheels would roll at the same time.

  1. Select the red body of the Toy.
  2. Press the Animate button and move the body to where you want the pull toy to end up. Move either by using the Move -command, Gumball, or by just dragging the object.
    Pull toy 02
  3. Press the Animate -button to disable the animation mode.

If you press play, you can see that only the body moves. Next we will make all the other objects children of the red body, so that they follow along.

  1. Select the red body.
  2. From the Bongo Menu Select Utilities > Select Children or use the BongoSelectChildren command or click on the Select Children icon in the toolbar.
  3. At the prompt Select children. Press Enter when done ( SnapIntoPlace=Yes ), select the rest of the Pull Toy and press Enter.

The rest of the pull toy should now start to move with the red body object.

To make the wheels rotate, you can either make the wheels rotate one by one, or you can set up the hierarchies (parent and child relations) to make it easier for you. We will use the parent and child relations to set up the wheels roatation.

  1. Select the axle between the front wheels.
    Pull toy 03
  2. From the Bongo Menu Select Utilities > Select Children or use the BongoSelectChildren command or click on the Select Children icon in the toolbar.
  3. At the prompt Select children. Press Enter when done ( SnapIntoPlace=Yes ), select the front wheels and the screws and press Enter.
    Pull toy 04
  4. Select the axle between the back wheels.
  5. Press Enter to activate the last command, the BongoSelectChildren command.
  6. At the prompt Select children. Press Enter when done ( SnapIntoPlace=Yes ), select the back wheels and the screws and press Enter.
    Pull toy 05

Adding the rotation to the wheels, we can do both the front and the back wheels at the same time.

  1. Select the front and the back wheels axle. To multiple select, press shift when you select the second object.
  2. Move the timeline slider to tick 99.
  3. Press the Animate -button
  4. Switch to Rotation Mode on the timeline, and edit the y-axis angle value to be -360. (The minus will make the rotation go counter clockwise, which is what we want in order for the wheels to move forward in this model).

Now we should have a toy car that move forward. Click to play example video: