On this page |

The DOP Import SOP imports geometry from a DOP network, and can also transform
the input geometry based on the transforms of the DOP objects. The
**Import Style** parameter can be used to select between several modes of
operation.

DOP objects have two distinct transforms associated with them. One comes from the Position data attached to the object. The other comes from the Geometry data on the object, which has an inherent transform associated with it. This SOP can apply either, both, or neither of these two transforms. It can also apply the inverse transform to effectively undo the transform operation of another Dop Import SOP.

The Dop Import SOP also allows the transformation of selected vector attributes for points and primitives.

## Point velocities

In addition to transforming the geometry, this SOP can create a velocity point attribute on the geometry.

This velocity is calculated by combining any velocity attribute on the geometry in the DOP simulation (such as those set by the Cloth Solver) and the overall object velocity and angular velocity stored in the object’s Position data. This SOP can calculate an instantaneous velocity for each point by combining the linear and angular velocities of the object, or it can integrate the two velocities over some timestep. The instantaneous velocity approach is a true representation of the velocity of each point, but if the object has a high angular velocity then rendering with these instantaneous velocities may make the object appear to be exploding in the render. In this case, integrated velocities can be used to ensure the extrapolated points stay "inside" the object’s geometry. The Integrate Over Time parameter specifies the integration interval and should be set to match your timestep, or the duration of each geometry segment when using multi-segment motion blur.

If a vectorfield called "vel" is present on the object, it is interpreted as a velocity field and added to the computed velocity.

The velocity attribute of the simulation object’s Geometry is transferred to the input geometry using a technique similar to the Attribute Transfer SOP. It is not necessary to have the input geometry match the simulation object’s Geometry to get good point velocities. This option is useful for rendering simulation objects with motion blur.

When importing DOP Objects as points, this option is disabled. The DOP Object overall velocity is always assigned to the point representing that object.

## Parameters

DOP Network

The DOP Network to extract the transform and velocity information from.

Object Mask

Specifies the objects within the DOP Network to extract the transforms from.

Use Single Object

Turning on this option causes the entire input geometry to be
transformed by the first simulation object matched by the **Object
Mask** parameter. If this option is off, then for each object in
the Object Mask, this SOP looks for a primitive group with the
same name as the object. Only that primitive group is affected
by the object it matches. This means some geometry may not be
transformed at all if it does not belong to a matching primitive
group.

Import Style

Controls the mode of operation for this SOP.

Transform Input Geometry

Pulls geometry from the SOP node connected to its input, and
transforms that geometry using the objects fetched from the DOP
network. The **Object Names** are used to identify primitives
belonging to each object.

Fetch Geometry from DOP Network

Pulls geometry from the DOP Network, ignoring any SOP that may be connected to its input. This is similar to the functionality provided by the Object Merge SOP, but geared towards DOP Networks. This node provides better control over how the geometry is transformed, and provides parameters that are easier to use for this purpose.

Fetch Packed Geometry from DOP Network

Creates a packed primitive for each object being fetched from the DOP network. For an RBD Packed Object, the object’s packed primitives will be directly returned. Otherwise, the object’s geometry will be packed into an embedded packed primitive.

Fetch Unpacked Geometry from DOP Network

Pulls geometry from the DOP Network, ignoring any SOP that may be connected to its input. For an RBD Packed Object, the unpacked collision geometry will be returned.

Stamp Input Geometry

Creates copies of primitive groups from the SOP connected to its
input. This mode is similar to **Transform Input Geometry**, except
it can be used when there are several DOP Objects with the same
name, all of which want to generate a separate copy of the input
primitive group of the same name. This option is also useful if the
input SOP contains geometry that is not part of any primitive
group, and so does not correspond to any DOP Object.

Create Points to Represent Objects

Creates one point per object, and sets attributes on that point to represent the position, orientation, velocity, and geometry for that object. This allows for very light weight geometry to be generated from a DOP Network, which can then use point instancing at render time.

Pivot Location

Specifies how to initialize the offset for the point referenced by the packed primitive.

Display As

The viewport LOD for the packed primitives when **Import Style** is
**Fetch Packed Geometry from DOP Network**.

Import By Name

Use the name attribute instead of primitive groups to identify primitives belonging to each DOP Object.

Object Names

Specifies the format of the name used to identify each DOP object.
These names are used by the **Transform Input Geometry** mode and when
creating primitive groups or a `name`

primitive attribute on the
imported geometry.

Use DOP Object Name

The DOP Object name is used to identify the object. For an RBD
Packed Object, the value of the `name`

point attribute is used.

Use DOP Object Id

Generates a name based on the numeric identifier of the source DOP object. You may want to use this setting if there is some chance that multiple DOP Objects with the same name may be imported from the DOP network.

Use Full Path to Object

For an RBD Packed Object, the DOP Object
name is combined with the value of the `name`

point attribute to
produce an identifier such as `object2/piece3`

. You may want to use
this setting if there is some chance that multiple RBD Packed
Objects may contain packed primitives
with the same names.

Geometry Data Path

The subdata path for the geometry to import from the DOP Network. The same data path will be used for all source objects. If left blank, the primary geometry data for the object is used.

Inverse Transform

Applies the inverse of the transform calculated for the simulation object.

Transform Geometry With Position Data

Finds the Data named Position on the simulation object and extracts its translation and rotation information to transform the geometry.

Transform Geometry With Geometry Data

Use the transform embedded in the Geometry data attached to the
simulation object. This is a transform is usually set when **Use
Object Transform** is set on the Geometry Data.

Preserve World Space Positions

Use the inverse transform of the object containing this SOP. This allows the world space position of the geometry to be independent of the object level transform. This is useful when this SOP is placed inside an object that is used as the source geometry for the simulation object whose transform is being extracted. The object level transform may be used for the initial position of the simulation object, but you may not want it to affect the world space position of the geometry output from this SOP. When the Inverse Operation option is set, this component of the transform is also inverted.

Center at Pivot

When **Import Style** is set to **Create Points to Represent Objects**, use the RBD Object’s pivot as the point center, which will typically place the points at the
objects' centers of mass. This will ensure the created points better match the motion of the source simulation.

Add DOP Object Name Attribute

Adds a string primitive attribute `name`

which contains the name of the
object. The format of the name is specified by the **Object Names**
parameter.

Add DOP Object Path Attribute

Adds a string primitive attribute `dopobject`

which contains the
path of the DOP Network followed by the DOP object id.

Add DOP Object Id Attribute

Adds an integer primitive attribute `dopobjectid`

which contains
the DOP object id of the sourced object.

Add to Existing Velocity Attributes

Adds velocities computed from the DOP Object to any existing velocity attribute values on the geometry. Turning off this option causes the velocity computed from the DOP Object to simply override any existing velocity attribute value.

Note

When geometry is dynamically fractured, point velocities are added to transfer the velocity to the smaller chunks. If this parameter is turned on, these point velocities will go to your final render. Turn this parameter off to improve motion blur. It is on by default, but is turned off by shelf tools by default.

Delete Abandoned Primitives

When in transform mode, any primitives that do not have a corresponding DOP Object will be deleted instead of being left untransformed. This is useful if your solver deletes objects over time.

Point Velocities

Controls whether point velocities will be calculated for the geometry from this SOP, and the method of calculation. The Instantaneous and Integrated velocity calculations are described in the overview.

Integrate Over Time

The time interval over which velocities are calculated when using the Integrated Point Velocities calculation. This value should be set to a single frame time, or the duration of a single geometry segment when using multi-segment motion blur.

Do Not Trigger Simulation

If the DOP simulation being imported is out of date, the old cached value will be returned rather than trying to simulate. This avoids recursion problems when viewing a SOP chain being used by a SOP Solver that would store bad geometry in the simulation cache.

## Examples

LowHigh Example for Dop Import geometry node

This example shows how to create a low res - high res set up to support RBD objects. The two main methods are to reference copy the DOP Import SOP and feed in the high res geometry or to use point instancing with an Instance Object.

ProxyGeometry Example for Dop Import geometry node

This example demonstrates a technique of using the DOP Import SOP to allow the use of proxy geometry in a DOP simulation. One set of geometries are used in the simulation, then the transform information for those objects is applied to higher resolution versions of the geometry.

The following examples include this node.

ApplyRelationship Example for Apply Relationship dynamics node

BridgeCollapse Example for Apply Relationship dynamics node

AnimatedClothPatch Example for Cloth Object dynamics node

BendCloth Example for Cloth Object dynamics node

BendDamping Example for Cloth Object dynamics node

BlanketBall Example for Cloth Object dynamics node

ClothAttachedDynamic Example for Cloth Object dynamics node

ClothFriction Example for Cloth Object dynamics node

ClothUv Example for Cloth Object dynamics node

DragCloth Example for Cloth Object dynamics node

MultipleSphereClothCollisions Example for Cloth Object dynamics node

PanelledClothPrism Example for Cloth Object dynamics node

PanelledClothRuffles Example for Cloth Object dynamics node

AnchorPins Example for Constraint Network dynamics node

BreakingSprings Example for Constraint Network dynamics node

ControlledGlueBreaking Example for Constraint Network dynamics node

GlueConstraintNetwork Example for Constraint Network dynamics node

Hinges Example for Constraint Network dynamics node

PointAnchors Example for Constraint Network dynamics node

SpringToGlue Example for Constraint Network dynamics node

AutoFracturing Example for Copy Objects dynamics node

CrowdHeightField Example for Crowd Solver dynamics node

PartialRagdolls Example for Crowd Solver dynamics node

Stadium Crowd Example Example for Crowd Solver dynamics node

FieldForceSmoke Example for Field Force dynamics node

fieldforce Example for Field Force dynamics node

FEMSpheres Example for finiteelementsolver dynamics node

DensityViscosity Example for FLIP Solver dynamics node

FlipColorMix Example for FLIP Solver dynamics node

FlipColumn Example for FLIP Solver dynamics node

FlipFluidWire Example for FLIP Solver dynamics node

SpinningFlipCollision Example for FLIP Solver dynamics node

FluidFeedback Example for Fluid Object dynamics node

VariableDrag Example for Fluid Object dynamics node

HotBox Example for Gas Calculate dynamics node

DiffuseSmoke Example for Gas Diffuse dynamics node

CombinedSmoke Example for Gas Embed Fluid dynamics node

EqualizeFlip Example for Gas Equalize Volume dynamics node

EqualizeLiquid Example for Gas Equalize Volume dynamics node

dopexample_gasnetfetchdata Example for Gas Net Fetch Data dynamics node

UpresRetime Example for Gas Up Res dynamics node

GuidedWrinkling Example for Hybrid Object dynamics node

MagnetMetaballs Example for Magnet Force dynamics node

SimpleMagnets Example for Magnet Force dynamics node

FluidGlass Example for Particle Fluid Solver dynamics node

AdvectByVolume Example for POP Advect by Volumes dynamics node

CurveForce Example for POP Curve Force dynamics node

BillowyTurbine Example for Pyro Solver dynamics node

RagdollExample Example for Cone Twist Constraint dynamics node

ShatterDebris Example for RBD Fractured Object dynamics node

FrictionBalls Example for RBD Object dynamics node

RBDInitialState Example for RBD Object dynamics node

EmittingObjects Example for RBD Packed Object dynamics node

SpeedLimit Example for RBD Packed Object dynamics node

Chainlinks Example for RBD Pin Constraint dynamics node

GravitySlideExample Example for Slider Constraint dynamics node

InheritVelocity Example for RBD State dynamics node

RippleGrid Example for Ripple Solver dynamics node

ScalePieces Example for Script Solver dynamics node

SumImpacts Example for Script Solver dynamics node

2dfluid Example for Smoke Object dynamics node

VolumePreservingSolid Example for Solid Object dynamics node

DentingWithPops Example for SOP Solver dynamics node

StaticBalls Example for Static Object dynamics node

FractureExamples Example for Voronoi Fracture Solver dynamics node

BreakWire Example for Wire Solver dynamics node

CurveAdvection Example for Wire Solver dynamics node

Pendulum Example for Wire Solver dynamics node

PackedFragments Example for Assemble geometry node

CaptureDeform Example for Cloth Deform geometry node

LowHigh Example for Dop Import geometry node

ProxyGeometry Example for Dop Import geometry node

dopimportrecordsexample Example for DOP Import Records geometry node

ColourAdvect Example for Fluid Source geometry node

CoolLava Example for Fluid Source geometry node

FurBallWorkflow Example for Fur geometry node

glueclusterexample Example for Glue Cluster geometry node

AlphaOmega Example for Points from Volume geometry node

PlateBreak Example for TimeShift geometry node

TransformFracturedPieces Example for Transform Pieces geometry node

RampParameter Example for Parameter VOP node