Rollover image

It is possible to render CINEMA 4D spline curves with Arnold. An Arnold tag has to be added to a CINEMA 4D spline object, which allows you to define Arnold specific settings, e.g. curve width and the sample rate used to describe the spline. Shaders can be added to the Spline object just like to any other object; default is a standard_hair shader.

Arnold Parameters added to a spline via the C4DtoA tags menu

The use of SSS is not supported with point and spline primitives and is therefore not recommended.


Determines whether or not the curve will render.


Defines the rendered thickness of the curve.

Thickness 0.01 - 0.1

Thickness Spline

Thickness can be modified via a spline along the curve, which acts as a multiplier over the base Thickness. 

Thickness Texture

It is also possible to connect a texture map or shader (e.g. Noise) to control the curve width. The shader is evaluated along the U coordinate (V=0). U=0 is the start and U=1 is the end of the spline.

Thickness modified by a Noise texture

Only C4D shaders are allowed, no Arnold shader networks can be used.


There are three algorithms for rendering curves in Arnold.  


Ribbon mode is recommended for fine geometry such as realistic hair, fur or fields of grass. These curves are rendered as camera-facing flat ribbons. For secondary and shadow rays, they face the incoming ray direction. This mode doesn't look so good for very wide hairs or dramatic zoom-ins because of the flat appearance. This mode works best with a proper hair shader (perhaps based on a Kay-Kajiya or Marschner specular model).


Thick mode resembles spaghetti. It has a circular cross-section and a normal vector that varies across the width of the hair. Thick hairs look great when zoomed in, and are especially useful for effects work, but their varying normals make them more difficult to antialias when they are small. You can use any shader with this rendering mode, including lambert, phong, etc.


Oriented mode allows the curves to face in a given direction at each point. This is more useful for modeling blades of grass, tape, and so on.


Sets the number of samples taken to reproduce the Maya curve. Note that it is only possible to have more samples along the length direction of the spline and not the width.

Min. Pixel Width

If this value is non-zero, curves with a small on-screen width will be automatically enlarged so that they are at least the specified size in pixels. The enlargement fraction is then used in the hair shader to adjust the opacity so that the visible thickness of the hair remains the same. For a given number of AA samples, this makes it a lot easier to antialias fine hair, at the expense of render time (because of the additional transparency/depth complexity). Good values are in the range of 0.2 to 0.7. Values closer to 0 are faster to render but need more AA samples. So if your scene already uses very high AA settings, you should use a low value like 0.1. For best results, you may need to increase the auto-transparency depth, and/or lower the auto-transparency threshold, but watch the effect on render times. Note that this parameter currently works with the ribbon mode only. 

Export IDs

Export the index of each curve to the curve_id user parameter.

Motion Blur


Enable/disable motion blur of the spline.

  • No labels