C4D XL 6.0 INSTANCES Tutorial
by JeremyW
This tutorial will explore some of the many uses of the "InstanceObjects", both in modeling and animation.
An InstanceObject is essentially a null object that acts as reference to another object.
One benefit of this is that the InstanceObject does not have it's own geometry, making for smaller, more manageble files.
As a test of this, I created a simple Poly object and saved the file to my hard drive. File size: 8k
I then made 100 duplicates (standard, not InstanceObject) of the poly. File size: 140k
Removed the duplicates, and made 100 InstanceObjects. File size: 36k
So, while InstanceObjects are not zero impact on file size, they are a substantial saver of disk space. But that's not all...
MODELING
Start by making a spline object. This will be the source of our main objects shape. As in all things C4D, naming is important, as this is how InstanceObjects look for what to instance. Lets call our spline "MasterSpline"
Make 4 InstanceObjects. Function-Duplicate-Generate Instances

Drop the NullObject containing the 4 InstanceObjects into a SweepNurb, Object- ExpandObjectGroup, then deleat empty Null
Open Nurb Dialogue, check Loop and LinearInterpolation.

Lets add a little detail. Make another InstanceObject of MasterSpline. Make a circle spline. Drop both into a SweebNurb Object. Call it "Edge".

Make 3 InstanceObjects of edge rotated around 270 deg. Group these with "Edge" and call the group "Edges"

Now, with the PointTool, try making some changes to MasterSpline.
That's one powerful Spline! Further adjustment of MasterSpline and some changes to the Edge SweepNurb
8
Group all elements and call it MainObject. Now, make an InstanceObject of MainObject. Call it "HERO" Move them apart so that both are visible.
Set MainObject's visibility to hide (red dot). Instances follow the visibility of their source object. It will be useful later on to be able to hide MainObject without losing it's instance, so drop MainObject into a null. Restore MainObject's visibility, but set the Null to Hide. That works better for our purposes.
We will now do all of our animation and other actions on HERO (our InstanceObject). This becomes very useful in terms of creating a flexible work flow, as you will see.
ANIMATION
Let's say we want our HERO to fall to pieces.
Make a Cube, call it "Chunk", then make 5 InstanceObjects of Chunk.
Group them and call the group "Chunks". Place the original "Chunk" in the HIDE null.
Now distribute the 5 InstanceObject chunks around and overlapping HERO.
With "Chunks" selected, Funtions-Randomize, all rotation fields to 90.
Drop Chunks and HERO into a Boole object set to "A subtract B" (the default). Call it "Core"

Make 5 new Boole objects, each set to "A Intersect B". Name them each "Piece" (1-5), and into each, drop one copy of HERO, and a copy of the respective Chunk (1-5). Make sure you add these chunks by making copies of them from the "Chunks" group from "Core". This way, they will be in the exact position and rotaion for each chunk. Group these 5 new Booles and call the group "Pieces"
To clarify what we've done, hide "Core" for the moment to see "Pieces" on their own.

Reset "Core" to be visible. We now have our core and pieces "reassembled", ready to crumble. Any apparent cracks you may see in the editor are actualy not visible once you render, since each piece is a perfect fit.
Tip: since booles can be a bit demanding on the CPU, I would change the Editor LOD (level of detail) way down at this point, to 20% or so. Edit-ProjectSettings-LOD. This will speed up your ability to work in the editor. (in subsequnt views from the editor, I will have set LOD back to 100% for your viewing pleasure)
Let's make things move.
At frame 0, record Position and Rotation keys for all 5 pieces. At frame 30, move eack piece away from the core, and record new key frames. IN the TimeLine, select all tracks and Adjust their lenghts. Sequences-Adjust.
Now move the tracks to create a staggered sequence.

OK. That was a fair bit of work. Now for the big pay off.
Mr. and Ms. Client decide they're not so happy with the way HERO looks. Go back and tweek MasterSpline. Tweek the paramaters of "Circle" in the "Edge" SweepNurb. All your animation work is still intact.
Now Mr. or Ms. Client decides the pieces are too "cube like". OK. Make a Sphere, name it "Chunk".
Next, and this is VERY important, rename the original cube Chunk to something else, "Old Chunk" will do.
The point is that all those myriad instances we created are looking for an object called "Chunk". If it finds more than 1, there will be trouble.
We could now group the entire contents of the project, call it "HERO Crumble", make several instances of "HERO Crumble", and have each instance moving around the scene independantly. We now have multiple heros moving around our scene, all crumbling at the same time.
One last tip. InstanceObjects can have parameter tracks in the TimeLine. So, If you had an alternate character, "Crumble 2", half way through the animation, you could swap in Crumble 2 by adding a key frame.
Get the idea? Hope this has been helpful.
JeremyW