3D Animation Workshop: Lesson 41: Building in Cosmo Worlds
Lesson 41 - Building in Cosmo Worlds - Part 2
The house is assembled from many separate shape nodes, and each such node is nested in a separate transform node. This allows us to transform the entire unit as a whole, or any separate part. Here is the scene graph of the VRML nodes as displayed in the Cosmo Worlds Outline Editor.
Notice that the windows have been instanced (or "cloned" in the language of Cosmo Worlds). There is only one model of the window, but it is used twice. In order to accommodate this approach, Worlds uses nested transform nodes. If the upper level transform is selected (either first_window or second_window), only the single window will be translated or scaled or rotated. The screen shot shows both the selection in the Outline Editor and the DynaBox transform tool around the selected object.
If we select either of the nested transforms (both called "window"), both will be selected, and any operation will apply to both. These are both instances of a single object, and the DynaBox appears around each.
On the other hand, if we select the root transform node of the house, one DynaBox is applied to the entire object (even though it is composed of separate objects).
The use of the DynaBox for scaling and rotation is straightforward. The dragging on the green handles rotates the object around its pivot point, and pulling on the white handles scales the object. Control and shift keys modify these processes in obvious ways. But translations with the DynaBox are something unique to Cosmo Worlds. In most 3D applications, translations are inherently made in world space, that is, with respect to the world coordinate system based at the origin. This can generally be overridden to use the local coordinates of a given object, but translations in local space are relatively unusual. But in Cosmo Worlds, the DynaBox inherently causes translations to be made in local space, and this takes a moment to get used to.
In this screen shot, the DynaBox of the house is aligned with world space. The sides of the DynaBox are parallel or perpendicular to the lines of the grid defining world space coordinates.
When we translate the box (with the house in it), the movement follows the grid lines, so we may be confused into thinking that we are operating in world space. But we are not. If the house is rotated (by turning the green handles), the sides of the DynaBox are no longer square to the world space grid.
If the house is now translated, it moves parallel or perpendicular to the sides of the DynaBox, and not along the world space grid. At first, this is confusing, but there is a reason for it.
|To Continue to Part 3, or Return to Part 1, Use Arrow Buttons||
Created: May 26, 1998
Revised: May 26, 1998