omni.graph.ExtrudeAlongCurve

Extrude Along Curve

Installation

To use this Node, you must enable wip.genproc.core in the Extension Manager.

Inputs

Name

Type

Description

Default

curve

bundle

Curves to extrude along

section

bundle

Cross section

curveSamplesPerSegment

int

When this is more than 1, curves are sampled at multiple points along each curve segment.

1

sectionSamplesPerSegment

int

When this is more than 1, cross sections are sampled at multiple points along each curve segment.

1

reverseSectionVertexOrder

bool

When enabled, cross section vertices will be wound in reverse order, in order to flip the geometric normal direction of the surface.

False

generateSTs

bool

When enabled, generate STs using the method selected by projectSTs.

False

projectSTs

bool

When generateSTs is on, this being enabled indicates to generate STs that are just the points projected into the XZ plane, else generate STs based on distances along the curves and cross sections.

False

normalizeS

bool

When enabled, if projectSTs is off, the S coordinate will be normalized to go from 0 to 1 around the cross section.

True

flipS

bool

When enabled, if projectSTs is off, the S coordinate will be replaced with 1-S, flipping appearance of textures.

False

stScale

float[2]

Generated STs will be scaled by this.

[1.0, 1.0]

travellingT

bool

When enabled, the S coordinate will be incremented by travelling instead position

False

centerSectionAtOrigin

bool

When enabled, translate the cross section such that the center of its bounding box is at the origin, before applying any other transforms.

True

sectionScale

float

Cross section points will be scaled by this, after optionally centering it at the origin, but before applying any other transforms.

1.0

sectionRotation

float[3]

Rotates the cross section by this after applying scales specified here, but before applying the translation specified here, and before applying the rotation and translation due to each curve point.

[0.0, 0.0, 0.0]

sectionRotationOrder

int

Order in which to apply the rotations in sectionRotation: 0=xyz, 1=xzy, 2=yxz, 3=yzx, 4=zxy, 5=zyx

0

sectionTranslation

vectorf[3]

Translates the cross section by this after applying scales and rotations specified here, but before applying the rotation and translation due to each curve point.

[0.0, 0.0, 0.0]

rampPositions

float[]

Positions for the scale ramp, in the normalized distance along curve space, from zero to one: zero being the beginning of the curve, and one being the end of the curve.

[]

rampValues

float[]

Scales for the scale ramp to be applied to the cross sections.

[]

rampInterpolations

int[]

Interpolation curve types for each segment of the scale ramp. Linear (1) creates a flat curve from point to point in the ramp. Smooth (2) creates an ease in or ease out curve from point to point in the ramp.

[]

up

vectorf[3]

Initial up vector to use for orienting the cross section around the first point of each curve. This will be forced to be perpendicular to the start of each curve, so for stability, it’s best if it’s not close to parallel to the start of any curve.

[0.0, 1.0, 0.0]

upMethod

int

The way in which to apply the specified up vector. Current supported methods are: 0 = at every curve sample; 1 = at start of curve & minimize rotation along curve

0

Outputs

Name

Type

Description

Default

mesh

bundle

Meshes