# Overview

Trims splines similar to Cinema4D MoSpline object.

Trims and offsets are controlled with Fields falloff.

Implemented as Generator and Modifier.

Trims splines similar to Cinema4D MoSpline object.

Trims and offsets are controlled with Fields falloff.

Implemented as Generator and Modifier.

Enforces to rebuild on each timeline's frame.

If object is provided here then it and all its subtree would be used as the source of splines instead of generator's own children sub-tree.

Enabled — Source object would be hidden from both render and viewport.

Due to Cinema4D specific issues, this approach is worse than just hide object by deactivating source object's native Viewport Visibility and Render Visibility.

Geometry's generating space

Geometry is generating in local space of the generator, so it would depend to Trimmer object transform.

Geometry is generating in world space, so it would be independent of Trimmer object transform.

Handle source spline(s) controls points.

Original spline knots are taken as the source.

Same as having or making spline editable with the least points and point-tangents.

Source spline deformations are missed in that case.

Final source representation (linear spline for spline object) is taken as the source.

Same as applying Current State to Object to the source geometry.

In some cases this method doesn't give proper shape if dynamics is applied to the source geometry.

Final source representation (linear spline for spline object) is taken as the source.

This method is faster than **Points** and allows to get final representation of the source geometry with applied dynamics transformations.

Usually it's required to drop source into Object field and put generator lower than the source object in the Object Manager because of Cinema4D's internal calculation order.

Similar to MoSpline this mode is offering start & end spline segment trimming options.

Alternative to **Trim** mode where instead of start & end trimming options it's possible to define part of the spline segment and its alignment.

Trims spline segment onto multiple pieces using pattern.

Defines trimming for the beginning or ending of the spline segment correspondingly.

Value of Start, End property is measured relatively to spline segment length.

Value of Start, End property is measured in absolute length units.

Value defined in Start, End property is measured from the beginning of the spline segment.

Value defined in Start, End property is measured from the ending of the spline segment.

Optionally value defined in Start, End property can be adjusted using fields falloff by sampling start or end of the spline segment correspondingly.

Defines trimming variation for the beginning or ending of the spline segment correspondingly.

It's might be a bit excess, because variation might be controlled by Start's, End's Field settings.

But Variation might be little easier to direct.

Value of Variation property is measured relatively to spline segment length.

Value of Variation property is measured in absolute length units.

Variation mode.

Value defined in Variation property is variated in both positive and negative directions along spline segment.

Value defined in Variation property is variated in single direction: for the beginning it's directed to the **Start** point, for the ending it's directed to the **End** point.

So Variation value would be maximal offset.

Value defined in Variation property is additionally variated by Field.

Defines random seed for **Random** and **Scatter** variation modes.

Value of Variation property would be adjusted using fields falloff by sampling start or end of the spline segment correspondingly.

Defines balance of the spline segment's fraction related to Offset value.

Value of 0% will construct geometry starting from `offset`

to `offset + length`

.

Value of 50% will construct geometry starting from `offset - length/2`

to `offset + length/2`

.

Value of 100% will construct geometry starting from `offset - length`

to `offset`

.

Defines fraction length.

Value of Length property is measured relatively to spline segment length.

Value of Length property is measured in absolute length units.

Optionally value defined in Length property can be adjusted using fields falloff by sampling start or end of the spline segment correspondingly.

Defines trimming variation for the beginning or ending of the spline segment correspondingly.

It's might be a bit excess, because variation might be controlled by Length's Field settings.

But Variation might be little easier to direct.

Value of Variation property is measured relatively to spline segment length.

Value of Variation property is measured in absolute length units.

Variation mode.

Value defined in Variation property is variated in both positive and negative directions along spline segment.

Value defined in Variation property is variated in single direction: for the beginning it's directed to the **Start** point, for the ending it's directed to the **End** point.

So Variation value would be maximal offset.

Value defined in Variation property is additionally variated by Field.

Defines random seed for **Random** and **Scatter** variation modes.

Defines dash pattern as single value or pair of values on the each text line.

Support both metric and % values.

Pattern starts from the dash size definition, then gap length is defined. So each odd line defines dash, even line defines gap.

If it's required to have pattern which is started from the gap, it's enough to enter 0 on the first line of the text.

Each line might be like "10", "10m", "10%", "10-20", "10m-20m", "10%-20%", "10m-20$", or even "10m 20%" — whatever is suitable more.

Repeat is disabled — pattern resolves exactly once and has no geometry afterwards.

Repeat is enabled — pattern resolves as many times as it would be enough to cover full length of the spline segment.

Repeating resolves as full pattern, each dash & gap would e added to repetition.

If there's randomization in the pattern, then this randomization would be repeated along segment length.

Variation mode.

Dash & gap values defined in Pattern property are variated between minimal and maximal value.

If only one value is provided, it is resolved as a constant, irrelative to variation.

Seed-based randomization.

Field-based randomization.

Defines random seed for **Random** and **Scatter** variation modes.

Pattern is sampled without repetitions and sample points spread equally along spline segment.

Defines trimming offset.

Main Fields falloff is multiplying this value.

So in most Field-based scenarios Offset value has to be set as `100%`

and put further logic into the Fields.

Make sure to disable **Value Clamping** trigger in Fields settings to allow overdrives. For ex. when controlling by **Time** layer.

Value of Offset property is measured relatively to spline segment length.

Value of Offset property is measured in absolute length units.

Defines offset variation.

It's might be a bit excess, because variation might be controlled by the Fields.

But Variation might be little easier to direct.

Value of Variation property is measured relatively to spline segment length.

Value of Variation property is measured in absolute length units.

Variation mode.

Value defined in Variation property is variated in both positive and negative directions along spline segment.

Value defined in Variation property is variated from the offset point towards beginning oth spline segment.

So Variation value would be maximal offset.

Value defined in Variation property is additionally variated by Field.

Defines random seed for **Random** and **Scatter** variation modes.

Value of Variation property would be adjusted using fields falloff by sampling intermediate offset point of the spline segment.

Defines behavior when trimmed segment goes beyond start or end of the spline segment correspondingly.

Final segment is clamped be original segment start & end points.

Final segment is rendered at the opposite side of the spline segment once it goes beyond limits.

Final segment continues in the direction of the following.

Final segment continues towards the respective target object.

Respective target object.

Spline properties

This simplest of all the spline types connects the vertices, which define the polygon, with straight, directly connected lines. You can use these splines to create angular objects or to simulate sharp jerky movements for animation.

This kind of spline has a soft curve between vertices. The interpolated curve passes directly through the vertices. Looking at the two points at the top right of the diagram, you can see that the curve bulges more than is probably required. This behavior is called overshooting, and it often appears with closed curvatures. This becomes clearer when you compare this section of the curve with the same section of the curve with Akima interpolation.

This spline type creates a soft curve between vertices. The interpolated curve always passes directly through the vertices. Overshooting does not happen with this type of curve. Akima interpolation adheres very closely to the path of the curve directly between the vertices but, because of this, it can sometimes appear somewhat hard. If this is not required, you should use Cubic interpolation.

This kind of spline also creates a soft curve between the vertices. However, the curve does not pass directly through the vertices. This produces a very smooth curve. The vertices control only the approximate path of the curve. Distant points have less influence on the curve than those lying closer together.

This spline type creates a soft curve path between the vertices, which can be controlled very precisely. The interpolated curve always passes through the vertices. Overshoot does not happen.

Each spline segment can be closed or open. If a spline is closed, the start and end points are seamless connected.

Makes spline segments open ending.

Makes spline segments closed.

Makes spline segments open or closed depending of source(s).

If Closed is set as **Open** or **Auto** and there are closed source splines — additional point would be created after the original end point in place of the original start point

So while being open spline, it would look like closed spline.

Here you can define how the spline is further subdivided with intermediate points. This affects the number of subdivisions created when using the spline with Generator objects.

This method of interpolation locates points only at the vertices of a spline, using no additional intermediate points. You cannot enter values into the Number or Angle boxes. For B-splines, the vertices, and therefore points, might not be located on the spline curve.

This interpolation type first locates points at spline vertices. In the case of B-splines, points are located at positions on the spline curve closest to the spline vertices. Number (N) corresponds to the number of intermediate points between vertices. The points are positioned closer together on areas of the spline with more curvature.

You cannot enter values into the Angle box.

This interpolation subdivides the spline so that the distance between any two consecutive points, as measured along the spline curvature, is constant. One point is always located at the beginning vertex. For open splines, a point is also located at the ending vertex. Other points generally do not coincide with vertices.<

You cannot enter values into the Angle box.

This interpolation type sets intermediate points whenever the angle deviation of the curve is larger than the value given in Angle. The points of the resulting curve pass through the vertices. If a spline has several segments, then the value of Angle will apply to each segment.

The Adaptive method gives the best results in rendering, hence it is the default interpolation method.

You cannot enter values into the Number box.

Subdivided is similar to Adaptive. Additional intermediate points will be added until the intermediate segments are shorter than the defined Maximum Length, i.e., the point intervals will not necessarily be equal to the maximum length. Lower values will result in higher quality, along with the disadvantages of working with a high number of points - slower refresh times in the editor view, etc.

Define single sample point position on the spline.

Sample whole spline to get average sampled value.

Define point position on the spline in range from the begin to the end.

Fields falloff to control Trimmer's offset.