_images/numerion_carbon.png

Carbon N-Lattice

Type

_images/carbon_object.png

Object node (DOP only).

Description

This node defines a Carbon N-Lattice simulation object, its import geometry, and the N-Lattice parameters.

A Carbon N-Lattice is a hybrid object, containing multiple lattices, each made of several Carbon dynamic elements. It can be used for a wide range of applications such as feathers, hair, fur, foliage, plants, …etc.

_images/animation_carbon_n-lattice.gif

An animated Carbon N-Lattice with individual lattices growing and conforming.

A lattice must be a grid-like geometry with each of its points numbered from left to right and bottom to top.

Each lattice is made of a rigid shaft that is welded to a soft body. This must be specified through a shaft point attribute painted on the reference lattice where rigidity to the joint attachment of the lattice is required.

_images/reference_carbon_plumage_lattice.png

A typical 6x9 lattice feather. Note the directions of the points numbering and the flipped edges 5-10 and 46-53 to prevent weak corners. Yellow points denote a typical shaft rigid attachment.

A N-Lattice reference geometry contains the complete set of lattices, which can be authored individually. This geometry can be animated when needed.

Warning

When using a N-Lattice setup, you must carefully set the Lattice Width parameter. For example, the 6x9 lattice above being a grid of 6 points in width will require a Lattice Width of 6. Using an acceptable but wrong value (such as the grid height instead of width) will not give an error but yield a visual result that will simulate incorrectly.

See the N-Lattice User Guide for more in depth information.

Parameters

Activation activation

Enable this object. Use 0 to disable, any other value to enable.

N-Lattice

Animated Geometry geometryAnimated

Enable animated N-Lattice geometry.

Note

It is a good practice to leave this toggled off when not using animated parameters because it impacts performance.

N-Lattice SOP Path nLattice

Path to the SOP geometry defining the N-Lattice.

Note

This must be the lattices in normal configuration when a Groom Pose with individual lattice angles is provided.

Groom SOP Path groomPose

Path to the SOP geometry defining the N-Lattice Groom Angles. This parameter is required in order to have a Swing Lead-In to the individual lattice angles and have access to the Groom Angles Angle Limit.

Base Name baseName

Prefix of the name primitive attribute output used to mark the geometry of each lattice.


Root Offset rootOffset

Lattice root offset in surface normal direction. Must be greater or equal to the Collider Outer Fatness positioned underneath the lattices if any.


Growth Lead-In leadScales

The lead-in time in number of frames spent growing the lattices.

Note

Any value different than 0 will force the Animated flag during the growth lead-in.


Swing Lead-In leadAngles

The lead-in time in number of frames spent swinging the lattices to their reference angles/positions.

Note

Either a Groom Pose geometry or the Override Angles mode must be specified for the Swing Lead-In to be activated.

Animated Angles anglesAnimated

Enable animated parameters for this section by evaluating and updating the values at every frame.

Note

It is a good practice to leave this toggled off when not using animated parameters because it impacts performance.

Groom Angles

Extract all lattices’ resting angles from the Groom Pose.

Angle Limit angleLimit

Angular swing limit per lattice.

Note

A Groom Pose geometry must be specified for the Angle Limit to be activated.

Override Angles

Override all angles described by the Groom Pose, if any, and set all lattices to conform to the same resting angle.

Angle angle

Lattice’s resting angle, set equally for all lattices.


Animated Springs springsAnimated

Enable animated N-Lattice springs controlling the lattices’ orientation.

Note

It’s good practice to leave this toggled off when not using animated parameters because it impacts performance.

Base Parameters

Swing Stiffness swingStiffnessBase

The joint swing angular stiffness.

Swing Viscosity swingViscosityBase

The joint swing angular viscosity.

Twist Stiffness twistStiffnessBase

The joint twist angular stiffness.

Twist Viscosity twistViscosityBase

The joint twist angular viscosity.

Painted Attribute Range

Swing Stiffness swingStiffnessRange

The multiplier of the painted primitive attribute values that add up to the base parameter.

Note

Painted primitive attribute name: swingStiffness

Swing Viscosity swingViscosityRange

The multiplier of the painted primitive attribute values that add up to the base parameter.

Note

Painted primitive attribute name: swingViscosity

Twist Stiffness twistStiffnessRange

The multiplier of the painted primitive attribute values that add up to the base parameter.

Note

Painted primitive attribute name: twistStiffness

Twist Viscosity twistViscosityRange

The multiplier of the painted primitive attribute values that add up to the base parameter.

Note

Painted primitive attribute name: twistViscosity


Static Friction staticFriction

Lattices’ static friction, greater than or equal to 0 and greater than or equal to dynamic friction.

See also

Friction

Dynamic Friction dynamicFriction

Lattices’ dynamic friction, greater than or equal to 0 and smaller than or equal to static friction.

See also

Friction


Form Drag formDrag

Aerodynamics form drag. Shapes with a large apparent cross section exposed to the air flow and with a high form drag coefficient will receive more drag than thinner ones.

Warning

Explicit force, so high values can produce instability.

See also

Aerodynamics

Skin Drag skinDrag

Aerodynamics skin drag. Friction of the skin against the air flow. Usually much smaller, and never bigger than form drag.

Warning

Explicit force, so high values can produce instability.

See also

Aerodynamics

Lift lift

Aerodynamics lift. Lift force coefficient.

Warning

Explicit force, so high values can produce instability.

See also

Aerodynamics

Lattice

Lattice Grid SOP Path lattice

Path to the SOP geometry defining the lattice geometry.

Lattice Width latticeWidth

Number of points in the lattice grid horizontal direction. The lattice points are numbered from left to right and bottom to top and the lattice grid should at least be 2x2 points in resolution.

Warning

It is important to set the correct value for this parameter so that the lattices’ position and center of mass can be correctly calculated. Using an acceptable but wrong value (such as the grid height instead of width) will not give an error but still yield a visual result that will simulate incorrectly.

Outer Fatness outerFatness

Lattice’s outer volume thickness (can be null for a single sided collider).

See also

Fatness

Mass mass

Lattice’s mass in kg.

Base Parameters

Welding Radius weldingRadiusBase

Lattice’s soft-welding radial limit, how far the lattice is allowed to move away from its rigid attachment points.

Note

It is recommended to use at least a small radius for most applications. Soft-welding is a simple way to handle over-constrained situations, reducing jiggling and increasing stability.

Welding Stiffness weldingStiffnessBase

Lattice’s soft-welding stiffness coefficient, keeps the lattice from moving away from its rigid attachment points.

Note

Enabled when the Welding Radius (Base or Range) is greater than zero.

Welding Viscosity weldingViscosityBase

Lattice’s soft-welding viscous ratio, the damping of the lattice moving around its rigid attachment points.

Note

Enabled when the Welding Radius (Base or Range) is greater than zero.

Painted Attribute Range

Welding Radius weldingRadiusRange

The multiplier of the painted primitive attribute values that add up to the base parameter.

Note

  • Enabled when the Welding Radius (Base or Range) is greater than zero.
  • Painted primitive attribute name: weldingRadius

Welding Stiffness weldingStiffnessRange

The multiplier of the painted primitive attribute values that add up to the base parameter.

Note

  • Enabled when the Welding Radius (Base or Range) is greater than zero.
  • Painted primitive attribute name: weldingStiffness

Welding Viscosity weldingViscosityRange

The multiplier of the painted primitive attribute values that add up to the base parameter.

Note

  • Enabled when the Welding Radius (Base or Range) is greater than zero.
  • Painted primitive attribute name: weldingViscosity

Self Collide selfCollide

Enable self-collision for each lattice against itself. Toggling this off can improve performance but causes self-interpenetrations.

Base Parameters

Surface Compression surfaceCompressionBase

Lattice’s surface compression, must be strictly greater than 0 and smaller than or equal to extension.

Surface Extension surfaceExtensionBase

Lattice’s surface extension, must be strictly greater than 0 and greater than or equal to compression.

Surface Pressure surfacePressureBase

Lattice’s pressure. Unit in mass/length/time^2.

Describes the force per area over a surface map exercised by a virtual fluid.

Warning

Explicit force, so high values can produce instability.

See also

Surface Pressure

Painted Attribute Range

Surface Compression surfaceCompressionRange

The multiplier of the painted point attribute values that add up to the base parameter.

Note

Painted point attribute name: surfaceCompression

Surface Extension surfaceExtensionRange

The multiplier of the painted point attribute values that add up to the base parameter.

Note

Painted point attribute name: surfaceExtension

Surface Pressure surfacePressureRange

The multiplier of the painted point attribute values that add up to the base parameter.

Note

Painted point attribute name: surfacePressure


Base Parameters

Stretch Stiffness stretchStiffnessBase

Lattice’s stretch stiffness (mass/time^2).

Stretch Viscosity stretchViscosityBase

Lattice’s stretch viscosity (dimensionless).

Stretch Compression stretchCompressionBase

Lattice’s stretch compression, must be strictly greater than 0 and always be smaller than or equal to extension.

Stretch Extension stretchExtensionBase

Lattice’s stretch extension, must be strictly greater than 0 and always greater than or equal to compression.

Stretch Equilibrium stretchEquilibriumBase

Lattice stretch resting length (equilibrium) as a ratio of the reference length.

Use 1 for the default resting position.

Painted Attribute Range

Stretch Stiffness stretchStiffnessRange

The multiplier of the painted point attribute values that add up to the base parameter.

Note

Painted point attribute name: stretchStiffness

Stretch Viscosity stretchViscosityRange

The multiplier of the painted point attribute values that add up to the base parameter.

Note

Painted point attribute name: stretchViscosity

Stretch Compression stretchCompressionRange

The multiplier of the painted point attribute values that add up to the base parameter.

Note

Painted point attribute name: stretchCompression

Stretch Extension stretchExtensionRange

The multiplier of the painted point attribute values that add up to the base parameter.

Note

Painted point attribute name: stretchExtension

Stretch Equilibrium stretchEquilibriumRange

The multiplier of the painted point attribute values that add up to the base parameter.

Note

Painted point attribute name: stretchEquilibrium


Base Parameters

Bend Stiffness bendStiffnessBase

Lattice’s angular stiffness (mass * length^2 / time^2 / degree).

Bend Viscosity bendViscosityBase

Lattice’s angular viscosity (dimensionless).

Bend Limit bendLimitBase

Lattice’s crease angular limit (degree), between 0 and 180 degree.

Painted Attribute Range

Bend Stiffness bendStiffnessRange

The multiplier of the painted point attribute values that add up to the base parameter.

Note

Painted point attribute name: bendStiffness

Bend Viscosity bendViscosityRange

The multiplier of the painted point attribute values that add up to the base parameter.

Note

Painted point attribute name: bendViscosity

Bend Limit bendLimitRange

The multiplier of the painted point attribute values that add up to the base parameter.

Note

Painted point attribute name: bendLimit


Base Parameters

Viscous Damping viscousDampingBase

Lattice’s viscous damping (1/time), damping control over the nodes’ group cohesion.

See also

Viscous Damping

Painted Attribute Range

Viscous Damping viscousDampingRange

The multiplier of the painted point attribute values that add up to the base parameter.

Note

Painted point attribute name: viscousDamping

Parameter File

Use Parameter File fileOverride

Replace parameter values by expressions fetching the values from the loaded parameter file. Parameter values from the exclusion filter are left unchanged.

File Name fileName

Json file path to save this node’s current parameters to, and load the parameter file from.

Save save

Save this node’s current parameters to the specified file.

Load load

Load or reload the specified parameter file. As the overriding expressions always fetch values from the last loaded parameter file, and not from the file itself, use this button to refresh the loaded current parameter file with the values on disk.

Reload Every Time The Node Is Loaded reload

Automatically reload the parameter file when the scene is loaded. If the specified file cannot be found then the overriding expressions will use the values of the last loaded parameter file instead.

Exclusion Filter exclusionFilter

The exclusion filter allows to select which of the parameters are not to be replaced by the overriding expressions, therefore keeping their original values while all other parameters will evaluate with the values set from the last loaded parameter file.

Guide Geometry

Double Sided

Visualize the lattice geometry with two distinctive colors per triangle, i.e. front faces and back faces drawn separately. The Outer Fatness of each individual lattice is used as an offset for drawing both front and back faces.

Front colorFrontr colorFrontg colorFrontb

Color used to draw the front facing side.

Back colorBackr colorBackg colorBackb

Color used to draw the back facing side.