CSTools Full Docs

Updated 12/03/07

These are a set of plug-ins using Xpresso and UI objects. They were made to speed up my workflow and I use them all the time so I thought I would share.

Drop them into your MAXON/Cinema 4D/Library/Objects folder so you can have them inside the app in the "Object Library".

Need at least C4D 10.1 / no modules needed except where noted

SIneNull, MoveNull, VibrateNull(1 and 2), and PathNull I consider a family that act similar to "Behaviors" in Apple's Motion. You can nest them inside each other for very complex animations.

What's new 12/03/07:

CS_Spriticles: Sprite based particle tool.

Table of Contents:
1. CS_Daylight : Light rig for instant daylight lighting or classic 3 light setup.
2. CS_KinoSquare : Light Rig for motion graphics
3. CS_SineNull : Parent objects to this null. Creates cycles with noise options
4. CS_MoveNull: Parent objects to this for constant speed movement or rotations
5. CS_Fog : Instant Fog/Haze with easy control
6. CS_3DStroke : Simulation of Trapcode's 3D Stroke but in true 3D
7. CS_EasyCam : Camera movement system for basic film moves with path bend and vibration options
8. CS_Flicker : For simulating candle light, plasma balls, other random light effects
9. CS_Vibrate : A much easier version of C4D's vibrate tag
10. CS_Amblight : This is to create easy "room tone" lighting from above.
11. CS_AreaLight : This is a regular area light but with some easy falloff, shadow, color, and size settings.
12. CS_WalkCycle (BETA) : Creates procedural walk cycles. Only supports feet and hips for now.
13. CS_Trackspot : Not a useful tool really, but I built it for a project so I threw it in. It simulates an intelligent lighting unit.
14. CS_Flux : This is not the same, but inspired from another plug-in.
15. CS_LineGrow: Growing lines with an attached tip
16. CS_Bloom: Make vectors into geometry and make them bloom
17. CS_PathNull : Keyframeless Alighn to Spline with null.
18. CS_MoCam: 8 Point Camera system for MoGraph.
19. CS_EasyCam2: Like original but using MoCam system and diff noise functions.
20 CS_DocuCam: Used for realistic handheld with snap zooms.
21. CS_ActionCam: Michael Bay algorithm attached to a cam.
22. CS_VibrateNull2: Uses turbulent function instead of noise. Allows channel mixing.
23 CS_Cubes: First tool based on Instance replication. Fun with cubes.
24. CS_Spriticles (NEW): Sprite based particle tool.

1. "CS_Daylight"

What for: I find myself constantly needing the simulation of sky and sun lighting but with a key light as well. Just like on film shoots, it's pretty standard to put the sun to the back of the subject (as a rim light) while using either large 12 x Muslin screen for bounce or blowing HMI's through diffusion as a key light. Well setting up a few infinite lights is easy, but the results are very harsh. The Sky object is nice for BG look and for reflections or some GI, but for non-GI I find the default lighting on objects to be once again harsh. To me the sweetest looking lighting is a Sky dome area light for the blue sky ambiance, And a large partial dome as an area light for the rim light so it's really soft and wraps around objects. Then an even smaller semi-dome as a keylight. Well, this can be built easily using the C4D 9.5's ability to turn any poly object into an area light. However, Once built, the Open GL view isn't remotely accurate to what you get when you render. Everything is blown out with the wrong light direction.

So I wanted an object that I could add to a scene and have an instant build of a sky dome with partial domes for Rim light and key, be able to control their relative intensity mix, have an Master intensity. As well as other controls that make it simple to set up and tweak. But still have the Open GL interface be accurate.

This is why I made this "Daylight' object. In the editor it uses an array of omni lights that are roughly matched to the rendered results of the area lights. So you can set the controls intuitively in the editor display. Then when you render, the omni lights don't play, but the area lights do. The result is a very smooth, natural looking render which roughly matched what you see in the editor. You can in seconds add daylight lighting to the scene and quickly tweak it to match regular daylight or sunset tones.

In the editor most of the objects are hidden. But there are arrows and circles to show how big it is and what direction the rim and key are pointing.


Key Level: Relative mix of the Keylight
Rim Level: Relative mix of the rim light (Sun)
Sky Fill: Relative mix of the bluish sky dome
Key Bias: Rotates the key light around the center of the world to offset the angle of the key for a more modeled look.
Rotation: Rotates the entire rig so you can quicly dial in the angle you need.
Size: Rescales the entire rig from smallish to pretty huge.
Master Intensity: Self Explanatory
Sky Colors: This dials in the amount the lights take on Sky/Sun colors. 0% is all white, 100% is full coloring.
KeyColorMax: This sets the max that the keylight takes on the sky colors. Often the keylight isn't quite as warm as the sun so this is where you can bring it back a bit to a cleaner tone like film set lighting often is.
SunColorBias: The sun defaults to what I think is a daylight sun color, but this slider will swing the hue a bit on both ends. For example for a more sunset tone swing it left to make the sun colors more orange than yellow.
SkyColorBias: Same with the sky dome. For sunsets, swing it to the right to take more of a purple tone than sky blue.

2. "CS_KinoSquare"

What For: I have always liked KinoFlo lighting. Especially when used in reflections. You see it on almost every hip-hop video on MTV. Tubes reflecting in sunglasses, Glow on the face, etc. You can get a decent approximation of this look with area lights in C4D. The look is still there in the way light hits the objects, but Especially with some reflectivity, the look of the tubes in the reflections gives it a really nice touch. I also wanted a set and forget lighting rig that is very flexible and artistic looking. So I made "KinoSquare".

What it is: It's a square of lighting tubes as area lights. Try making a floor object and throw some primitives in there. Make a material with some reflectivity and throw it on the floor and objects. Add KinoSquare to your project and just have fun tweaking the sliders.


Intensity: Overall brightness of the rig
Rim Level: Relative brightness compared to the rest of the rig (usually looks great being a lot brighter than the rest as a backlight)
KeyBias: Shifts the Front tube left or right to offset the angle it hits the subject for a more modeled look.
Fill Level: Relative brightness of the 2 side tubes.
Height: This moves the rig in the Y. Yeah you could do this with your move tool, but I find it much handier to use this slider for quick adjustments.
Rotation: Rotates the entire rig to set the preffered angle
Size: This one slider resizes the whole rig. Obviously you can make it larger for bigger scenes, but even in small scenes changing the size really effects the look of the lighting (especially scenes with a floor)
Seen in Reflections and Seen in Render check boxes: This is just a quick convenient way to set these 2 settings to all 4 lights with one click.

3. "CS_SineNull"

What For: I find that so many things in nature move in sine like cycles with some random motion here and there. In Maya I was always writing expressions that involved sin, cos, and noise functions to do animation for me. In C4D these are in the Trig Xpresso node. So I wanted a null that would move using various combinations of sin, cos, and noise that you can parent objects to to aquire this motion.

This has been completely reworked for the 10.1 version. All rotation channels have been added as well. Also now instead of noise that is added to the sin motion, the noise(randomness) is defined per position or rotation channel and it affects the frequency and amplitude of the sin motion. The 'COS' checkbox has been removed and there is now a 'phase' slider for every channel. This becomes very powerful when more than one channel has the same frequency. For example. If you were doing a fish head swimming back and forth you would set a X amount and a H amount at the same frequency so it turns while it shifts back and forth. But without a phase option it would not move very fishlike. So this is where you can dial around the phase of the parameters so that certain channels lead or follow other channels. This can change the entire 'feel' of the animation making it seem "lazy" or "aggressive". Also play with setting some channels at exact multiples of other channels e.g. 20% on one and 10% or 40% on another.


X_Amplitude: Er..Amplitude of the sine motion
X_Frequency: You guessed it
X_Phase : Shift it 180 degrees out of phase positive or negative to offset the motion from other channels. Only useful if other channels are at the same frequency or at exact multiples.
X_Randomness: Sets the amount of randomness of amp and freq. This is less like vibration and more like how the amp and freq alters over time.
X_Random Frequency: Frequency of the random changes.

Then the same sliders mentioned above are also for Y, Z, H, P, B.

4. "CS_MoveNull" (Updated 7/07)

What For: Those times when you just want to set something in constant motion. Just dial in a direction or rotation speed on any of the six channels and it will do that forever. No need for keys or looping.

Added: Put in the Frame Start/Duration/Timing Curve functions to it. So instead of it being infinite, this adds a ton more usefulness to it by setting a duration and then having it get there through a timing curve. If you still want it to go forever. Make the timing curve linear and set the duration to at least the length of your project.


Frame Start: When the animation begins
Duration(Sec): How long the entire move takes
Timing Curve: Normalized graph you can edit to shape the speed.
X Speed
Y Speed
Z Speed
H Speed
P Speed
B Speed

5. CS_Fog

What For: When I want to add fog I find it always takes too long to futz with the process. So I made this tool to set and forget. When you open it, you'll see 3 rings. Set the big one in the center just bigger than the objects in your scene. Set the 2 outer rings using the height slider to be just above your highest object (or lower if you want a visible fog line). Then that's it if you want an instant atmospheric haze. But the convenient color and thickness sliders are there for you to tweak.


Size: Sets the size of the fog object. Set slightly bigger than your scene
Height: Sets the vertical size of the fog. Set just higher than your highest object
Thickness: How thick you want the fog
Brightness: How bright. 70% is usually a good number
Color: Color of fog

6. CS_3DStroke

What For: If you've ever played with Trapcode's 3D stroke, this is a true 3D version of that. You'll see a spline drop box. Just create a spline and drop it in that. You'll see your tapered stroke appear on it. Tweak the offset slider and you'll see it travel across the spline


Length: How much of the spline does the stroke take up
Thickness: How the thick the Stroke is
TaperFalloff: How thick or sharp the tapering of the ends are.
Offset: This moves or offsets it along the spline
PathSpline: Create a spline for the stroke to travel on and drop it in here

7. CS_EasyCam:

What is it:

This is my favorite tool by far. Most camera moves on film shoots are pretty basic, Some dolly track or a Jib move is the most you often do. For this I wanted a system where I could place a camera at the starting frame, then offset a second camera from this point to frame up the final position. Then a 3rd camera will morph between them. I want it to be keyframeless. So it will have a duration slider and a frame start slider. It will have a normalized motion graph so I can shape the velocity curve right in the AM. That's what EZ Cam does. But there's more.


Merge in EZCam (or better yet keep it in your object library). In the camera pull down list you will see it added 3 cameras: EZCam_S (Start), EZCam_E (End), and EZCAM which is the render out cam that does the motion.

Rename the EZCam object in the OM to something that describes the shot like "Wide shot". You will see that all 3 cams rename themselves.

So select the _S cam and use your normal cam tools to frame up the beginning of the shot. You'll see there is handy focal length slider in the AM which you can tweak. Once you like your position, you'll need to unlock the _E camera which always rides along with the _S cam until you unmarry them. You'll see the "Lock E to S" tick box is checked, uncheck it. Now select the _E cam. You'll see that it's in the exact same position where you left the _S cam. But now move your _E cam to frame up the end of the shot. Now finally select the third cam and hit play. You'll see it morphs between the 2 positions along with their angles.

It defaults to a 3 second move, but you'll see you can change the duration and delay the frame start. Also you see I have the motion graph defaulted to an easy ease. Tweak the points or add and delete your own to change the cameras velocity.

Now for added features:

You'll see there are path bend options. If you go back to your editor cam and look at the third cam you'll see it has a path it follows (direct line between the _S and _E cams). You can warp that path to create bended track or the arc of a jib. Set the bend strength and you'll see the path bend out. Then the angle spins the bend angle around. Then you'll see the bias weights it to one side or the other.

Vibrations. No cam is complete without real world jitter. There is the vibration section. If you leave the the 'sync to veocity' off, the camera always shakes. If you turn the 'sync to velocity' on it will shake more the faster the cam goes. So if the camera stops, the shaking stops. If the that option is on, then you can set the 'velocity inertia' up so that the camera settles down slightly delayed. So if a cam comes to an abrupt stop it would jostle a little till it stopped.

The Amplitude and Frequency are controls for the noise functions. The POS<->ROT BIAS lets you set the balance between the actual position of the camera shakes or it's rotations. For example if sitting on a ship in the ocean you would set all position. If simulating a handheld look it would be more about rotations.

Side note. If you want a camera to not move but like using the vibration functions, simply keep the "Lock E to S" switch on. So wherever you move the Start cam, the End cam is the same. So it's like having a locked off cam but you can use the vibrations. Rememebr to turn of Velocity though. Because if the cam isn't moving the vibration won't kick in. With velocity off, it will always vibrate.

Have fun. Reading this is harder than using it. It's pretty straight forward.


(checkbox) Lock E to S: As long as this is checked, the _E cam is always in the exact location of the _S cam
Focal Length: Set the focal length here. It applies to all 3 cams
Duration(sec): This is the amount of time the full move takes
Frame Start: Instead of always starting at 0, you can set any frame for your cam to start it's move
Timing Curve: This is a normalized graph showing the timing of your camera move. It defaults to an easy ease

Angle: The angle the bend bends out to
Bias: The bend is a 50/50 bend unless you use this to weight it towards the start or end
Strength: How much of a bend. This at zero leaves the path straight

(checkbox) Sync to Velocity: When this is checked, the cam vibrates into proportion of it's velocity rather than non-stop(checkbox off).
Velocity Inertia: When the Checkbox is on, this is the lag on the vibrate so it appears to have some inertia when the cam comes to a stop
Amplitude: Vibration amount
Frequency: Vibration frequency
Pos<->Rot Bias: Balances the vibration acting on more of the rotations or the position of the cams.

8. CS_Flicker

What For: Somebody on C4D Cafe asked for this. It's to create flicker or plasma ball effects (and I'm sure a bunch of other stuff). It's 3 lights under the control of the sliders as described below:

Intensity (overall intensity)
IntensityAmp (amount of variation of light intensity)
IntensityFreq (Speed of variation)
Size (size of 3 light rig)
SizeAmp (Size variation amount)
SizeFreq (Variation freq)
VibrateAmp (Actual wobble of the lights themselves)
VibrateFreq (Speed of wobble)
Light1 Color
Light2 Color
Light3 Color

9. CS_VibrateNull

What For: This is to parent something to that you want to have vibrations. It's a much easier version of the vibrate tag.

Amplitude: Amount of vibration
Frequency: Speed of vibration
Pos<->Rot Bias: Balances between more vibration of the rotation or position of the null
(Checkboxes) X Y Z H P B: These 6 checkboxes turns on/off each channel so you don't have to vibrate everything

10. CS_AmbLight

What for: The famous DP Conrad Hall used to start lighting a room by bouncing a dim light of the ceiling. He called it "Room tone". It's a nice effect and I use it a lot when lighting a 3D scene. This tool is a quick way to dial it in:

Note: The light defaults to not having an effect in the render window. Render to see the effect or turn on it's visibility in the editor if you wish.


Size: Size of light coverage
Intensity: Brightness. Usually set pretty low.
Height: Quick slider to float it above your scene
Quality: This defaults to a low number so it will look kind of grainy. For final renders crank it up. It affects the shadow accuracy, and min and max samples.
Color: Self explanatory

11. CS_AreaLight

What For: I use area lights a lot. I treat them like large muslin silks on set. I like the falloff set to scale in size to the light. So this tool does this with some other convenient sliders:


Size: Size of light. It always stays square.
Intensity: Brightness
Color: You guessed it.
Falloff (checkbox): Turns on and off falloff (set to inverse square)
Falloff Ratio: The falloff always changes in proportion to the size of the light. This dials it so it always stays between the same size as the light to twice as big as the light.
Shadow (checkbox) : Turns on area shadows.
Quality: Defaults to a low number so it may look grainy. For final render crank it up.

12. CS_Walk Cycle (beta)

Note: Only supports feet and hips for now. The UI is a mess.


Grab a rigged character. Most of the free ones in the content browser work fine with it. Once your character is loaded. merge in Walkcycle.

If you look at the user switches there is one called "ACTIVE". It defaults to off. Leave it that way.

Now twirl down the Walkcycle object and you'll see some nulls. The ones of use are the left and right feet, the hip and the mover.

Usually there are controllers with a rigged character. So just move the controllers out of the hierarchy they are in currently and drop them under the respective null in Walk cycle.

So fine the Left Foot controller and drop it inside the walk cycle left foot controller, etc. Find the root or hip controller and drop it under hip. Finally there is usually a master mover controller that moves the whole rig. Drop that under the walkcycle mover null.

Once you have them under the walk cycle control. Click on the ACTIVE switch. You should see the character "pop" into the walk pose. Hit Play and dork with the sliders to customize the walk. Turn on the move switch to make your character actually travel on screen.

If something doesn't work, then you're not parenting the controllers right. But it's pretty simple.

13. CS_Trackspot:

What for: This is a simulation of the old High End Systems Trackspot. It's your typical intelligent lighting unit you see in clubs and in concerts. I made one with controls so I added it here. The sliders explain themselves.

14. CS_Flux

What For: Inspired by an AE plug-in to create weird flowing shapes. This starts with a simple plane. Use the vector controls to tweak it all to hell. Use the 2 formulas at different settings and offsets to create complex oscillations. Use the bends and warps to create very complex shapes. I didn't describe the sliders here for 2 reasons: One I'm too lazy right now and two, it's really better to just tweak the sliders till you find something you like.

15. CS_LineGrow

What For: Growing lines with some kind of a tip. You supply a spline for the line and a profile of the tip and drop them in the right boxes.

Directions: Create a spline. Make sure of 2 things for consistency: 1. That the coords of the spline are zeroed out. Doesn't matter where you create it in the world as long as it's zeroed out. If the tip doesn't track along near the spline, then your not zeroed. Also on the Spline path, it's better if the intermediate points are set to 'Uniform'. You don't HAVE to, but the timing curve will be far more accurate if you do. For the tip create a closed spline (or primitive) on the XZ plane and drop that into the TipSpline box. Zero out the coords. You may want to uncenter the anchor point. For example if your are making a leaf for the tip, you would want to move the anchor point to the stem area.


Frame Start: When the animation begins
Duration(Sec): How long the entire move takes
Timing Curve: Normalized graph you can edit to shape the speed.
PathSpline (dropbox): Create the path spline as described above and drop in here.
TipShapeSpline(XZ) (dropbox) : Create a tip shape spline on the XZ plane and drop in here.
Length: Percent of the total path the line shape takes up.
Width: Width of the line
Thickness: This effects the line and the tip
Roundness: This effects the line and tip.
Shape: This is the SweepNurbs Scale widget to shape the thickness of the line.
Tip Visible: If you just want a line and no tip, then turn this off.
Tip Offset: Depending on the size, shape, and aspect of the tip, use this to make it connect back to the line.
Tip Rotation: If you didn't orient your tip spline correctly, you can do it here
Tip Twist: Self Explanatory
Tip Scale: This is for changing the aspect ratio of the tip

16. CS_Bloom

What For: We've all seen it a million times. vector like shapes "budding" over a handful of frames. Drop a spline shape into the box and left alone it will make it into geometry, make it grow out of nothing , get a little bigger than normal, then settle into it's final size and shape all while having a subtle twisting motion. But of course you can change it how you wish.


Shape Spline (XZ) (dropbox) : Create a closed spline (or primitive) and drop it in here.
Thickness: How thick the extrude is.
Roundness: The radius of the fillet
Frame Start: When the animation begins
Duration(sec): Length of time of the complete animation
Scale Curve(spline widget): This is the universal scale curve over time
Rotation Curve(Spline Widget): This is the rotation over time
Stretch Curve(Spline Widget): This is the relative scale over time. It defaults to .5 but if you want to make a leaf stretch out for example before going to it's final shape then disrupt the curve 's middle point.

17. CS_PathNull

What for: This widget is really just an align to spline tag doing it's usual work. However, I've added the patented (not really) Framestart/Duration/Timing Curve functions to it as well as connect it to a null. So it's a mild convenience if you want to just drop in a spline and parent something to the null and get on with it.


PathSpline (Dropbox): Create your travel path and drop it in here.
Frame Start: When the animation begins
Duration(Sec): How long the entire move takes
Tangential (Checkbox): Just a link to the tag setting.
Timing Curve: Normalized graph you can edit to shape the speed.

18. CS_MoCam:

What for: The common need in MoGraph where there is one continuous camera move that pops between angles and stays at each stop one for a while.


First Things: After adding Mocam, twirl down the main null and you'll see a group of 8 "Waypoint" cameras. Each of these are for moving in 3D space where you want the start (Waypoint1) and the next 7 stops to be. In the C4D camera list you'll see the 8 Waypoints and the render cam ("MoCam"). The Waypoints can be moved out of the Main null hierarchy if you wish. In fact you can do whatever you want with them. For example, place one under a CS_Vibrate null and that particular stop will vibrate just like the Waypoint cam itself. Maybe attach one of the Waypoints to a CS_Movenull set to rotate around a graphic. When the MoCam gets to that waypoint it will take on the rotations of that waypoint before it moves on.

Use the "Target Distance": A very important part of the camera morphing between Waypoints is utilizing the camera's built in "Target Distance" as an orbiting fulcrum. The "Target Distance" is found in the "Depth" section of each Waypoint. It can be most easily grabbed in the viewpoint as the centered Orange dot sticking out of each camera. As the MoCam morphs between waypoints, it uses the distance of the "Target Distance" to rotate around to create curved flight paths. So as the MoCam transitions from one Waypoint to another , if you aren't liking how it "looks-at" on it's travels, change the "Target Distance" parameters on each Waypoint to change how it travels. A good rule of thumb is to set the Target Distance so it is touching the subject you want to focus on (like if you were setting it for DOF focus).

Mad Props: I want to send a couple of shout outs for this. First is Basilisk for talking me into making this and helping with ideas. And second a huge thanks to Lennart(TCA Studios) for not only helping me with a Rotation problem but also being cool that this cam system is very close in concept to his "SteadyGlide" where I got the idea for using the "Target Distance" as the orbiting point. If you want the fully krunkest Camera system, get his "SteadyCam Pro" package.


Waypoints Visibilty (checkbox): This globally turns on/off the visibility of the 8 Waypoint cams

Per Waypoint:
FrameStart: This is only on Waypoint1. Set this to delay when the animation begins.
Hold Frames: This is on Waypoint 2 onwards. At each stop this can be set positive so that the cam stalls at each waypoint for a while. But this can also be set in negative values for the MoCam to never really settle in. It will become a soft move passing by the waypoint the way a spline softly moves between B-Spline points. It's easier to just do than to explain.
Duration(sec): Set in seconds. Length of time of each cam move. All the Waypoints shift in time per each of the other's setting. So if you change the duration or hold frames of anyone of them the others shift in relation.
EaseOut: zero is linear. 100% is extremely eased. This is the curve leaving the current waypoint.
EaseIn: This is the ease of the camera arriving at the next waypoint.
Focal Length: Each Waypoint has it's own Focal length set here.
Active(Check box): The first 2 cams are always active but from Waypoint 3 on, this makes them part of the whole move. If you want less than 7 moves between 8 points then shut of the

Waypoints you don't need. The Active switch also effects the visibility of it's respective Waypoint. If it's not being used, it won't be visible.
Match Prev Waypoint(Check box): This is the same as the "Lock E to S" in CS_EasyCam. It's mostly used so that when you want to move to setting the next waypoint it's easier to do it where you just dropped the last waypoint rather than from zero. When this checkbox is on, the current cam has the same rot and pos as it's previous waypoint (although does not share focal length or target distance

Target Distance: This is not in the UI, this is in each Waypoint cam itself. Drag the Target Distance widget in the viewport or set it in the "Depth" tab of each Waypoint cam. This is used for camera rotations as the MoCam travels from point to point.

19. CS_EasyCam2

What for: Basic film moves from point A to Point B. Or in this case Start to End. However this version doesn't use the Path bend function like the original. This uses the Target Distances on the _S and _E cam to create a bent path. Read the details in MoCam to know how this is done. Also The Cam shake section is now based on Turbulence instead of Noise. So there is now a 'complexity' slider which is the Octaves of the turbulence. Setting the frequency-to-complexity ratio just right will yield some very natural movements.


Focal Length: Both cams share one setting
FrameStart: WHen the move begins
Duration(sec): How long in seconds the move lasts
EaseOut/In: Instead of a graph, this uses sliders like MoCam. The higher the number the more ease.
Lock E to S (Checkbox): When this is on, the End Cam is locked to the Start Cam. Set the start cam first, uncheck this box then set the End cam.
S&E Cam visibility(Checkbox): This makes the _S and _E cams visible in the viewport
Position/Rot Turbulence: Instead of ratio slider, there is now a mix slider for how much the turbulence affects the Positions and rotaions.
Frequency: Speed of turbulence
Complexity: Octaves of turbulence
Camera Banking: If you think about it, a hand held or shaking effect is mostly pan and tilt with little to no camera roll or dutching. This slider allows you to limit camera banking so the net result is more pan and tilt.

20. CS_DocuCam

What for: This one is fun. Just drop the object of interest into the Target Box and position this tool a ways away from the object. The camera targets it. No big deal, except this has a snap zoom "engine" as well as offsets and turbulence options. With a little tweaking this will make it seem like there is a handheld Documentary camera man capturing your target object. The snap zoom function decides to do a snap zoom based on your probability setting. When it decides to zoom, it picks a direction at random either tighter or wider. This is cumulative so the zoom may drift over time depending on the seed value. There is a reset frame so it can be set back to base when the animation begins again.


Target Object(Drop Box): Drop the subject in here:
Offset Pan/Tilt/Target Depth: This will offset your camera from the target. So you can still target something but offset your frame a bit. The Offset Target Depth is for when using DOF, you can change the focus point.
Seed: All the random and turbulence functions are based on this number. So by switching the seed just one number, it's like switching out the cameraman with a whole new performance. Once you get all your sliders right, shop through different seeds and see which moves you like best.
Base Zoom: This is not in "Focal Lengths" because it's not that exact. This is the starting zoom amount, and know that the snap zooms will take it from there.
Actual Zoom: This isn't meant to be touched by the user. This is so you know how much the zoom has drifted from your base.
Actual Foc Len: Not meant to be touched. This is for your reference so you know what the actual Focal length the camera is at.
Reset Frame: Very important. The snap zoom is cumulative. So when you restart the animation there needs to be a frame where the zoom is brought back to match the base setting. If there is no reset frame, the zoom will snap forever eventually drifting to it's min or max values.
So if you start from 0 each time, then set it to zero, but if you're looping at say 100 - 150, you'll want to set the reset to 100.

Snap Zoom Section
Probability: This is how often the camera "Chooses" to do a snap zoom.
Amount: This is how much zoom the camera man snaps.
Duration: How fast the snap is.

Organic Motion Section
Amplitude: Amount of turbulence
Freq: Speed
Complexity: Octaves of the turbulence
Camera Banking: Limits the rotations on the Z so the camera doesn't dutch as much as pan and tilt.

21. CS_ActionCam

What for: Should be called the Michael Bay tool. It's CS_DocuCam, but attached to the object of interest itself. So in addition to DocuCam functions it adds settings for how much it orbits around the subject both vertically and horizontally as well its variance in distance from the subject.

Check DocuCam for all the common parameters. Added parameters here:

Cam Orbit:
Orbit Set: Center point of orbit
Orbit Deviation: How much it uses turbulence to deviate from that point
Deviation Freq: Speed of deviation
Deviation Complexity: Octaves of the turbulent function

Cam Distance and Cam height sections use the same sliders as the orbit section. The only notable difference is a min Clamp function on each. For distance this min clamp function sets the minimum distance the cam can get to the subject. So if it's following a person it won't get so close as to go inside the person. The height min clamp is made for protecting the cam from going through the floor if your subject is on a surface.

22. CS_VibrateNull2

What For: Like the original Vibrate null this is a alternate to the built in C4D vibrate tag. WHat's different about this version is that it has channel mixing between the XYZHPB. Also the vibration is now based on turbulence instead of normal noised. So there is a Complexity (Octaves) function now for more realistic movement.


Amplitude: Amount of turbulence
Freq: Speed of turbulence
Complexity: Octaves of turbulence
Seed: Sets the seed for all 6 turbulent functions. Change this to get different results.

Then there are six sliders that mix in how much amplitude per XYZHPB you want.

23. CS_Cubes

What for: This is for creating various mograph elements using cubes. Really it's something better played with than explained.

Props: This is tool is based around the Xpresso node called "InstanceMaker" that was conceived by Base80 and programmed by Majoul. So thanks for that.


PolyBaseObject(DropBox): Drop a polygon object in here to grow cubes from.

Grow On Section
Grow(Checkbox): When checked, the cubes appear over time
Grow Speed: How fast they appear in order

Noise Section:
Static(Checkbox): When checked there is no animation of the cubes.
Amplitude: Amount of cube movement
Frequency: Speed of movement. Also note that the cubes move faster the higher their index is. So the first cubes to appear will move the slowest.
Seed: Set this to different numbers for different noise outcomes.

Cube Settings:
Bidirectional(Checkbox): When checked, cubes can move forward and backwards. Unchecked, only in positive directions.
Offset: This has huge results when moved. This not only moves the cubes, but also changes the axis upon which they are scaled.
CubeSize: How big the cubes are
X/Y/Z/ scale (Checkboxes): These turn on scaling on those Axis. Defaults to just Y.
Aspect(Vectorbox): Changes the aspect ratio of the cubes

24. CS_Spriticles (Needs Thinking Particles installed)

What is it: It's basically a greatest hits of TP nodes blended in one simple tool particle sprite tool. It also auto detects the active camera for the sprites to always look at. I often want to use sprite particle systems but was always too lazy to build what I needed so I made this for an easy to grab and use tool.

General directions: You'll see I put a temporary circle material on it. Just replace that with the material of your choice then dial in the user sliders to get the result you want. For the 'Copy Motion' part of the user sliders, the tool itself (master null) should be in motion or the particles will have no motion to copy.

Props: HUGE thanks once again to Lennart(TCA Studios). He helped me with the Coffee code to auto-detect the active camera so the user wouldn't have to keep dropping the camera of choice into a linkbox. Also thanks to PerAnders, Srek, and JoelD, for unknowingly helping me by posting in old CGTalk threads about particles. Thanks to The Monkey for his 10 minute beta test.


Particle Group: This defaults to 'ALL'. But if you want separate groups in your scene then check the C4D docs on creating new particle groups. Then drop them in this box for individual control over multiple groups.
Birth Rate: How often particles are created
Emit Radius: This expands a circle in which particles emit from.
Spread: How much the particles spread out from the origin.

Speed: Speed at which particles travel away from the emitter
Speed variation: Self explanatory
Scale: Master scale
Scale over life (Grad bar): This defaults to zero->max->zero for a smooth growth and decay. But mess with it for interesting results. At minimum you can drag the white point back and forth to bias where the particles hit their growth peak.
Rotation: Since the particles always look at the cam this is just a pos and neg slider for Clockwise or counter clockwise rate.
Rotate from Velocity(Checkbox): When unchecked the particles have a constant rotation. When checked the speed of rotation is multiplied by the velocity. So the faster the particel, the faster it spins.

Gravity: Negative to make them lighter than air, positive to make them heavier than air.
Turbulence: The amplitude of the turbulence
Turbulent Freq: The complexity of the turbulence.

Copy Amount: Once again, the master null needs to be in motion to see any effect. This is how much the particles copy the master null's motion.
Copy Variation: How much the particles vary in the amount of motion copy
Direction Var: This will make some particles find new directions. So they copy the motion but in new paths.


Stephen said...
This comment has been removed by the author.
Einar Bragi said...

I'm using LineGrow and I have a animation that exceeds 500 frames, but it only has a maximum Frame starting value of 500 is there any way to go beyond that?

Simon said...

Thanks man. These are fantastic.