<-previous
index -- map
next->
Examples

In this section, I'll provide some simple examples of basic techniques in which the use of Puppeteer might be very helpful. I hope these offer enough of a basis to dream up your own uses.

 

pointing a foot in the right direction



Imagine you have set up a character with IK legs, with the foot bones targeted at null objects elswhere in the scene. The way IK in Cinema4D works, though, means that these foot bones will not rotate like you probably want them to. By using Puppeteer to give them the same rotation as their IK targets, you'll be able to animate both the whole leg and the foot rotation with a single target object. Here's how:
I'm assuming you already have set up the leg and it's IK correctly. Select the foot bone (the one with the IK target expression attached) and add a new Puppeteer tag. Drag the tag to behind the IK expression tag, as you want Cinema4D to first calculate the IK on the leg, then point the foot in the right direction, and not the other way around (which actually simply doesn't work). For safety, turn the tag off by clicking on the Active checkbox in the Puppeteer dialog. Next, select your IK target object and in the Source object area, select Selected object from the popup-menu. The name of your target is now in the namefield of the source object. You can leave the Destination object at This object.
Next, consider that the footbone object and the IK target are in entirely different parts of the hierarchy, but you still want them to exhibit the same rotation in world space. So you need to activate the global checkboxes in both the source and the destination coordinates sections. Next, you only need the rotation to be transferred from the target to the footbone. Click in the Filter areas on the position and scale labels to turn them all off. Now, Activate the tag again, and you're done!

 

bending a spine with just one bone



One of the most flexible areas of a character has to be the spine. Often a spine contains five or more bones. Of course, it's ridiculous to always rotate all of these by hand. Using Puppeteer it's a no-brainer to bend the whole spine by just rotating the root bone.
Consider you have a spine like a chain of five bones. We want this spine to bend by just rotating it's first bone. First you should take care that this bone has the same rotation (relative to it's parent) as it's child bones have. Next select the second spine bone, add a Puppeteer tag, and turn off all channels but the rotation by clicking on the position and scale labels in both filters. Next, set the source object to Parent object, and click Apply. After this, right-click on the Puppeteer tag in the object manager, and select Copy tag to children. That's all! You can now select the first spine bone, rotate it, and the other spine bones will bend with it.
For some more control, try opening up the various spine-bones' Puppeteer tags, and scale the curve. You'll see that you are easily able to tweak the amount by which the spinebones follow the rotation of their parent, allowing for a lot of different ways to bend the spine, or even turn the spine bones into more of a snake-like object.

 

limiting an object's rotation



Quite often, it is very handy to limit an object's rotation, for example limit the rotation of a lower arm so it will never make the elbow bend in a peculiar way. For this, you can use a special Puppeteer trick, namely setting both the source and destination object to the same object, and limiting the rotation.
If you don't have an elbow ready, simply make a quick two-bone chain. Select the elbow bone. Add a Puppeteer tag to it, and set both source and destination to This object. Next, turn off all channels except the rotation channels. You can as well leave all channels open, but that would mean that you won't be able to move and scale the bone anymore, as we're going to be limiting the bone. Disable the tag by de-activating the Active checkbox. Okay, the elbow bone is already in one extreme position. Press both the source and destination node 1 C button. Next, rotate the elbow to it's other extreme position. Once there, press both the node 2 C buttons. You have now set both the source and target nodes to the two extreme positions of the elbow. Next comes the limiting. In the curve settings area, set both limits to End. Turn on the tag again by clicking the Active checkbox. Ready! You won't be able to rotate the elbow bone beyond it's limits anymore!

 

<-previous
index -- map
next->