This page is a work in progress.
Table Of Contents
Cinema 4D Curves & Splines
Redshift supports the rendering of Cinema 4D Splines and Curves with a number of different parameters for shape and size. These setups can be rendered as Hair Strands or Polygon based curves at render time. There are a number of different ways to shade these setups using an RS Material, which can also be combined with different attributes used to drive its parameters. You can render out different setups that generate these Curves including; regular spline objects, MoSpline, xpTrails and Tracers.
Tracer Object, Rendered with the Curve: Cylinders
To render our Curves or Splines in Redshift we add a Redshift Object Tag to the object that is generating these (for example Spline object, MoSpline,Tracer etc.). Redshift will detect our curves and display the Curve tab for adjusting the different parameters. These are described below:
RedShift Object Tag
Redshift Object Tag parameters
There are 6 different curve mode options shown below.
Click on the individual boxes for a close look!
Strand VS Polygon based curves
With Boxes, Cylinders, Capsules, Cones, and Stripes Redshift is generating procedural meshes at scene conversion as Polygon-based Curves. Hair Stands are curves rendered using a special ribbon-like core primitive, optimized for a high volume of thin strands. These are ideally suited for hair-like objects. Strands are more memory efficient, and best used for far away shots, or when using high counts of individual splines and curves, such as hair, cloth fibers, and any type of fine detail. While Polygon-based Curves get the benefits of mesh based geometry but avoid a lot of the processing overhead that ordinary meshes would create.
The thickness parameter is the overall width of each Curve.
|Thickness .5||Thickness 1||Thickness 3|
The Scale parameter allows you to vary the width of your curves with a custom spline graph. From 0 - 1 (Left to Right; X-Axis) will control the Start to End of your curve. From 0 - 1 (Bottom to Top;Y Axis) will control the width of your curve, with 1 being equalt to your Thickness parameter value, down to a value of 0 thickness. This is very useful for tapering ends of curves and controlling the width throughout your curve.
Demonstrasting Scale Graph
When the Resample Curve option is checked we can adjust the resampling steps for the curve. Higher step counts can be better for up close shots, while for long distance shots a lower sample rate can help imporove render times. This Resample Curve option can also be extremely useful in some scenarios where deformation blur cannot be generated reliably when certain types of curve animation is used.
|Resample 32||Resample 64|
|Resample 128||Resample 256|
Subdivision Type allows us to subdivide our trails if needed, there is a Fixed & Adaptive mode. Examples of each are shown down below.
Fixed allows us to use a value from 0-8 in the Max Subdivisions slider to determine how many times your trail will be subdivided.
|Steps: 10 Max Subdivisions: 0||Steps: 10 Max Subdivisions: 2||Steps: 10 Max Subdivisions: 6|
Adaptive mode will give the most optimized result in terms of geometry.
Hair Strand-specific Shader Nodes
These are nodes that should be used in conjunction with the Curve mode Hair Strands, described here.
The Hair Position node will create a 0 to 1 value for each point on along the curve. This can be connected to a ramp node source set to Alt Source mode, to remap the colors as shown below.
Hair Position node
Hair Random Color
The Hair Random Color node is used for randomizing the color per hair strand. Its parameters are described down below.
The Color parameter will be the overall shade of your strands.
The Hue Amount will determine how strong each strand's Hue color will change with a value from 0-1. A value of 1 will effectively change every strand to a completely different color.
The Saturation Amount will determine the saturation value for each strand with a value from 0-1. A value of 1 will effectively desaturate some of your strands to the point they have no color and are white.
The Value Amount will determine the brightness & darkness value for each strand with a value from 0-1.
Hair Random Color
Polygon Curve-specific Vertex Attributes
These are Curve Vertex Attributes that should be used in conjunction with the Curve modes; Boxes, Cylinders, Capsules, Cones, and Strips described here.
The RSCurvePosition attribute will create a 0 to 1 value for each point on along the curve. This can be connected to a Ramp node set to Alt Source mode, to remap the colors, much like the Hair Position node for Hair Strands.
The RSCurveIDNorm attribute will create a 0 to 1 grayscale value for each strand. This can be connected to a Ramp node set to Alt Source mode to remap the colors.
The RSCurveIDColor attribute will create a random color value for each strand. This can be connected to a Ramp node set to Alt Source mode to remap the colors.
The RSCurveIDColorAlpha attribute will create a random color value for each strand, as well as a random value for each strand in the Alpha Channel.
You can enable Motion Blur on our curves by going to the motion blur settings and checking the box. We are also going to enable deformation blur. You can view the specific motion blur section here.
Motion Blur Settings
If you are having trouble rendering Deformation Blur with your Curves, you can enable Resample Curve in the Redshift Object tag's Curve tab. More information here.
|No motion Blur||Motion Blur enabled Frame Duration:5||Motion Blur enabled Frame Duration:20|
Let's see how to render and shade Tracer curves.
First we need to add a Redshift Object tag and adjust the Curve Mode to Hair Strands. Then we adjust the scale and thickness parameter.
Redshfit Object Tag
Next we are going to shade our Hair Strands. First we are going to use a Hair Random Color node and adjust the parameters to vary the color per strand. Also we will add a Color Correct node to change our hue with ease.
Shading Hair Strands
If you need more information on particle-based splines such as tracers and xpTrails check here.
Let's see how to render and shade MoSpline curves.
To start off we need to add a Redshift Object tag and adjust the Curve Mode to Boxes. Then we adjust the scale and thickness parameter.
Redshift Object Tag
Next we are going to shade our MoSpline setup, first we are going to bring in a Vertex Attribute and use the RSCurvePosition, described here. Then we will remap this with a Ramp node.
Vertex Attribute Remapped
Examples: Simple Splines
Lets look at how to render and shade Basic splines.
First we need to add a Redshift Object tag to all of our letter splines and set the Curve Mode to Strips.
Redshift Object Tag
Next we are going to use a Vertex Attribute and set it to RSCurveIDColor described here. Then connect it to the emission parameter of our RS Material.
Shade Simple Splines
We can scatter splines on our blanket object and render them as curves to give the appearance of actual hairs on our blanket.
First we are going to create our splines that will be scattered on the blanket, these will resemble our hairs.
Next we are going to optimize our scene bit, im duplicating my geometry and only scattering on the parts that are seen by the camera as shown below.
Now we will scatter our splines over the new Optimized_Geo with a cloner object and use a random effector to randomize the direction our hairs are pointing.
Try lowering the cloner count if you have low amount of RAM available.
Now let's add a basic blue material to our splines and add a Redshift Object Tag and set it to Hair Strands. Because these hairs are relatively small and far away from the camera the Hair Strand mode will work perfectly.
Redshfit Object Tag
We can now render our setup and see we are getting that hair effect on our blanket and compare it with and without the effect.
Add details with RS Curves