Cloth
| Node | Description |
|---|---|
| AddStitch | AddStitch (v1) Chaos Cloth Asset Add Stitch Node |
| ApplyProxyDeformer | ApplyProxyDeformer (v1) Update the Render Mesh by applying any existing proxy deformer data. |
| ApplyResizing | ApplyResizing (v1) Experimental Apply resizing for a given Target Mesh. |
| Attribute | Attribute (v2) Experimental Create a new attribute for the specified group. |
| BindToRootBone | BindToRootBone (v1) Bind an entire mesh to the single root bone of the current skeleton set on the cloth collection. |
| BlendVertices | BlendVertices (v1) Blend vertex values from another cloth collection. |
| ClothAssetImport | ClothAssetImport (v1) For Reimport Input(s) : ClothAsset - The Cloth Asset to import into a collection. |
| ClothAssetTerminal | ClothAssetTerminal (v2) Cloth terminal node to generate a cloth asset from a cloth collection. |
| ClothCollectionQuery | ClothCollectionQuery (v1) Query a Managed Array Collection about its Cloth Collection properties. |
| ClothCollectionToDynamicMesh | ClothCollectionToDynamicMesh (v1) Experimental Convert a Cloth Collection mesh to a dynamic mesh. |
| CopySimulationToRenderMesh | CopySimulationToRenderMesh (v1) Copy the simulation mesh to the render mesh to be able to render the simulation mesh, or when not using a different mesh for rendering. |
| CustomRegionResizing | CustomRegionResizing (v1) Experimental Node for adding custom region resizing data used by the ChaosOutfitAsset's Resizeable Outfit. |
| DeleteElement | DeleteElement (v1) For EChaosClothAssetElementType |
| EnableUVResizing | EnableUVResizing (v1) Experimental Node for enabling UV Resizing used by the ChaosOutfitAsset's Resizeable Outfit. |
| ExtractClothSelectionSet | ExtractClothSelectionSet (v1) Experimental Extract a selection set from a Cloth Collection. |
| ExtractClothWeightMap | ExtractClothWeightMap (v1) Experimental Extract a weight map from a Cloth Collection. |
| GenerateSimMorphTarget | GenerateSimMorphTarget (v1) Generate a Sim Morph target from a cloth collection sim mesh (with matching topology). |
| ImportSimulationCache | ImportSimulationCache (v1) Experimental Set vertex values from a simulation cache. |
| MakeClothAsset | MakeClothAsset (v1) Experimental Cloth terminal node to generate a cloth asset from a cloth collection. |
| MergeClothCollections | MergeClothCollections (v2) Merge multiple cloth collections into a single cloth collection of multiple patterns. |
| ProceduralSelection | ProceduralSelection (v1) Procedurally generate a Cloth Selection set. |
| ProxyDeformer | ProxyDeformer (v3) Adds the proxy deformer information to this cloth collection's render data. |
| RecalculateNormals | RecalculateNormals (v1) Experimental Recalculate the geometry's normals. |
| ReferenceBone | ReferenceBone (v1) Explicitly set the cloth Reference Bone (used when calculating SimulationVelocityScale). |
| Remesh | Remesh (v2) Remesh the cloth surface(s) to get the specified mesh resolution(s). |
| ReverseNormals | ReverseNormals (v1) Reverse the geometry's normals or/and winding order of the simulation or/and render meshes stored in the cloth collection. |
| Selection | Selection (v2) Chaos Cloth Asset Selection Node V 2 Input(s) : TransferCollection - The collection used to transfer sets from. |
| SelectionToIntMap | SelectionToIntMap (v1) Convert an integer index selection to an integer map. |
| SelectionToWeightMap | SelectionToWeightMap (v1) Convert an integer index selection to a vertex weight map where different map values can be set for selected and unselected vertices. |
| SetPhysicsAsset | SetPhysicsAsset (v1) Replace the current physics assets to collide the simulation mesh against. |
| SimAccessoryMeshNode | SimAccessoryMeshNode (v1) Add a SimAccessoryMesh by converting a cloth collection into an accessory mesh and attaching it to an existing cloth collection. |
| SimulationAerodynamicsConfig | SimulationAerodynamicsConfig (v1) Aerodynamics properties configuration node. |
| SimulationAnimDriveConfig | SimulationAnimDriveConfig (v1) Anim drive properties configuration node. |
| SimulationBackstopConfig | SimulationBackstopConfig (v1) Backstop properties configuration node. |
| SimulationBendingConfig | SimulationBendingConfig (v1) Bending constraint property configuration node. |
| SimulationBendingOverrideConfig | SimulationBendingOverrideConfig (v1) Experimental Bending constraint property override configuration node. |
| SimulationClothVertexFaceSpringConfig | SimulationClothVertexFaceSpringConfig (v1) Experimental Node for creating vertex-face constraints and setting their simulation properties. |
| SimulationClothVertexSpringConfig | SimulationClothVertexSpringConfig (v1) Experimental Node for creating vertex-vertex constraints and setting their simulation properties. |
| SimulationCollisionConfig | SimulationCollisionConfig (v1) Chaos Cloth Asset Simulation Collision Config Node |
| SimulationDampingConfig | SimulationDampingConfig (v1) Damping properties configuration node. |
| SimulationDefaultConfig | SimulationDefaultConfig (v1) Add default simulation properties to the cloth collection in the format of the skeletal mesh cloth editor. |
| SimulationGravityConfig | SimulationGravityConfig (v1) Gravity properties configuration node. |
| SimulationLongRangeAttachmentConfig | SimulationLongRangeAttachmentConfig (v2) Long range attachment constraint property configuration node. |
| SimulationMassConfig | SimulationMassConfig (v1) Mass properties configuration node. |
| SimulationMaxDistanceConfig | SimulationMaxDistanceConfig (v1) Maximum distance constraint property configuration node. |
| SimulationMorphTargetConfig | SimulationMorphTargetConfig (v1) Simulation Morph Target configuration node. |
| SimulationPressureConfig | SimulationPressureConfig (v1) Pressure properties configuration node. |
| SimulationResolveExtremeDeformationConfig | SimulationResolveExtremeDeformationConfig (v1) Resolve extreme deformation properties configuration node. |
| SimulationSelfCollisionConfig | SimulationSelfCollisionConfig (v2) Self-collision repulsion forces (point-face) properties configuration node. |
| SimulationSelfCollisionSpheresConfig | SimulationSelfCollisionSpheresConfig (v1) Self-collision spheres properties configuration node. |
| SimulationSolverConfig | SimulationSolverConfig (v1) Solver properties configuration node. |
| SimulationStretchConfig | SimulationStretchConfig (v1) Stretching constraint property configuration node. |
| SimulationStretchOverrideConfig | SimulationStretchOverrideConfig (v1) Experimental Stretching constraint property override configuration node. |
| SimulationVelocityScaleConfig | SimulationVelocityScaleConfig (v1) Velocity scale properties configuration node. |
| SkeletalMeshImport | SkeletalMeshImport (v2) Import a skeletal mesh asset into the cloth collection simulation and/or render mesh containers. |
| SkinningBlend | SkinningBlend (v1) Initialize the RenderDeformerSkinningBlend weight map from the ProxyDeformer mapping data. |
| StaticMeshImport | StaticMeshImport (v2) Import a static mesh asset into the cloth collection simulation and/or render mesh containers. |
| StripUserAttributes | StripUserAttributes (v1) Strip User Attributes such as Weight Maps, Sets, and Face Int Maps from a Cloth Collection if they are not referenced by properties. |
| TransferSkinWeights | TransferSkinWeights (v1) Transfer the skinning weights set on a skeletal mesh to the simulation and/or render mesh stored in the cloth collection. |
| TransformPositions | TransformPositions (v1) Chaos Cloth Asset Transform Positions Node |
| TransformUVs | TransformUVs (v1) Chaos Cloth Asset Transform UVs Node |
| UpdateClothFromDynamicMesh | UpdateClothFromDynamicMesh (v1) Experimental Update cloth collection attributes from a DynamicMesh |
| USDImport | USDImport (v3) Import a USD file from a third party garment construction software. |
| WeightMap | WeightMap (v1) For Name implicit operators. |
| WeightMapToSelection | WeightMapToSelection (v1) Convert a vertex weight map to an integer selection set. |
Collection
| Node | Description |
|---|---|
| CollectionBounds | CollectionBounds (v1) Get the bounds of the vertices of a specific collection Input(s) : Collection - Collection to compute the bounds from Selection - Selection input. |
| CorrectSkinWeights | CorrectSkinWeights (v1) Experimental Correct skin weights vertex properties. |
| EditSkeletonBones | EditSkeletonBones (v1) Experimental Edit skeleton bones properties. |
| EditSkinWeights | EditSkinWeights (v1) Experimental Edit skin weights vertex properties. |
| GetSkinningSelection | GetSkinningSelection (v1) Experimental Get skin weights selection attributes. |
| PaintWeightMap | PaintWeightMap (v1) Scalar vertex properties. |
| SetSkinningSelection | SetSkinningSelection (v1) Experimental Set skin weights selection attributes. |
| SetSkinningSkeletalMesh | SetSkinningSkeletalMesh (v1) Experimental Set the skeletal mesh for the collection Input(s) : Collection - Managed array collection to be used to store datas SkeletalMesh - Skeletal mesh binding to be stored in the collection GeometrySelection - Geometries to set skinning skeletal mesh on Output(s): Collection [Passthrough] - Managed array collection to be used to store datas |
Collection|Utilities
| Node | Description |
|---|---|
| CreateColorArrayFromFloatArray | CreateColorArrayFromFloatArray (v1) Set the vertex color on the collection based on the normalized float array. |
| SetVertexColorFromFloatArray | SetVertexColorFromFloatArray (v1) Set the vertex color on the collection based on the normalized float array. |
| SetVertexColorFromVertexIndices | SetVertexColorFromVertexIndices (v1) Set the vertex color of the collection based on the selection set. |
| SetVertexColorFromVertexSelection | SetVertexColorFromVertexSelection (v1) Set the vertex color of the collection based on the selection set. |
Convert
| Node | Description |
|---|---|
| ConvertBoolArrayTypes | ConvertBoolArrayTypes (v1) Convert Bool array types Input(s) : In [Intrinsic] - Input value Output(s): Out - Output value |
| ConvertBoolTypes | ConvertBoolTypes (v1) Convert Bool types Input(s) : In [Intrinsic] - Input value Output(s): Out - Output value |
| ConvertIndexArrayToSelection | ConvertIndexArrayToSelection (v1) Convert Index Array to Selection Input(s) : Collection [Intrinsic] - Collection for the selection In [Intrinsic] - Input value Output(s): Collection [Passthrough] - Collection for the selection Out - Output value |
| ConvertIndexToSelection | ConvertIndexToSelection (v1) Convert Index to Selection Input(s) : Collection [Intrinsic] - Collection for the selection In [Intrinsic] - Input value Output(s): Collection [Passthrough] - Collection for the selection Out - Output value |
| ConvertNumericArrayTypes | ConvertNumericArrayTypes (v1) Convert Numeric array types Input(s) : In [Intrinsic] - Input value Output(s): Out - Output value |
| ConvertNumericTypes | ConvertNumericTypes (v1) Convert Numeric types (double, float, int64, uint64, int32, uint32, int16, uint16, int8, uint8) Input(s) : In [Intrinsic] - Input value Output(s): Out - Output value |
| ConvertRotation | ConvertRotation (v1) Convert Rotation (FQuat, FRotator, FVector) Input(s) : In [Intrinsic] - Input value Output(s): Out - Output value |
| ConvertSelectionToIndexArray | ConvertSelectionToIndexArray (v1) Convert Selection to Index Array Input(s) : In [Intrinsic] - Input value Output(s): Out - Output value |
| ConvertSelectionTypes | ConvertSelectionTypes (v1) Convert Selection types Input(s) : Collection [Intrinsic] - GeometryCollection for the selection In [Intrinsic] - Input value Output(s): Collection [Passthrough] - GeometryCollection for the selection Out - Output value |
| ConvertStringArrayTypes | ConvertStringArrayTypes (v1) Convert String array types Input(s) : In [Intrinsic] - Input value Output(s): Out - Output value |
| ConvertStringConvertibleTypes | ConvertStringConvertibleTypes (v1) Convert String convertible types (String types, Numeric types, Vector types and Booleans) Input(s) : In [Intrinsic] - Input value Output(s): Out - Output value |
| ConvertStringTypes | ConvertStringTypes (v1) Convert String types (FString or FName or FText) Input(s) : In [Intrinsic] - Input value Output(s): Out - Output value |
| ConvertTransformArrayTypes | ConvertTransformArrayTypes (v1) Convert Transform array types Input(s) : In [Intrinsic] - Input value Output(s): Out - Output value |
| ConvertTransformTypes | ConvertTransformTypes (v1) Convert Transform types Input(s) : In [Intrinsic] - Input value Output(s): Out - Output value |
| ConvertVectorArrayTypes | ConvertVectorArrayTypes (v1) Convert Vector array types Input(s) : In [Intrinsic] - Input value Output(s): Out - Output value |
| ConvertVectorTypes | ConvertVectorTypes (v1) Convert Vector types (2D, 3D and 4D vector, single and double precision) Input(s) : In [Intrinsic] - Input value Output(s): Out - Output value |
Core
| Node | Description |
|---|---|
| Print (v1) Print value in the log Supports any type comnvertible to a string | |
| ReRouteNode | ReRouteNode (v1) Dataflow Re Route Node |
Dataflow
| Node | Description |
|---|---|
| BreakAttributeKey | BreakAttributeKey (v1) Break Attribute Key Dataflow Node |
| FloatOverride | FloatOverride (v1) Float Override Dataflow Node |
| GetSelectionSet | GetSelectionSet (v1) Get Selection Set Dataflow Node Input(s) : Collection [Intrinsic] - Collection to use Attribute - Attribute used to store the selection in the collection. |
| GetVariable | GetVariable (v1) Get Dataflow Variable Node |
| MakeSelectionSet | MakeSelectionSet (v1) Make Selection Set Dataflow Node Input(s) : Collection [Intrinsic] - Collection to use Selection [Intrinsic] - Selection to store in collection Attribute - Attribute used to store the selection in the collection. |
| SamplerToAttribute | SamplerToAttribute (v1) Use a float or vector sampler to generate the value of an attribute Input(s) : Collection [Intrinsic] - Collection to set the attribute data to Sampler - Sampler to use to set the value of the attribute AttributeName - Name of the attribute to set the value on VertexSelection - Select vertices to sample value on them Output(s): Collection [Passthrough] - Collection to set the attribute data to AttributeName [Passthrough] - Name of the attribute to set the value on |
| SelectionSet | SelectionSet (v1) Selection Set Dataflow Node |
| TextureToAttribute | TextureToAttribute (v1) Transfer data from a texture to a an attribute in a collection The texture is sampled at the specific UVs (UVChannel parameter) and is transfered to an float attribute in the selected vertex group Sampling is done using bilinear filtering Input(s) : Collection - Collection to transfer the attribute data to Texture - Texture to transfer the attribute from UVChannel - UV channel to use to sample the texture AttributeName - Name of the attribute to to transfer the texture color to Output(s): Collection [Passthrough] - Collection to transfer the attribute data to AttributeName [Passthrough] - Name of the attribute to to transfer the texture color to |
| VertexColorToAttribute | VertexColorToAttribute (v1) Transfer data from a vertex color to a an attribute in a collection Input(s) : Collection - Collection to transfer the attribute data to ColorChannel - Color channel to use as attribute value AttributeName - Name of the attribute to to transfer the vertex color to ScalingFactor - Scaling factor applied to vertex colours (in range 0-1) Output(s): Collection [Passthrough] - Collection to transfer the attribute data to |
| VisualizeAttribute | VisualizeAttribute (v1) Node to visualize a specific attribute in the construction viewport as vertex color it supports a number of attribute type ( decimal, vector or boolean ) Input(s) : Collection - Collection to read the data from AttributeName - Name of the attribute to visualize Output(s): Collection [Passthrough] - Collection to read the data from |
DataflowMesh|Selection
| Node | Description |
|---|---|
| DataflowMeshSelectionCustom | DataflowMeshSelectionCustom (v1) Creates any type of selection from a DataflowMesh by using a comma separated list Currentlly supperted types: Vertex/Face Input(s) : Mesh [Intrinsic] - DataflowMesh for the selection Indices - Comma separated list of indices (example: "0, 2, 5-10, 12-15") to specify the selection Output(s): Mesh [Passthrough] - DataflowMesh for the selection Selection - Selection from the indices. |
DataflowMesh|Transform
| Node | Description |
|---|---|
| DisplaceDataflowMesh | DisplaceDataflowMesh (v1) Displace mesh vertices by a sampler If the connected sampler is a VectorSampler, the selected vertices will be displaced by the sampled vector value. |
Fields
| Node | Description |
|---|---|
| BoxFalloffField | BoxFalloffField (v1) BoxFalloff Field Dataflow node |
| FieldMakeDenseFloatArray | FieldMakeDenseFloatArray (v1) Converts a sparse FloatArray (a selected subset of the whole incoming array) into a dense FloatArray (same number of elements as the incoming array using NumSamplePositions) using the Remap input NumSamplePositions controls the size of the output array, only indices smaller than l to than NumSamplePositions will be processed |
| NoiseField | NoiseField (v1) Noise Field Dataflow node |
| PlaneFalloffField | PlaneFalloffField (v1) PlaneFalloff Field Dataflow node |
| RadialFalloffField | RadialFalloffField (v1) RadialFalloff Field Dataflow node |
| RadialIntMaskField | RadialIntMaskField (v1) RadialIntMask Field Dataflow node |
| RadialVectorField | RadialVectorField (v1) RadialVector Field Dataflow node |
| RandomVectorField | RandomVectorField (v1) RandomVector Field Dataflow node |
| SumScalarField | SumScalarField (v1) Sum Scalar Field Dataflow Node |
| SumVectorField | SumVectorField (v1) Sum Vector Field Dataflow Node |
| UniformIntegerField | UniformIntegerField (v1) UniformInteger Field Dataflow node |
| UniformScalarField | UniformScalarField (v1) UniformScalar Field Dataflow node |
| UniformVectorField | UniformVectorField (v1) UniformVector Field Dataflow node |
| WaveScalarField | WaveScalarField (v1) WaveScalar Field Dataflow node v2 |
Flesh
| Node | Description |
|---|---|
| AddKinematicParticles | AddKinematicParticles (v1) Add Kinematic Particles Dataflow Node |
| AppendTetrahedralCollection | AppendTetrahedralCollection (v2) Append another Tetrahedral Collection to this collection. |
| AppendToCollectionTransformAttribute | AppendToCollectionTransformAttribute (v1) @todo(deprecate), move to GeometryCollection as AppendCollectionTransformDataflowNode |
| AuthorSceneCollisionCandidates | AuthorSceneCollisionCandidates (v1) Marks mesh vertices as candidates for scene collision raycasts. |
| AuthorTetMetrics | AuthorTetMetrics (v1) Generate quality metrics Input(s) : Collection - Passthrough geometry collection. |
| ComputeFiberField | ComputeFiberField (v1) Computes a muscle fiber direction per tetrahedron from a GeometryCollection containing tetrahedra, vertices, and origin & insertion vertex fields. |
| ComputeFiberStreamline | ComputeFiberStreamline (v1) Computes fiber streamlines (line segments) flowing from muscle origins to insertions in the muscle fiber field. |
| ComputeIslands | ComputeIslands (v1) @todo(deprecate) |
| ComputeMuscleActivationData | ComputeMuscleActivationData (v2) Determines muscles that are eligible for activation and computes muscle activation data. |
| CreateAirTetrahedralConstraint | CreateAirTetrahedralConstraint (v1) Create air tetrahedral constraint between point-triangle pair from surface meshes of different geometries based on search radius. |
| CreateAirVolumeConstraint | CreateAirVolumeConstraint (v1) Experimental Creates volume constraint (defined by point-triangle tetrahedron volume) between surface meshes of different geometries. |
| CreateTetrahedron | CreateTetrahedron (v1) Create Tetrahedron Dataflow Node Input(s) : Collection - Input pass-through collection. |
| DeleteFleshVertices | DeleteFleshVertices (v1) Extract a Tetrahedral Collection from this collection based on selected vertex. |
| DeleteVertexTrianglePositionTargetBinding | DeleteVertexTrianglePositionTargetBinding (v1) Delete vertex-triangle weak constraints (zero rest length springs) between VertexSelection1 and VertexSelection2. |
| GenerateOriginInsertion | GenerateOriginInsertion (v1) Given two sets of vertex indices, generate two sets of vertex indices for origins and insertions that are within X distance away. |
| GenerateSkeletalBindings | GenerateSkeletalBindings (v1) Generate barycentric bindings (used by the FleshDeformer deformer graph) of a render surface to a tetrahedral mesh. |
| GenerateSurfaceBindings | GenerateSurfaceBindings (v1) Generate barycentric bindings (used by the FleshDeformer deformer graph and Geometry Cache generation) of a render surface to a tetrahedral mesh and its surface. |
| GetFleshAsset | GetFleshAsset (v1) Get Flesh Asset Dataflow Node |
| GetSurfaceIndices | GetSurfaceIndices (v1) Get Surface Indices Node |
| IsolateComponent | IsolateComponent (v1) Isolate Component Node Input(s) : Collection - typedef FManagedArrayCollection DataType; Output(s): Collection [Passthrough] - typedef FManagedArrayCollection DataType; |
| KinematicBodySetupInitialization | KinematicBodySetupInitialization (v1) @todo(deprecate), rename to FCollisionBodyConstraintDataflowNode |
| KinematicInitialization | KinematicInitialization (v1) @todo(deprecate), rename to FKinematicConstraintDataflowNode |
| KinematicMuscleAttachments | KinematicMuscleAttachments (v1) Kinematic Muscle Attachments Dataflow Node |
| KinematicSkeletalMeshInitialization | KinematicSkeletalMeshInitialization (v1) @todo(deprecate), rename to FSkeletalMeshConstraintDataflowNode |
| KinematicSkeletonConstraint | KinematicSkeletonConstraint (v1) Bind a animation driven skeleton hierarchy into the tetrahedron on the collection. |
| MakeFleshAsset | MakeFleshAsset (v1) Converts managed array collection to a specified asset. |
| RadialTetrahedron | RadialTetrahedron (v1) @todo(deprecate), rename to FRadialTetrahedronDataflowNode |
| ReadSkeletalMeshCurves | ReadSkeletalMeshCurves (v1) Read Skeletal Mesh Curves Dataflow Node |
| SetCollidableVertices | SetCollidableVertices (v1) Set custom vertices so that only these vertices can collide with other surfaces. |
| SetFleshBonePositionTargetBinding | SetFleshBonePositionTargetBinding (v2) Binds vertices from Collection to bone skeletal mesh surface via kinematic or weak constraints. |
| SetFleshDefaultProperties | SetFleshDefaultProperties (v1) Set Flesh Default Properties Node |
| SetMuscleActivationParameter | SetMuscleActivationParameter (v1) Sets per-muscle parameters for custom muscle contraction. |
| SetVertexTetrahedraPositionTargetBinding | SetVertexTetrahedraPositionTargetBinding (v1) Set Vertex Tetrahedra Position Target Binding Dataflow Node |
| SetVertexTrianglePositionTargetBinding | SetVertexTrianglePositionTargetBinding (v1) Create point-triangle weak constraints (springs) between surface meshes of different geometries based on search radius. |
| SetVertexVertexPositionTargetBinding | SetVertexVertexPositionTargetBinding (v1) Set Vertex Vertex Position Target Binding Dataflow Node |
| SkinSimulationProperties | SkinSimulationProperties (v1) Set triangle mesh to simulate using skin constraints |
| TriangleMeshSimulationProperties | TriangleMeshSimulationProperties (v1) Convert tetmesh to simulate using surface traingle mesh only |
| VisualizeFiberField | VisualizeFiberField (v1) Visualizes a muscle fiber direction per tetrahedron from a GeometryCollection containing tetrahedra. |
| VisualizeKinematicFaces | VisualizeKinematicFaces (v1) Visualizes kinematic faces from GeometryCollection. |
| VisualizePositionTargets | VisualizePositionTargets (v1) Visualizes position target vectors from GeometryCollection. |
Flesh|Experimental
| Node | Description |
|---|---|
| TriangleBoundaryIndices | TriangleBoundaryIndices (v1) Experimental Outputs boundary nodes of a triangle mesh |
Flesh|Utilities
| Node | Description |
|---|---|
| VisualizeTetrahedrons | VisualizeTetrahedrons (v1) Visualize tetrahedrons in a collection Input(s) : Collection [Intrinsic] - Collection for the custom attribute Output(s): Collection [Passthrough] - Collection for the custom attribute |
FlowControl
| Node | Description |
|---|---|
| Branch | Branch (v1) Dataflow Branch Node |
| ForceDependency | ForceDependency (v1) Force an evaluation dependency between two values Input(s) : Value - Evaluating Value will force an evaluation of DependentValue DependentValue - Evaluating Value will force an evaluation of DependentValue Output(s): Value [Passthrough] - Evaluating Value will force an evaluation of DependentValue |
| Select | Select (v1) Dataflow Select Node |
General
| Node | Description |
|---|---|
| GetPhysicsAssetFromSkeletalMesh | GetPhysicsAssetFromSkeletalMesh (v1) Get the physics assets from input skeletal mesh. |
| SkeletalMesh | SkeletalMesh (v1) Get Skeletal Mesh Dataflow Node |
| SkeletalMeshBone | SkeletalMeshBone (v1) Skeletal Mesh Bone Dataflow Node |
| SkeletalMeshReferenceTransform | SkeletalMeshReferenceTransform (v1) Skeletal Mesh Reference Transform Dataflow Node |
| Skeleton | Skeleton (v1) Get Skeleton Dataflow Node |
| StaticMesh | StaticMesh (v2) Get a existing static mesh asset |
| TransferMeshAttributes | TransferMeshAttributes (v1) Experimental Dataflow node that transfers mesh attributes (skin weights, morph targets, polygroups, triangle labels) from SourceMesh onto Mesh using the UE::Geometry::FTransferAttributes operator. |
Generators|Array
| Node | Description |
|---|---|
| MakeIntArray | MakeIntArray (v1) Make an int32 array starting with Start with Count elements Input(s) : Start - First element of IntArray Count - Number of elements in IntArray Output(s): IntArray - IntArray |
| MakeIntArrayFromList | MakeIntArrayFromList (v1) Make an int32 array from a comma separated list, e.g. "0, 2, 5-10, 12-15" Output(s): IntArray - IntArray |
Generators|Box
| Node | Description |
|---|---|
| MakeBox | MakeBox (v1) Make a box |
Generators|Collection
| Node | Description |
|---|---|
| MakeCollection | MakeCollection (v1) Make an empty ManagedArrayCollection |
Generators|Mesh
| Node | Description |
|---|---|
| MakeBoxMesh | MakeBoxMesh (v2) Make a box mesh Output(s): Mesh - Output mesh |
| MakeCapsuleMesh | MakeCapsuleMesh (v2) Make a capsule mesh Output(s): Mesh - Output mesh |
| MakeCylinderMesh | MakeCylinderMesh (v2) Make a cylinder mesh Output(s): Mesh - Output mesh |
| MakeDiscMesh | MakeDiscMesh (v2) Make a disc mesh Output(s): Mesh - Output mesh |
| MakeRectangleMesh | MakeRectangleMesh (v2) Make a rectangle mesh Input(s) : Origin - Rectangle will be translated so that center is at this point Normal - Normal vector of all vertices will be set to this value. |
| MakeSphereMesh | MakeSphereMesh (v2) Make a sphere mesh Output(s): Mesh - Output mesh |
| MakeStairMesh | MakeStairMesh (v2) Make a stair mesh Output(s): Mesh - Output mesh |
| MakeTorusMesh | MakeTorusMesh (v2) Make a torus mesh Input(s) : Origin - Torus will be translated so that center is at this point Output(s): Mesh - Output mesh |
Generators|Plane
| Node | Description |
|---|---|
| MakePlane | MakePlane (v2) Make a plane Input(s) : BasePoint - Base point Normal - Normal vector Output(s): Plane - Output plane |
Generators|Point
| Node | Description |
|---|---|
| AppendPoints | AppendPoints (v1) Combine two arrays of points into one |
| ClusterScatterPoints | ClusterScatterPoints (v1) Cluster Scatter Points Dataflow Node Input(s) : NumberClustersMin - Minimum number of clusters of points to create. |
| GridScatterPoints | GridScatterPoints (v1) Grid Scatter Points Dataflow Node Input(s) : NumberOfPointsInX - Number of points in X direction NumberOfPointsInY - Number of points in Y direction NumberOfPointsInZ - Number of points in Z direction RandomSeed - Seed for random MaxRandomDisplacementX - Random displacement in X direction will be in the range (-MaxRandomDisplacementX, MaxRandomDisplacementX) MaxRandomDisplacementY - Random displacement in Y direction will be in the range (-MaxRandomDisplacementY, MaxRandomDisplacementY) MaxRandomDisplacementZ - Random displacement in Z direction will be in the range (-MaxRandomDisplacementZ, MaxRandomDisplacementZ) BoundingBox - BoundingBox to generate points inside of Output(s): Points - Generated points |
| MakePoints | MakePoints (v1) Make a points array from specified points |
| MakePoints | MakePoints (v2) Make a points array from specified points |
| RadialScatterPoints | RadialScatterPoints (v2) Radial Scatter Points Dataflow Node V 2 Input(s) : BoundingBox - BoundingBox to generate points inside of Center - Center of generated pattern Normal - Normal to plane in which sites are generated RandomSeed - Seed for random AngularSteps - Number of angular steps AngleOffset - Angle offset at each radial step (in degrees) AngularNoise - Amount of global variation to apply to each angular step (in degrees) Radius - Pattern radius (in cm) RadialSteps - Number of radial steps RadialStepExponent - Radial steps will follow a distribution based on this exponent, i.e., Pow(distance from center, RadialStepExponent) RadialMinStep - Minimum radial separation between any two voronoi points (in cm) RadialNoise - Amount of global variation to apply to each radial step (in cm) RadialVariability - Amount to randomly displace each Voronoi site radially (in cm) AngularVariability - Amount to randomly displace each Voronoi site in angle (in degrees) AxialVariability - Amount to randomly displace each Voronoi site in the direction of the rotation axis (in cm) Output(s): Points - Generated points |
| TransformPoints | TransformPoints (v1) Transform an array of points |
| UniformScatterPoints | UniformScatterPoints (v2) Uniform Scatter Points Dataflow Node V 2 Input(s) : MinNumberOfPoints - Minimum for the random range MaxNumberOfPoints - Maximum for the random range RandomSeed - Seed for random BoundingBox - BoundingBox to generate points inside of Output(s): Points - Generated points |
Generators|Sphere
| Node | Description |
|---|---|
| MakeSphere | MakeSphere (v1) Description for this node |
Generators|Transform
| Node | Description |
|---|---|
| MakeRotator | MakeRotator (v1) Make a Rotator Input(s) : Pitch - Rotation around the right axis (around Y axis), Looking up and down (0=Straight Ahead, +Up, -Down) Yaw - Rotation around the up axis (around Z axis), Turning around (0=Forward, +Right, -Left) Roll - Rotation around the forward axis (around X axis), Tilting your head, (0=Straight, +Clockwise, -CCW) Output(s): Rotator - Rotator output |
| MakeTransform | MakeTransform (v1) Make an FTransform Note: Originaly this version was depricated and replaced with FMakeTransformDataflowNode_v2 but when AnyRotationType was introduced with the ConvertAnyRotation node FMakeTransformDataflowNode_v2 became obsolete and this version became the current version again Input(s) : InTranslation - Translation InRotation - Rotation as Euler InScale - Scale Output(s): OutTransform - Result transform |
GeometryCollection
| Node | Description |
|---|---|
| AddRootProxyMeshToArray | AddRootProxyMeshToArray (v1) Add a root proxy object to an array of root proxy mesh * (used by geometry collection assets) Input(s) : RootProxyMeshes - Root proxy array to add the mesh to Output(s): RootProxyMeshes [Passthrough] - Root proxy array to add the mesh to |
| AppendCollections | AppendCollections (v1) Description for this node |
| CloseGeometryOnCollection | CloseGeometryOnCollection (v1) Close Geometry on Collection Dataflow Node |
| CollectionToSkeletalMesh | CollectionToSkeletalMesh (v1) Collection to Skeletal Mesh Dataflow Node |
| MakeAttributeKey | MakeAttributeKey (v1) Make Attribute Key Dataflow Node |
| MakeRootProxyMesh | MakeRootProxyMesh (v1) Create a RootProxyMesh object (used by geometry collection assets) Input(s) : Mesh - mesh to use as a proxy Transform - transform to use for the proxy, relative to the asset it will be used for Output(s): RootProxyMesh - mesh to use as a proxy |
| MakeRootProxyMeshArray | MakeRootProxyMeshArray (v1) Create a RootProxyMesh Array (used by geometry collection assets) Output(s): RootProxyMeshes - newly created array |
| SetKinematicVertexSelection | SetKinematicVertexSelection (v1) Set VertexSelection to be kinematic. |
| SkeletalMeshToCollection | SkeletalMeshToCollection (v1) Skeletal Mesh to Collection Dataflow Node |
| TransferVertexAttribute | TransferVertexAttribute (v1) Transfer float properties from a source collection to a target collection. |
| TransferVertexSkinWeights | TransferVertexSkinWeights (v1) Transfer skin weights from a source collection to a target collection. |
| TransformCollectionAttribute | TransformCollectionAttribute (v1) Transform Collection Attribute Dataflow Node |
| VertexScalarToVertexIndices | VertexScalarToVertexIndices (v1) Convert an vertex float array to a list of indices Input(s) : AttributeKey - The name of the vertex attribute and group to generate indices from. |
GeometryCollection|Asset
| Node | Description |
|---|---|
| AssetRandomSeed | AssetRandomSeed (v1) Create a random seed value from an asset Input(s) : Seed - Seed to combine with the seed generated from the asset path Output(s): RandomSeed - Random seed value |
| BlueprintToCollection | BlueprintToCollection (v2) Create a geometry collection from an asset Output(s): Collection - Geometry collection newly created Materials - Material instances array from the static mesh InstancedMeshes - Array of instanced meshes RootProxyMeshes - corresponding source proxies |
| CreateGeometryCollectionFromSources | CreateGeometryCollectionFromSources (v2) create a geometry collection from a set of geometry sources if the source array is not connected, the source array from the current asset is going to be used Input(s) : Sources - array of geometry sources Output(s): Collection - Geometry collection newly created Materials - Materials array to use for this asset InstancedMeshes - array of instanced meshes RootProxyMeshes - corresponding source proxies |
| GeometryCollectionToCollection | GeometryCollectionToCollection (v2) Converts a UGeometryCollection asset to an FManagedArrayCollection Input(s) : GeometryCollection - Asset input Output(s): Collection - Geometry collection newly created Materials - Material instances array from the static mesh InstancedMeshes - Array of instanced meshes RootProxyMeshes - corresponding source proxies |
| GetGeometryCollectionAsset | GetGeometryCollectionAsset (v1) Get Current geometry collection asset Note : Use with caution as this may get replaced in a near future for a more generic getAsset node Output(s): Asset - Asset this data flow graph instance is assigned to |
| GetGeometryCollectionSources | GetGeometryCollectionSources (v1) Get the list of the original mesh information used to create a specific geometryc collection asset each entry contains a mesh, a transform and a list of override materials Input(s) : Asset - Asset to get geometry sources from Output(s): Sources - array of geometry sources |
| StaticMeshToCollection | StaticMeshToCollection (v2) Create a geometry collection from a UStaticMesh Input(s) : StaticMesh - Asset input MeshTransform - Transform to apply to the mesh before converting it to a collection Output(s): Collection - Geometry collection newly created Materials - Material array from the static mesh InstancedMeshes - Array of instanced meshes RootProxyMeshes - corresponding source proxies |
GeometryCollection|Cluster
| Node | Description |
|---|---|
| AutoCluster | AutoCluster (v1) Automatically group pieces of a fractured Collection into a specified number of clusters Input(s) : ClusterSites - Use a Voronoi diagram with this many Voronoi sites as a guide for deciding cluster boundaries ClusterFraction - Choose the number of Voronoi sites used for clustering as a fraction of the number of child bones to process SiteSize - Choose the Edge-Size of the cube used to groups bones under a cluster (in cm). |
| Cluster | Cluster (v1) Cluster selected nodes under a new parent Input(s) : Collection [Intrinsic] - Collection on which to cluster nodes TransformSelection - Bone selection Output(s): Collection [Passthrough] - Collection on which to cluster nodes |
| ClusterIsolatedRoots | ClusterIsolatedRoots (v1) Add a single cluster to the Geometry Collection if it only has a single transform with no clusters Input(s) : Collection [Intrinsic] - Collection to modify Output(s): Collection [Passthrough] - Collection to modify |
| ClusterMagnet | ClusterMagnet (v1) Cluster by grouping the selected bones with their adjacent, neighboring bones. |
| ClusterMerge | ClusterMerge (v1) Merge selected bones under a new parent cluster Input(s) : Collection [Intrinsic] - Collection on which to merge bones into a cluster TransformSelection - Bone selection Output(s): Collection [Passthrough] - Collection on which to merge bones into a cluster |
| ClusterMergeToNeighbors | ClusterMergeToNeighbors (v1) Merge selected bones to their neighbors Input(s) : Collection [Intrinsic] - Collection on which to merge bones into a neighboring cluster TransformSelection - Bone selection MinVolumeCubeRoot - Size (cube root of volume) of minimum desired post-merge clusters; if > 0, selected clusters may be merged multiple times until the cluster size is above this value bOnlyToConnected - Whether to only allow clusters to merge if their bones are connected in the proximity graph bOnlySameParent - Whether to only allow clusters to merge if they have the same parent bone Output(s): Collection [Passthrough] - Collection on which to merge bones into a neighboring cluster |
| Flatten | Flatten (v1) Flattens selected bones. |
| Uncluster | Uncluster (v1) Uncluster selected nodes Input(s) : Collection [Intrinsic] - Fractured GeometryCollection to uncluster TransformSelection - Bone selection Output(s): Collection [Passthrough] - Fractured GeometryCollection to uncluster |
GeometryCollection|Development
| Node | Description |
|---|---|
| Convert Mesh to OBJ String | Convert Mesh to OBJ String (v1) Convert a mesh to a string formatted as an OBJ file, which can be read by many external mesh viewers Input(s) : bInvertFaces - Whether to flip the orientation of the triangles in the OBJ output Output(s): StringOBJ - A string representing the input mesh in the OBJ file format |
| Write String to File | Write String to File (v1) Write a string to a file Input(s) : FilePath - Where file should be written on disk FileContents - Contents of the file to write |
GeometryCollection|Edit
| Node | Description |
|---|---|
| MergeInCollection | MergeInCollection (v1) Merges selected bones into a single bone Input(s) : Collection [Intrinsic] - Fractured GeometryCollection to merge TransformSelection [Intrinsic] - Transform selection for merging Output(s): Collection [Passthrough] - Fractured GeometryCollection to merge |
| PruneInCollection | PruneInCollection (v1) Deletes selected bones from Collection. |
| SetVisibilityInCollection | SetVisibilityInCollection (v1) Sets all selected bone's visibilty to Visible/Hidden Input(s) : Collection [Intrinsic] - Fractured GeometryCollection to set visibility TransformSelection [Intrinsic] - Transform selection for setting visibility FaceSelection [Intrinsic] - Face selection for setting visibility Output(s): Collection [Passthrough] - Fractured GeometryCollection to set visibility |
GeometryCollection|Fracture
| Node | Description |
|---|---|
| BrickCutter | BrickCutter (v1) Editor Fracture Mode / Fracture / Brick tool Fracture with a customizable brick pattern. |
| MeshCutter | MeshCutter (v1) Editor Fracture Mode / Fracture / Mesh tool Fracture using the shape of a chosen static mesh and/or array of dynamic meshes Input(s) : Collection [Intrinsic] - Collection to cut BoundingBox - Boundingbox to create the cutting planes in TransformSelection - The selected pieces to cut Transform - Transform to apply to cut planes CuttingDynamicMeshes - Dynamic Meshes to cut with CuttingStaticMesh - Static Mesh to cut with NumberToScatter - Number of meshes to random scatter GridX - Number of meshes to add to grid in X GridY - Number of meshes to add to grid in Y GridZ - Number of meshes to add to grid in Z Variability - Magnitude of random displacement to cutting meshes MinScaleFactor - Minimum scale factor to apply to cutting meshes. |
| PlaneCutter | PlaneCutter (v2) Editor Fracture Mode / Fracture / Planar tool Fracture using a set of noised up planes. |
| RemoveMeshOverlaps | RemoveMeshOverlaps (v1) Cut away any overlaps between input meshes, creating a set of non-overlapping meshes as output For example, given meshes w/ order [A, B, C], non-overlapping meshes will be [(A-B)-C, B-C, C] Input(s) : DynamicMeshes [Intrinsic] - Dynamic Meshes to remove overlaps from PerMeshTransforms - Optional transforms for input meshes. |
| SliceCutter | SliceCutter (v1) Editor Fracture Mode / Fracture / Slice tool Fracture with a grid of X, Y, and Z slices, with optional random variation in angle and offset. |
| UniformFracture | UniformFracture (v1) Editor Fracture Mode / Fracture / Uniform tool Fracture using a Voronoi diagram with a uniform random pattern, creating fracture pieces of similar volume across the shape. |
| VoronoiFracture | VoronoiFracture (v2) Voronoi fracture Fracture using a Voronoi diagram with a uniform random pattern, creating fracture pieces of similar volume across the shape. |
GeometryCollection|Fracture|Utilities
| Node | Description |
|---|---|
| ExplodedView | ExplodedView (v1) "Explodes" the pieces from the Collection for better visualization Input(s) : Collection [Intrinsic] - Collection to explode UniformScale - Scale amount to expand the pieces uniformly in all directions Scale - Scale amounts to expand the pieces in all 3 directions Offset - Translate collection for exploded view Output(s): Collection [Passthrough] - Collection to explode |
| FixTinyGeo | FixTinyGeo (v1) Editor Fracture Mode / Utilities / TinyGeo tool Merge pieces of geometry onto their neighbors -- use it to, for example, clean up too small pieces of geometry. |
| RecomputeNormalsInGeometryCollection | RecomputeNormalsInGeometryCollection (v1) Editor Fracture Mode / Utilities / Normals tool Recompute normals and tangents. |
| ResampleGeometryCollection | ResampleGeometryCollection (v1) Editor Fracture Mode / Utilities / Resample tool Resample to add collision particles in large flat regions that otherwise might have poor collision response. |
| SplitIslands | SplitIslands (v1) Editor Fracture Mode / Utilities / Split Islands tool Split selected geometry into islands based on mesh connectivity and distances. |
| ValidateGeometryCollection | ValidateGeometryCollection (v1) Editor Fracture Mode / Utilities / Validate tool Ensures that geometrycollection is valid and clean. |
| VisualizeFracture | VisualizeFracture (v1) Visualizing fracture/cluster info in fractured collection Input(s) : Collection [Intrinsic] - Collection to visualize RandomSeed - Seed for random ExplodeAmount - Scale amount to expand the pieces uniformly in all directions Scale - Scale amounts to expand the pieces in all 3 directions Offset - Translate collection for exploded view Output(s): Collection [Passthrough] - Collection to visualize |
GeometryCollection|Mesh
| Node | Description |
|---|---|
| Convex Hull to Mesh | Convex Hull to Mesh (v1) Convert convex hulls on a geometry collection to a dynamic mesh Input(s) : OptionalSelectionFilter - Optional transform selection to convert hulls from -- if not provided, all convex hulls will be converted. |
| Sphere Covering to Mesh | Sphere Covering to Mesh (v1) Convert a sphere covering, as generated by the 'protect negative space' option on the "Generate Cluster Convex Hull" nodes, to a dynamic mesh Input(s) : SphereCovering [Intrinsic] - The sphere covering to convert to a mesh |
| SpheresToMesh | SpheresToMesh (v1) Convert a TArray |
GeometryCollection|Overrides
| Node | Description |
|---|---|
| GetBoolOverrideFromAsset | GetBoolOverrideFromAsset (v1) Get Bool Override from Asset Dataflow Node |
| GetFloatOverrideFromAsset | GetFloatOverrideFromAsset (v1) Get Float Override from Asset Dataflow Node |
| GetIntOverrideFromAsset | GetIntOverrideFromAsset (v1) Get Int Override from Asset Dataflow Node |
| GetStringOverrideFromAsset | GetStringOverrideFromAsset (v1) Get String Override from Asset Dataflow Node |
GeometryCollection|Selection
| Node | Description |
|---|---|
| CollectionSelectInternalFaces | CollectionSelectInternalFaces (v1) Select internal faces Input(s) : Collection [Intrinsic] - Collection to select the internal faces from TransformSelection - Transform selection to get the internal faces from if this input is not connected, then all internal faces from the collection will be returned Output(s): Collection [Passthrough] - Collection to select the internal faces from FaceSelection - selection containing Internal faces |
| CollectionSelectionAll | CollectionSelectionAll (v1) Selects all the elements in the selected group from the collection Input(s) : Collection [Intrinsic] - GeometryCollection for the selection Output(s): Collection [Passthrough] - GeometryCollection for the selection Selection - Output selection. |
| CollectionSelectionByAttribute | CollectionSelectionByAttribute (v1) Selects specified Vertices/Faces/Transforms/.... |
| CollectionSelectionByPercentage | CollectionSelectionByPercentage (v1) Selects specified percentage of elements in the collection from the specified group Input(s) : Selection [Intrinsic] - Selection to selectt from by percentage Percentage - Percentage to keep from the elements RandomSeed - Seed for the random generation, only used if Deterministic is on Output(s): Selection [Passthrough] - Selection to selectt from by percentage |
| CollectionSelectionByPrimitive | CollectionSelectionByPrimitive (v1) Selects elements which are contained in a transformed box Supported groups: Transform/Vertices/Faces/Geometry/Curves Input(s) : Collection [Intrinsic] - GeometryCollection for the selection Primitive - Primitive used for the selection (Box, Sphere or Plane) Transform - Transform for the primitive Output(s): Collection [Passthrough] - GeometryCollection for the selection Selection - Output selection |
| CollectionSelectionConvert | CollectionSelectionConvert (v2) Converts Vertex/Face/Transform selection into Vertex/Face/Transform selection Supported groups: Transform/Vertices/Faces/Geometry/Curves Input(s) : Collection [Intrinsic] - GeometryCollection for the selection Selection [Intrinsic] - Vertex/Face/Transform selection to convert. |
| CollectionSelectionCustom | CollectionSelectionCustom (v1) Creates any type of selection from a collection by using a comma separated list Input(s) : Collection [Intrinsic] - GeometryCollection for the selection Indices - Comma separated list of indices (example: "0, 2, 5-10, 12-15") to specify the selection Output(s): Collection [Passthrough] - GeometryCollection for the selection Selection - Selection from the indices. |
| CollectionSelectionInvert | CollectionSelectionInvert (v1) Inverts selection ( support all selection types ) Input(s) : Selection [Intrinsic] - selection to invert Output(s): Selection [Passthrough] - selection to invert |
| CollectionSelectionNone | CollectionSelectionNone (v1) Selects none of the elements in the selected group from the collection Input(s) : Collection [Intrinsic] - GeometryCollection for the selection Output(s): Collection [Passthrough] - GeometryCollection for the selection Selection - Output selection. |
| CollectionSelectionRandom | CollectionSelectionRandom (v1) Selects randomly in the collection from the specified group Input(s) : Collection [Intrinsic] - GeometryCollection for the selection RandomSeed - Seed for the random generation, only used if Deterministic is on RandomThreshold - Get selected if RandomValue < RandomThreshold Output(s): Collection [Passthrough] - GeometryCollection for the selection Selection - Output selection. |
| CollectionSelectionSetOperation | CollectionSelectionSetOperation (v1) Runs boolean operation on selection ( support all selection types ) Input(s) : SelectionA [Intrinsic] - First Selection object SelectionB [Intrinsic] - Second Selection object Output(s): Selection - Array of the selected bone indices after operation |
| CollectionSelectionToAttribute | CollectionSelectionToAttribute (v1) Creates specified attribute on the incoming selection's group and sets specified value to selected elements, the nonselected elements will be set to default valu. |
GeometryCollection|Selection|Array
| Node | Description |
|---|---|
| CollectionTransformSelectionFromIndexArray | CollectionTransformSelectionFromIndexArray (v1) Convert index array to a transform selection Input(s) : Collection [Intrinsic] - Collection to use for the selection. |
| SelectFloatArrayIndicesInRange | SelectFloatArrayIndicesInRange (v1) Selects indices of a float array by range Input(s) : Values - GeometryCollection for the selection Output(s): Indices - Indices of float Values matching the specified range |
GeometryCollection|Selection|Transform
| Node | Description |
|---|---|
| CollectionSelectTransformString | CollectionSelectTransformString (v1) Selects transforms by name using a the BoneName attributeor other Transform group string typed attributes Input(s) : Collection [Intrinsic] - Collection for the selection Attribute - Text to serach in the name SearchText - Text to serach in the name Output(s): Collection [Passthrough] - Collection for the selection TransformSelection - output selection of the matching transforms |
| CollectionSetTransformString | CollectionSetTransformString (v1) Set selected transform string value the string format can use the following predefined value : - {Current} current value of the attribute - {Index} index in the selection passed as input Input(s) : Collection [Intrinsic] - Collection for the selection TransformSelection - input selection of the transforms to set - if not connected use all Attribute - Text to serach in the name TextToSet - Text to set Output(s): Collection [Passthrough] - Collection for the selection |
| CollectionTransformSelectBySize | CollectionTransformSelectBySize (v1) Selects pieces based on their size Input(s) : Collection [Intrinsic] - GeometryCollection for the selection Output(s): Collection [Passthrough] - GeometryCollection for the selection TransformSelection - Array of the selected bone indices |
| CollectionTransformSelectByVolume | CollectionTransformSelectByVolume (v1) Selects pieces based on their volume Input(s) : Collection [Intrinsic] - GeometryCollection for the selection Output(s): Collection [Passthrough] - GeometryCollection for the selection TransformSelection - Array of the selected bone indices |
| CollectionTransformSelectChildren | CollectionTransformSelectChildren (v1) Selects the children of the selected bones Input(s) : TransformSelection [Intrinsic] - Array of the selected bone indices Collection [Intrinsic] - GeometryCollection for the selection Output(s): TransformSelection [Passthrough] - Array of the selected bone indices Collection [Passthrough] - GeometryCollection for the selection |
| CollectionTransformSelectCluster | CollectionTransformSelectCluster (v2) Selects the clusters in the Collection this version works properly and address the issues found in the deprecated version 1 Input(s) : Collection [Intrinsic] - GeometryCollection for the selection Output(s): Collection [Passthrough] - GeometryCollection for the selection TransformSelection - Array of the selected bone indices |
| CollectionTransformSelectContact | CollectionTransformSelectContact (v1) Selects the contact(s) of the selected bones Input(s) : TransformSelection [Intrinsic] - Array of the selected bone indices Collection [Intrinsic] - GeometryCollection for the selection Output(s): TransformSelection [Passthrough] - Array of the selected bone indices Collection [Passthrough] - GeometryCollection for the selection |
| CollectionTransformSelectionInfo | CollectionTransformSelectionInfo (v1) Generates a formatted string of the bones and the selection Input(s) : TransformSelection [Intrinsic] - Array of the selected bone indices Collection - GeometryCollection for the selection Output(s): String - Formatted string of the bones and selection |
| CollectionTransformSelectLeaf | CollectionTransformSelectLeaf (v1) Selects the leaves in the Collection Input(s) : Collection [Intrinsic] - GeometryCollection for the selection Output(s): Collection [Passthrough] - GeometryCollection for the selection TransformSelection - Array of the selected bone indices |
| CollectionTransformSelectParent | CollectionTransformSelectParent (v1) Selects the parents of the currently selected bones Input(s) : TransformSelection [Intrinsic] - Array of the selected bone indices Collection [Intrinsic] - GeometryCollection for the selection Output(s): TransformSelection [Passthrough] - Array of the selected bone indices Collection [Passthrough] - GeometryCollection for the selection |
| CollectionTransformSelectRoot | CollectionTransformSelectRoot (v1) Selects the root bones in the Collection Input(s) : Collection [Intrinsic] - GeometryCollection for the selection Output(s): Collection [Passthrough] - GeometryCollection for the selection TransformSelection - Array of the selected bone indices |
| CollectionTransformSelectSameLevel | CollectionTransformSelectSameLevel (v1) Expand the selection to include all nodes with the same level as the selected nodes Input(s) : TransformSelection [Intrinsic] - Array of the selected bone indices Collection [Intrinsic] - GeometryCollection for the selection Output(s): TransformSelection [Passthrough] - Array of the selected bone indices Collection [Passthrough] - GeometryCollection for the selection |
| CollectionTransformSelectSiblings | CollectionTransformSelectSiblings (v1) Selects the siblings of the selected bones Input(s) : TransformSelection [Intrinsic] - Array of the selected bone indices Collection [Intrinsic] - GeometryCollection for the selection Output(s): TransformSelection [Passthrough] - Array of the selected bone indices Collection [Passthrough] - GeometryCollection for the selection |
| CollectionTransformSelectTargetLevel | CollectionTransformSelectTargetLevel (v1) Selects the root bones in the Collection Input(s) : Collection [Intrinsic] - GeometryCollection for the selection TargetLevel - Level to select Output(s): Collection [Passthrough] - GeometryCollection for the selection TransformSelection - Array of the selected bone indices |
GeometryCollection|Texture
| Node | Description |
|---|---|
| BakeTextureFromCollection | BakeTextureFromCollection (v1) Bake a texture from a geometry collection Output to a 4 channels Image object ( RGBA ) Input(s) : Collection [Intrinsic] - Target Collection FaceSelection - selection of faces to bake : if not connected, all faces will be used Resolution - resolution of the image to bake bFullyPadGutter - Whether to pad out gutter size so that all empty texels are filled GutterSize - Approximate space to fill in between UV islands, measured in texels. |
GeometryCollection|Utilities
| Node | Description |
|---|---|
| AddCustomCollectionAttribute | AddCustomCollectionAttribute (v1) Adds custom attribute to Collection Input(s) : Collection [Intrinsic] - Collection for the custom attribute Output(s): Collection [Passthrough] - Collection for the custom attribute |
| ClearConvexHulls | ClearConvexHulls (v1) Clear convex hulls from a collection Input(s) : TransformSelection - [Optional] selection of transforms to clear convex on, if not set all the transform will be used |
| CollectionInfo | CollectionInfo (v1) Outputs Collection info Input(s) : Collection [Intrinsic] - Collection storing the points Output(s): Collection [Passthrough] - Collection storing the points MaxLevel - MaxLevel |
| CollectionToPoints | CollectionToPoints (v1) Get vertices from a collection as a point cloud Input(s) : Collection [Intrinsic] - Collection storing the points Output(s): Collection [Passthrough] - Collection storing the points Points - Points from the collection |
| ComputeVolumeStatsData | ComputeVolumeStatsData (v1) Compute information about the volume of a collection specific transform or root Input(s) : Collection [Intrinsic] - Collection to collect the stats from TransformIndex - Selection to consider , if set to -1 or not a valid transform in the collection, the root will be considered Output(s): Collection [Passthrough] - Collection to collect the stats from GeometryVolume - Volume of the geometry in cm3 ConvexVolume - Volume of the single wrapping convex around the geometry in cm3 VolumeRatio - Ratio of the geometry volume in relation to the wrapping convex volume ( GeometryVolume / ConvexVolume ) VolumePercentage - Percentage of the geometry volume in relation to the wrapping convex volume ( GeometryVolume / ConvexVolume * 100 ) EmptySpaceCubeSize - Cube size of the empty space volume (cubic root of the volume = Edge size of a cube of similar volume) |
| CreateLeafConvexHulls | CreateLeafConvexHulls (v1) Create Leaf Convex Hulls Dataflow Node Input(s) : OptionalSelectionFilter - Optional transform selection to compute leaf hulls on -- if not provided, all leaf hulls will be computed. |
| CreateNegativeSpaceSphereCovering | CreateNegativeSpaceSphereCovering (v1) Generates a negative space sphere covering for a given geometry collection or subset of bones in the collection Input(s) : OptionalSelectionFilter - Optional transform selection -- if not provided, covering for all leaf geometry will be computed. |
| CreateNonOverlappingConvexHulls | CreateNonOverlappingConvexHulls (v1) Generates convex hull representation for the bones for simulation Input(s) : CanExceedFraction - Fraction (of geometry volume) by which a cluster's convex hull volume can exceed the actual geometry volume before instead using the hulls of the children. |
| GenerateClusterConvexHullsFromChildrenHulls | GenerateClusterConvexHullsFromChildrenHulls (v1) Generates cluster convex hulls for children hulls Input(s) : ConvexCount - Maximum number of convex to generate for a specific cluster. |
| GenerateClusterConvexHullsFromLeafHulls | GenerateClusterConvexHullsFromLeafHulls (v1) Generates cluster convex hulls for leafs hulls Input(s) : ConvexCount - Maximum number of convex to generate for a specific cluster. |
| GetBoundingBoxesFromCollection | GetBoundingBoxesFromCollection (v1) Gets BoundingBoxes of pieces from a Collection Input(s) : Collection - Input Collection TransformSelection - The BoundingBoxes will be output for the bones selected in the TransformSelection Output(s): BoundingBoxes - Output BoundingBoxes |
| GetCentroidsFromCollection | GetCentroidsFromCollection (v1) Gets centroids of pieces from a Collection Input(s) : Collection - Input Collection TransformSelection - The centroids will be output for the bones selected in the TransformSelection Output(s): Centroids - Output centroids Levels - Hidden output to store computed level values for centroids |
| GetCollectionAttributeDataTyped | GetCollectionAttributeDataTyped (v1) Get attribute data from a Collection Input(s) : Collection [Intrinsic] - Collection for the custom attribute AttributeKey - Input to drive the Attribute and Group name Output(s): BoolAttributeData - Bool type attribute data FloatAttributeData - Float type attribute data DoubleAttributeData - Float type attribute data Int32AttributeData - Int type attribute data StringAttributeData - Int type attribute data Vector3fAttributeData - Vector3f type attribute data Vector3dAttributeData - Vector3d type attribute data LinearColorAttributeData - Vector3d type attribute data |
| GetConvexHullVolume | GetConvexHullVolume (v1) Get the sum of volumes of the convex hulls on the selected nodes Input(s) : TransformSelection [Intrinsic] - The transforms to consider Output(s): Volume - Sum of convex hull volumes |
| GetNumElementsInCollectionGroup | GetNumElementsInCollectionGroup (v1) Returns number of elements in a group in a Collection Input(s) : Collection [Intrinsic] - Collection for the custom attribute Output(s): NumElements - Number of elements for the attribute |
| GetNumElementsInSelection | GetNumElementsInSelection (v1) Returns number of elements in a Selection Output(s): NumElements - Number of all (selected and non-selected) elements in the Selection NumSelectedElements - Number of selected elements in the Selection |
| GetRootIndexFromCollection | GetRootIndexFromCollection (v1) Get the root node index |
| GetSchema | GetSchema (v1) Collects group and attribute information from the Collection and outputs it into a formatted string Input(s) : Collection - GeometryCollection for the information Output(s): String - Formatted string containing the groups and attributes |
| MakeConvexDecompositionSettings | MakeConvexDecompositionSettings (v1) Provide settings for running convex decomposition of geometry Input(s) : MinSizeToDecompose - If greater than zero, the minimum geometry size (cube root of volume) to consider for convex decomposition MaxGeoToHullVolumeRatioToDecompose - If the geo volume / hull volume ratio is greater than this, do not consider convex decomposition ErrorTolerance - Stop splitting when hulls have error less than this (expressed in cm; will be cubed for volumetric error). |
| MergeConvexHulls | MergeConvexHulls (v1) Merge convex hulls on transforms with multiple hulls Input(s) : MaxConvexCount - Maximum number of convex to generate per transform. |
| PointsToCollection | PointsToCollection (v1) Add point cloud to a collection as vertices Input(s) : Collection [Intrinsic] - Collection to add the points to Points - Points to add to the collection Output(s): Collection [Passthrough] - Collection to add the points to |
| Proximity | Proximity (v1) Update the proximity (contact) graph for the bones in a Collection Input(s) : DistanceThreshold - If hull-based proximity detection is enabled, amount to expand hulls when searching for overlapping neighbors ContactThreshold - If greater than zero, proximity will be additionally filtered by a 'contact' threshold, in cm, to exclude grazing / corner proximity Collection [Intrinsic] - GeometryCollection to update the proximity graph on Output(s): Collection [Passthrough] - GeometryCollection to update the proximity graph on |
| RemoveOnBreak | RemoveOnBreak (v1) Remove on Break Dataflow Node Input(s) : Collection [Intrinsic] - Collection to set theremoval data on TransformSelection - selection to apply the data on ( if not specified the entire collection will be set ) bEnabledRemoval - Whether or not to enable the removal on the selection PostBreakTimer - How long after the break the removal will start ( Min / Max ) RemovalTimer - How long removal will last ( Min / Max ) bClusterCrumbling - If applied to a cluster this will cause the cluster to crumble upon removal, otherwise will have no effect Output(s): Collection [Passthrough] - Collection to set theremoval data on |
| SetAnchorState | SetAnchorState (v1) Sets the anchored state on the selected bones in a Collection Input(s) : Collection [Intrinsic] - GeometryCollection to set anchor state on TransformSelection [Intrinsic] - Bone selection for setting the state on Output(s): Collection [Passthrough] - GeometryCollection to set anchor state on |
| SetCollectionAttributeDataTyped | SetCollectionAttributeDataTyped (v1) Set attribute data in a Collection Input(s) : Collection [Intrinsic] - Collection for the custom attribute AttributeKey - Input to drive the Attribute and Group name BoolAttributeData - Bool type attribute data FloatAttributeData - Float type attribute data DoubleAttributeData - Float type attribute data Int32AttributeData - Int type attribute data StringAttributeData - Int type attribute data Vector3fAttributeData - Vector3f type attribute data Vector3dAttributeData - Vector3d type attribute data LinearColorAttributeData - LinearColor type attribute data Output(s): Collection [Passthrough] - Collection for the custom attribute |
| SetDynamicState | SetDynamicState (v1) Sets the dynamic state on the selected bones in a Collection Input(s) : Collection [Intrinsic] - GeometryCollection to set anchor state on TransformSelection [Intrinsic] - Bone selection for setting the state on Output(s): Collection [Passthrough] - GeometryCollection to set anchor state on |
| SetExternalCollisionsFromPrimitive | SetExternalCollisionsFromPrimitive (v1) Experimental Sets the ExternalCollisions attribute on each selected transform to a primitive shape (sphere / box / capsule) auto-fitted to that bone's geometry bounds. |
| SetPivot | SetPivot (v1) Sets pivot for Collection Input(s) : Collection [Intrinsic] - Collection for the pivot change Transform - Pivot transform Output(s): Collection [Passthrough] - Collection for the pivot change |
| SimplifyConvexHulls | SimplifyConvexHulls (v1) Simplify Convex Hulls Dataflow Node Input(s) : OptionalSelectionFilter - Optional transform selection to compute leaf hulls on -- if not provided, all leaf hulls will be computed. |
| SpheresToPoints | SpheresToPoints (v1) Outputs Spheres as Points and radius values Output(s): Points - Centers of the spheres Radii - Radius values |
| UpdateVolumeAttributes | UpdateVolumeAttributes (v1) Update the Volume and Size attributes on the target Collection (and add them if they were not present) |
GeometryCollection|UV
| Node | Description |
|---|---|
| AddUVChannel | AddUVChannel (v1) Add a new UV channel to the collection note that there's a maximum of 8 channels that can be handled by a collection Input(s) : Collection [Intrinsic] - Target Collection Output(s): Collection [Passthrough] - Target Collection UVChannel - Index of the added UV channel |
| AutoUnwrapUV | AutoUnwrapUV (v1) Auto unwrap UVs for a specific UV channel Input(s) : Collection [Intrinsic] - Target Collection FaceSelection - Faces to auto unwrap, no selection means all faces UVChannel - UV channel to unwrap into ( 0 by default ) GutterSize - Approximate space to leave between UV islands, measured in texels for 512x512 texture Output(s): Collection [Passthrough] - Target Collection UVChannel [Passthrough] - UV channel to unwrap into ( 0 by default ) |
| BoxProjectUV | BoxProjectUV (v1) Generates UVs using a box projection Input(s) : Collection [Intrinsic] - Target Collection UVChannel - UV channel to unwrap into ( 0 by default ) GutterSize - Approximate space to leave between UV islands, measured in texels for 512x512 texture Output(s): Collection [Passthrough] - Target Collection UVChannel [Passthrough] - UV channel to unwrap into ( 0 by default ) |
| MergeUVIslands | MergeUVIslands (v1) Merge adjacent UV Islands with similar normals for a specific UV channel Input(s) : Collection [Intrinsic] - Target Collection FaceSelection - Faces to auto unwrap, no selection means all faces UVChannel - UV channel to unwrap into ( 0 by default ) AreaDistortionThreshold - Threshold for allowed area distortion from merging islands (when we use ExpMap to compute new UVs for the merged island) MaxNormalDeviationDeg - Threshold for allowed normal deviation between merge-able islands NormalSmoothingRounds - Amount of normal smoothing to apply when computing new UVs for merged islands. |
Groom
| Node | Description |
|---|---|
| AttachCurveRoots | AttachCurveRoots (v1) Experimental Attach the curve roots by setting their kinematic weights to 1.0f Input(s) : Collection - Managed array collection to be used to store datas CurveSelection - Curve selection to focus the geometry transfer spatially Output(s): Collection [Passthrough] - Managed array collection to be used to store datas KinematicWeightsKey - Vertex kinematic weights key to be used in other nodes if necessary |
| AverageCurves | AverageCurves (v1) Experimental Take an collection curve selection and generate a single curve collection that is the average of the input curves Input(s) : Collection - Managed array collection source of the curves to be average from CurveSelection - Curve selection to use NumSamples - Number of samples to use for averaged result curve |
| BuildCurveLODs | BuildCurveLODs (v1) Experimental Builds the curves LODs Input(s) : Collection - Managed array collection to be used to store data CurveSelection - Curve selection to focus the geometry LODs spatially Output(s): Collection [Passthrough] - Managed array collection to be used to store data CurveParentsKey - Curve parent indices key to be used in other nodes if necessary CurveLodsKey - Curve lods indices key to be used in other nodes if necessary |
| BuildCurveWeights | BuildCurveWeights (v1) Experimental Build a weight map that will be identical on every curves Input(s) : Collection - Managed array collection to be used to store datas CurveSelection - Curve selection to focus the geometry transfer spatially WeightsAttribute - Vertex kinematic weights key to be used in other nodes if necessary Output(s): Collection [Passthrough] - Managed array collection to be used to store datas |
| BuildSplineSkinWeights | BuildSplineSkinWeights (v1) Experimental Build spline skinning data from skeletal mesh Input(s) : Collection - Managed array collection to be used to store datas VertexSelection - Vertex selection to focus the geometry transfer spatially SkeletalMesh - SkeletalMesh used to compute spline skinning weights. |
| GenerateCurveGeometry | GenerateCurveGeometry (v1) Experimental Build the curve geometry from a collection containing curves Input(s) : Collection - Managed array collection to be used to store datas SourceCurves - Managed array collection to be used to store datas CurveSelection - Curve selection to focus the curves generation spatially CurveCount - Max number of guides Output(s): Collection [Passthrough] - Managed array collection to be used to store datas |
| GetCurveAttributes | GetCurveAttributes (v1) Experimental Get the kinematic weights attributes names Output(s): AttributeKey - Attribute key to build |
| GetGroomAsset | GetGroomAsset (v2) Experimental Get the groom asset Output(s): GroomAsset - Groom asset that will be used in the dataflow graph |
| GroomAssetTerminal | GroomAssetTerminal (v2) Experimental Groom Asset Terminal Dataflow Node V 2 |
| GroomAssetToCollection | GroomAssetToCollection (v1) Experimental Transform a groom asset to a collection Input(s) : GroomAsset - Input asset to read the guides from CurvesType - Type of curves to use to fill the groom collection (guides/strands) CurvesThickness - Curves thickness for geometry generation Output(s): Collection - Managed array collection used to store the curves |
| LinearToSplineSkinWeights | LinearToSplineSkinWeights (v1) Experimental Convert linear skinning data to spline skinning data Input(s) : Collection - Managed array collection to be used to store datas VertexSelection - Vertex selection to process vertices subset Output(s): Collection [Passthrough] - Managed array collection to be used to store datas SplineParamKey - Spline skinning parameter key SplineBonesKey - Spline bones key. |
| ResampleCurvePoints | ResampleCurvePoints (v1) Experimental Resample the curves with a fixed number of points Input(s) : Collection - Managed array collection to be used to store datas CurveSelection - Curve selection to focus the guides generation spatially NumPoints - Max number of points (to be able to plug into a variable since enum is not supported in dataflow) Output(s): Collection [Passthrough] - Managed array collection to be used to store datas |
| SmoothCurvePoints | SmoothCurvePoints (v1) Experimental Smooth the curves for more stable deformation Input(s) : Collection - Managed array collection to be used to store data CurveSelection - Curve selection to focus the guides smoothing spatially SmoothingFactor - Smoothing factor between 0 and 1 Output(s): Collection [Passthrough] - Managed array collection to be used to store data |
| SplineToLinearSkinWeights | SplineToLinearSkinWeights (v1) Experimental Convert spline skinning data to linear data Input(s) : Collection - Managed array collection to be used to store datas VertexSelection - Vertex selection to process vertices subset SplineParamKey - Spline skinning parameter key SplineBonesKey - Spline bones key. |
| TransferLinearSkinWeights | TransferLinearSkinWeights (v1) Experimental Build the curves skinning by transferring the indices weights from a skelmesh geometry Input(s) : Collection - Managed array collection to be used to store datas VertexSelection - Vertex selection to focus the geometry transfer spatially SkeletalMesh - SkeletalMesh used to transfer the skinning weights. |
Image
| Node | Description |
|---|---|
| ConvertToResolution | ConvertToResolution (v1) Convert a numeric value into a resolution Input(s) : Value - Arbitrary value to convert to a image resolution type Output(s): Resolution - Output resolution |
| GetTextureAsset | GetTextureAsset (v1) Get a texture asset |
| GetTextureAssetFromPath | GetTextureAssetFromPath (v1) Get a texture asset from a path |
| ImageCombineChannels | ImageCombineChannels (v1) Combine channels into a single RGBA image Outputs are single channel images Input(s) : Red - Red channel - if not connected, use black color Green - Green channel - if not connected, use black color Blue - Blue channel - if not connected, use black color Alpha - Alpha channel - if not connected, use black color Output(s): Image - Output image recombined from input channels |
| ImageFromColor | ImageFromColor (v1) Create a RGBA image from a single color at a specific resolution Outputs are single channel images Input(s) : FillColor - color to fill the image with Resolution - resolution of the output image Output(s): Image - Output image |
| ImageSplitChannels | ImageSplitChannels (v1) Split a image in individual channels Outputs are single channel images Input(s) : Image - Input image to split per channel Output(s): Red - Red channel Green - Green channel Blue - Blue channel Alpha - Alpha channel |
| ImageToTexture | ImageToTexture (v1) Create a transient texture asset from an image |
| TextureToImage | TextureToImage (v1) Experimental Import a texture asset as an image. |
Materials
| Node | Description |
|---|---|
| AddToMaterialArray | AddToMaterialArray (v1) Add material(s) to an array Input(s) : MaterialArray - Material array to add to Output(s): MaterialArray [Passthrough] - Material array to add to |
| AssignMaterialToCollection | AssignMaterialToCollection (v1) Assign material to a set of face in a geometry collection Input(s) : Collection [Intrinsic] - Collection to assign material to FaceSelection - Faces that will be set with this material index, if no selection is connected , all faces will be set MaterialArray [Intrinsic] - Array holding the materials objects Material - Material to assign to the selection Output(s): Collection [Passthrough] - Collection to assign material to MaterialArray [Passthrough] - Array holding the materials objects MaterialIndex - Index where the material was set in the array |
| GetMaterialAsset | GetMaterialAsset (v1) Get a material interface from an existing asset Output(s): Material - Material asset to get |
| MakeMaterialArray | MakeMaterialArray (v1) Make a array from a user defined list of material objects Output(s): MaterialArray - Material array set by the user |
| MaterialInterfaceTextureOverride | MaterialInterfaceTextureOverride (v1) Experimental Duplicate the given material and replace the target texture with the override texture on the newly-created material |
| SetIntoMaterialsArray | SetIntoMaterialsArray (v1) Set an element into a material array at a specific index (if the index does not match the range of the array, the array will remain unchanged) Input(s) : MaterialArray [Intrinsic] - Material array to modify Material - Material to set at the specific index into the array Index - Index Set the material at (if the index does not match the range of the array, the array will remain unchanged) Output(s): MaterialArray [Passthrough] - Material array to modify |
| SetMaterialFloatParameter | SetMaterialFloatParameter (v1) Experimental Add a material float parameter to a parameters object Material parameters are used to create material instances |
| SetMaterialTexture2DParameter | SetMaterialTexture2DParameter (v1) Experimental Add a material texture parameter to a parameters object Material parameters are used to create material instances |
| SetMaterialVectorParameter | SetMaterialVectorParameter (v1) Experimental Add a material vector4 parameter to a parameters object Material parameters are used to create material instances |
Math
| Node | Description |
|---|---|
| MakeNumericArray | MakeNumericArray (v1) Make an array of any numeric type Input(s) : NumElements - Number of elements of the array DefaultValue - Default value for output, whichever value doesn't get set in the output array by the generator will have the default value Generator - Generator input Output(s): Array - Output float array |
| MathExpression | MathExpression (v1) Expression node for floats |
Math|Boolean
| Node | Description |
|---|---|
| BooleanOperation | BooleanOperation (v1) Boolean operations Input(s) : bBoolA - Boolean input bBoolB - Boolean input Output(s): bResult - Boolean result of the operator |
| MakeLiteralBool | MakeLiteralBool (v2) Make a bool value |
Math|Compare
| Node | Description |
|---|---|
| CompareFloat | CompareFloat (v1) Comparison between floats Output(s): Result - Boolean result of the comparison |
| CompareInt | CompareInt (v1) Comparison between integers Output(s): Result - Boolean result of the comparison |
Math|Conversions
| Node | Description |
|---|---|
| FloatArrayToIntArray | FloatArrayToIntArray (v1) Converts a Float array to Int array using the specified method. |
Math|Double
| Node | Description |
|---|---|
| MakeLiteralDouble | MakeLiteralDouble (v1) Make a double value |
Math|Float
| Node | Description |
|---|---|
| Division (Whole and Remainder) | Division (Whole and Remainder) (v1) Division Dataflow Node |
| EFit | EFit (v1) Fits a value from one range to another Takes the value num from the range (oldmin, oldmax) and shifts it to the corresponding value in the new range (newmin, newmax). |
| Fit | Fit (v1) Fits a value from one range to another Returns a number between newmin and newmax that is relative to num in the range between oldmin and oldmax. |
| FloatArrayNormalize | FloatArrayNormalize (v1) Normalize the selected float data in a FloatArray Input(s) : InFloatArray [Intrinsic] - Input VectorArray Selection - Selection for the operation |
| FloatMathExpression | FloatMathExpression (v1) Expression node for floats |
| Lerp | Lerp (v1) Linearly interpolates between A and B based on Alpha. |
| MakeFloatArray | MakeFloatArray (v1) M Input(s) : NumElements - Number of elements of the array Value - Value to initialize the array with Output(s): FloatArray - Output float array |
| MakeLiteralFloat | MakeLiteralFloat (v2) Make a float value |
| NormalizeToRange | NormalizeToRange (v1) Returns Float normalized to the given range |
| Wrap | Wrap (v1) Wrap Dataflow Node |
Math|Int
| Node | Description |
|---|---|
| MakeLiteralInt | MakeLiteralInt (v2) Make an integer value |
Math|Random
| Node | Description |
|---|---|
| RandomFloat | RandomFloat (v1) Generates a random float |
| RandomFloatInRange | RandomFloatInRange (v1) Generates a random float between Min and Max |
| RandomUnitVector | RandomUnitVector (v1) Returns a random vector with length of 1 |
| RandomUnitVectorInCone | RandomUnitVectorInCone (v1) Returns a random vector with length of 1, within the specified cone, with uniform random distribution Input(s) : ConeDirection - The base "center" direction of the cone ConeHalfAngle - The half-angle of the cone (from ConeDir to edge), in degrees |
Math|Scalar
| Node | Description | ||
|---|---|---|---|
| Abs | Abs (v1) Absolute value ( | A | ) |
| Add | Add (v1) Addition (A + B) | ||
| Ceil | Ceil (v1) Ceil ( 1.4 => 2.0 | 1.9 => 2.0 | -5.3 => -5.0) |
| Clamp | Clamp (v1) Clamp(A, Min, Max) clamp a value to specific range (inclusive) | ||
| Constants | Constants (v1) Math constants ( see EDataflowMathConstantsEnum ) | ||
| Cube | Cube (v1) Cube ( A A A ) | ||
| Divide | Divide (v1) Division (A / B) if B is equal to 0, 0 is returned Fallback value | ||
| Exp | Exp (v1) Exponential ( Exp(A) ) | ||
| Floor | Floor (v1) Floor ( 1.4 => 1.0 | 1.9 => 1.0 | -5.3 => -6.0 ) |
| Frac | Frac (v1) Frac ( 1.4 => 0.4 | 1.9 => 0.9 | -5.3 => 0.3 ) |
| InverseSquareRoot | InverseSquareRoot (v1) Inverse Square Root ( 1 / sqrt(A) ) if A is equal to 0, returns Fallback | ||
| Log | Log (v1) Natural log ( Log(A) ) | ||
| LogX | LogX (v1) Log for a specific base ( Log[Base](A) ) If base is negative or zero returns 0 | ||
| Maximum | Maximum (v2) Maximum ( Max(A, B, C, ... ) ) | ||
| Minimum | Minimum (v2) Minimum ( Min(A, B, C, ... ) ) | ||
| Multiply | Multiply (v1) Multiplication (A * B) | ||
| Negate | Negate (v1) Negate ( -A ) | ||
| OneMinus | OneMinus (v1) One minus (1 - A) | ||
| Pow | Pow (v1) power ( A ^ B) | ||
| Reciprocal | Reciprocal (v1) Reciprocal( 1 / A ) if A is equal to 0, returns Fallback | ||
| Round | Round (v1) Round ( 1.4 => 1.0 | 1.9 => 2.0 | -5.3 => -5.0) |
| Sign | Sign (v1) return -1, 0, +1 whether the input is respectively negative, zero or positive ( Sign(A) ) | ||
| Square | Square (v1) Square ( A * A ) | ||
| SquareRoot | SquareRoot (v1) Square Root ( sqrt(A) ) | ||
| Subtract | Subtract (v1) Subtraction (A - B) | ||
| Trunc | Trunc (v1) Trunc ( 1.4 => 1.0 | 1.9 => 1.0 | -5.3 => -5.0) |
Math|Transform
| Node | Description |
|---|---|
| BakeTransformsInCollection | BakeTransformsInCollection (v1) Bake transforms in Collection Input(s) : Collection [Intrinsic] - Collection to bake transforms in Output(s): Collection [Passthrough] - Collection to bake transforms in |
| BreakTransform | BreakTransform (v1) Break a Transform into Translation, Rotation (Euler, Rotator, Quaternion), Scale Input(s) : Transform - Transform to break into components Output(s): Translation - Translation Rotation - Rotation as Euler Rotator - Rotation as a rotator Quat - Rotation as a quaternion Scale - Scale |
| InvertTransform | InvertTransform (v1) Invert a transform. |
| MultiplyTransform | MultiplyTransform (v1) Description for this node |
| TransformCollection | TransformCollection (v1) Transforms a Collection Input(s) : Collection [Intrinsic] - Output mesh TransformSelection - Transform selection for transforming Translate - Translation Rotate - Rotation Scale - Scale Output(s): Collection [Passthrough] - Output mesh |
| TransformMesh | TransformMesh (v2) Transforms a Dataflow mesh Input(s) : Mesh [Intrinsic] - Output mesh Translate - Translation Rotate - Rotation Scale - Scale UniformScale - Uniform scale RotatePivot - Pivot for the rotation ScalePivot - Pivot for the scale bInvertTransformation - Invert the transformation Output(s): Mesh [Passthrough] - Output mesh |
Math|Trig
| Node | Description |
|---|---|
| ArcCos | ArcCos (v1) ArcCos(A) returns a value in radians |
| ArcSin | ArcSin (v1) ArcSin(A) returns a value in radians |
| ArcTan | ArcTan (v1) ArcTan(A) returns a value in radians |
| ArcTan2 | ArcTan2 (v1) ArcTan2(A, B) returns a value in radians |
| Cos | Cos (v1) Cos(A) with A in radians |
| DegToRad | DegToRad (v1) DegToRad(A) convert degrees to radians |
| RadToDeg | RadToDeg (v1) RadToDeg(A) convert radians to degrees |
| Sin | Sin (v1) Sin(A) with A in radians |
| Tan | Tan (v1) Tan(A) with A in radians |
Math|Utilities
| Node | Description |
|---|---|
| IsNearlyZero | IsNearlyZero (v1) Is Nearly Zero Dataflow Node |
Math|Vector
| Node | Description |
|---|---|
| MakeQuaternion | MakeQuaternion (v1) Make Quaternion Dataflow Node |
| VectorArrayNormalize | VectorArrayNormalize (v1) Normalize all the selected vectors in a VectorArray Input(s) : InVectorArray [Intrinsic] - Input VectorArray Selection - Selection for the operation |
Math|Vectors
| Node | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| AddVector | AddVector (v1) Add two vectors component wise : V = (A + B) Input(s) : A - A Vector operand B - B Vector operand Output(s): V - Add result V=A+B | ||||||||
| BreakVector | BreakVector (v1) Break a vector in 4 components if the input vector is of a lower dimension than 4, the remaining components will be set to zero Input(s) : V - Vector to break into components Output(s): X - X component Y - Y component Z - Z component W - W component | ||||||||
| DivideVector | DivideVector (v1) Multiply two vectors component wise: V = (A / B) When a component of B is zero, use the falback value as a return value for the specific component Input(s) : A - A Vector operand B - B Vector operand Fallback - Fallback Vector used when components of B are zero Output(s): V - Add result V=A*B | ||||||||
| MakeVector2 | MakeVector2 (v1) Make a 2D Vector Input(s) : X - X component Y - Y component Output(s): Vector2D - 2D Vector {X, Y} | ||||||||
| MakeVector3 | MakeVector3 (v1) Make a 3D Vector Input(s) : X - X component Y - Y component Z - Z component Output(s): Vector3D - 3D Vector {X, Y, Z} | ||||||||
| MakeVector4 | MakeVector4 (v1) Make a 4D Vector Input(s) : X - X component Y - Y component Z - Z component W - W component Output(s): Vector4D - 4D Vector {X, Y, Z, W} | ||||||||
| MultiplyVector | MultiplyVector (v1) Multiply two vectors component wise: V = (A B) Input(s) : A - A Vector operand B - B Vector operand Output(s): V - Add result V=AB | ||||||||
| NormalizeVector | NormalizeVector (v1) Normalize a vector : Normalized = V/ | V | Input(s) : V - Vector to normalize Output(s): Normalized - Normalized vector : Normalized=V/ | V | |||||
| ScaleVector | ScaleVector (v1) Scale a vector by a scalar : Scaled = (V Scale) Input(s) : V - Vector to scale Scale - Scale factor Output(s): Scaled - Scaled vector : Scaled=(V Scale) | ||||||||
| SubtractVector | SubtractVector (v1) Subtract two vectors component wise: V = (A - B) Input(s) : A - A Vector operand B - B Vector operand Output(s): V - Add result V=A-B | ||||||||
| VectorCrossProduct | VectorCrossProduct (v1) Compute the cross product of two vectors : CrossProduct = B^A This node only operates in 3 dimensions, inputs will be converted to a 3D vector internally and result will be a vector with a zero W component Input(s) : A - A Vector operand B - B Vector operand Output(s): CrossProduct - Resulting cross product of A and B : CrossProduct=B^A | ||||||||
| VectorDistance | VectorDistance (v1) Compute the distance between two vectors : Distance = | B-A | Input(s) : A - A Vector operand B - B Vector operand Output(s): Distance - Distance between A and B : Distance= | B-A | |||||
| VectorDotProduct | VectorDotProduct (v1) Compute the dot product between two vectors : DotProduct = A.B Input(s) : A - A Vector operand B - B Vector operand Output(s): DotProduct - Resulting dot product : DotProduct=A.B | ||||||||
| VectorLength | VectorLength (v1) Compute the Length of a vector : Length = | V | Input(s) : V - Vector to get length from Output(s): Length - Length of the input vector : Length= | V | |||||
| VectorSquaredLength | VectorSquaredLength (v1) Compute the Squared length of a vector : Length = | V | V | Input(s) : V - Vector to get squared length from Output(s): SquaredLength - Length of the input vector : SquaredLength = | V | V |
MedialSkeletonSampling
| Node | Description |
|---|---|
| MeshMedialSkeletonSampling | MeshMedialSkeletonSampling (v2) Sample the medial skeleton of a target Dataflow mesh Input(s) : TargetMesh [Intrinsic] - Dataflow mesh to sample skeleton on MaxSpheres - Stop at this sphere count MinClusterErrorToSplit - Do not split a cluster if its max error is below this threshold MinClusterSizeToKeep - Clusters with fewer vertices than this will be discarded bSplitClustersIfEdgesIntersectSurface - Whether to test medial skeleton edges for intersection w/ the input surface, and try to refine where these intersections are found ErrorScaleNearEdgeSurfaceIntersection - Factor to scale vertex error near skeleton-edge/input-surface intersections PosErrorWt - Weight for the position error term. |
| SimplifyMedialSkeleton | SimplifyMedialSkeleton (v2) Simplify a medial skeleton using the quadric error metric Input(s) : MedialSkeleton [Intrinsic] - Medial skeleton to simplify TargetMesh [Intrinsic] - Mesh the skeleton was sampled from, used to compute the error metric MinSpheres - Stop simplifying at this sphere count QEMErrorThresholdSqrt - If positive, will not collapse edges if it would introduce more quadric error than the square of this threshold. |
| SubdivideMedialSkeleton | SubdivideMedialSkeleton (v2) Subdivide a medial skeleton by splitting edges that exceed a target length Input(s) : MedialSkeleton [Intrinsic] - Medial skeleton to subdivide TargetMesh [Intrinsic] - Mesh the skeleton was sampled from, used to re-cluster vertices after subdivision TargetEdgeLengthRadiusFraction - If positive, target edge length as a fraction of a medial sphere radius on the edge (see Radius Reference) RadiusReference - Which sphere radius to reference when computing radius-based target edge lengths MinTargetEdgeLength - If positive, minimum target edge length MaxTargetEdgeLength - If positive, maximum target edge length. |
Mesh
| Node | Description |
|---|---|
| GetMeshBoundingBox | GetMeshBoundingBox (v2) Get the local geometric bounding box of a dataflow mesh Input(s) : Mesh - dynamic mesh to compute the bouning box from Output(s): BoundingBox - Geometric bounding box of the input dynamic mesh Center - Center of the resulting bounding box Dimensions - Dimensions of the resulting bounding box in centimers |
| GetMeshBoundingSphere | GetMeshBoundingSphere (v1) Get the local geometric bounding sphere of a dataflow mesh Input(s) : Mesh [Intrinsic] - Dataflow mesh to compute the bounding sphere from Output(s): BoundingSphere - Geometric bounding sphere of the input dataflow mesh Center - Center of the resulting bounding sphere Radius - Radius of the resulting bounding sphere in centimers |
Mesh|Utilities
| Node | Description |
|---|---|
| AppendMeshesToCollection | AppendMeshesToCollection (v1) Append Array of Meshes to Collection Input(s) : Collection [Intrinsic] - Meshes will be appended to this collection Meshes - Dynamic Meshes to append ParentIndex - Index of parent bone for appended meshes. |
| ApplyGeometryScriptToCollection | ApplyGeometryScriptToCollection (v1) Apply a Geometry Script Mesh Processors to the geometry of selected transforms in a geometry collection Input(s) : Collection [Intrinsic] - Input/Output mesh TransformSelection - Selected bones will have geometry script processing applied (if they have geometry). |
| ApplyGeometryScriptToMesh | ApplyGeometryScriptToMesh (v1) Apply a Geometry Script Mesh Processors to an input UDynamicMesh Input(s) : Mesh [Intrinsic] - Input/Output mesh Output(s): Mesh [Passthrough] - Input/Output mesh |
| BoxToMesh | BoxToMesh (v1) Converts a BoundingBox into a DynamicMesh Input(s) : Box [Intrinsic] - BoundingBox input Output(s): Mesh - Mesh output TriangleCount - Mesh triangle count |
| CollectionSelectionToMeshes | CollectionSelectionToMeshes (v1) Converts a Collection to a set of Dynamic Meshes per selected Transform Input(s) : Collection [Intrinsic] - Collection to convert TransformSelection - Geometry on or under selected bones will be converted to meshes, optionally after filtering the selection to leaves. |
| CollectionToMesh | CollectionToMesh (v2) Converts a Collection to a DataflowMesh Input(s) : Collection [Intrinsic] - Collection to convert Materials - Material array from the static mesh TransformSelection - Geometry on or under selected bones will be appended to the output mesh. |
| DataflowMeshAppend | DataflowMeshAppend (v1) Combine two Dataflow meshes Input(s) : Mesh [Intrinsic] - Mesh input/output AppendMesh [Intrinsic] - Mesh to append Output(s): Mesh [Passthrough] - Mesh input/output |
| DuplicateMeshUVChannelNode | DuplicateMeshUVChannelNode (v1) Create a new UV layer/channel in a UDataflowMesh Input(s) : Mesh [Intrinsic] - DataflowMesh input/output Output(s): Mesh [Passthrough] - DataflowMesh input/output NewUVChannel - Index of the added UV channel |
| GetMeshData | GetMeshData (v1) Outputs Mesh data Input(s) : Mesh [Intrinsic] - Mesh for the data Output(s): VertexCount - Number of vertices EdgeCount - Number of edges TriangleCount - Number of triangles |
| MakeDataflowMesh | MakeDataflowMesh (v1) Create a UDataflow mesh from an input UDynamicMesh and material array Input(s) : InMesh [Intrinsic] - DynamicMesh input InMaterials [Intrinsic] - Materials input Output(s): Mesh - DataflowMesh output |
| MeshAppend | MeshAppend (v1) Appends two meshes Input(s) : Mesh1 [Intrinsic] - Mesh input Mesh2 [Intrinsic] - Mesh input Output(s): Mesh - Output mesh |
| MeshBoolean | MeshBoolean (v1) Compute a Mesh Boolean between Mesh1 and Mesh2 Supported Boolean Operations: Union (Mesh1 + Mesh2) Difference (Mesh1 - Mesh2; removing what's inside of Mesh2 from Mesh1) Intersection (Mesh1 & Mesh2; removing what's outside of Mesh2 from Mesh1) Input(s) : Mesh1 [Intrinsic] - Mesh input Mesh2 [Intrinsic] - Mesh input Output(s): Mesh - Output mesh |
| MeshInfo | MeshInfo (v1) Collects information from the DynamicMesh and outputs it into a formatted string Input(s) : Mesh [Intrinsic] - DynamicMesh for the information Output(s): InfoString - Formatted output string |
| MeshToCollection | MeshToCollection (v2) Converts a DynamicMesh to a Collection Input(s) : Mesh [Intrinsic] - DynamicMesh to convert bSplitIslands - Whether to split the mesh into multiple bones based on the mesh connectivity bAddClusterRootForSingleMesh - Whether to add a root cluster for the single mesh case. |
| PointsToMesh | PointsToMesh (v1) Converts points into a DynamicMesh Input(s) : Points [Intrinsic] - Points input Output(s): Mesh - Mesh output TriangleCount - Mesh triangle count |
| ScatterMeshes | ScatterMeshes (v1) Copies the same mesh with scale onto points Input(s) : Points [Intrinsic] - Points to copy meshes onto MeshToCopy [Intrinsic] - Mesh to copy onto points Output(s): Mesh - merged result mesh Meshes - Result meshes as individual ones |
| SkeletalMeshToMesh | SkeletalMeshToMesh (v2) Experimental Converts a SkeletalMesh into a DataflowMesh with Imported Vertex information Input(s) : SkeletalMesh - SkeletalMesh to convert Output(s): Mesh - Output mesh |
| SplitDataflowMesh | SplitDataflowMesh (v1) Split a UDataflow mesh into a UDynamicMesh and a material array Input(s) : InMesh [Intrinsic] - DataflowMesh input Output(s): Mesh - DyanmicMesh output MaterialArray - Materials output |
| SplitMeshIslands | SplitMeshIslands (v1) Split a mesh into a connected islands Input(s) : Mesh [Intrinsic] - Mesh input Output(s): Meshes - Meshes output |
| StaticMeshToMesh | StaticMeshToMesh (v2) Converts a StaticMesh into a DataflowMesh Input(s) : StaticMesh - StaticMesh to convert Output(s): Mesh - Output Dataflow mesh |
| SubdivideMeshCatmullClark | SubdivideMeshCatmullClark (v1) Apply Catmull-Clark subdivision to a DataflowMesh using its polygroups as the control cage. |
MeshResizing
| Node | Description |
|---|---|
| AlignUVMeshNode | AlignUVMeshNode (v1) Experimental Align UVMesh Node Input(s) : BaseUVChannelIndex - Base UV channel index in case it differs from the ResizingMesh UV channel index, or -1 to use the same channel. |
| ApplyRBFResizing | ApplyRBFResizing (v1) Experimental Apply the interpolation data calculated by GenerateRBFResizingWeights to resize a mesh. |
| GenerateInterpolatedProxy | GenerateInterpolatedProxy (v1) Experimental Generate a pair of Dynamic Meshes with the same topology that can be interpolated. |
| GenerateRBFResizingWeights | GenerateRBFResizingWeights (v1) Experimental Sample points and generate RBF Interpolation data for a given Source mesh. |
| GenerateResizableProxy | GenerateResizableProxy (v1) Experimental Generate a pair of Dynamic Meshes with the same topology that can be interpolated. |
| GrowTileRegion | GrowTileRegion (v1) Experimental Finds a square tile within a specified image region and duplicates it over the whole image. |
| MeshConstrainedDeformationTestPlayground | MeshConstrainedDeformationTestPlayground (v1) Experimental Mesh Constrained Deformation Node |
| MeshWarp | MeshWarp (v1) Experimental Mesh Warp Node |
| MeshWrap | MeshWrap (v1) Experimental Dataflow node for wrapping one mesh's topology to another mesh's shape. |
| MeshWrapLandmarks | MeshWrapLandmarks (v1) Experimental Node for defining landmarks used by MeshWrapNode. |
| UVMeshTransformNode | UVMeshTransformNode (v1) Experimental UVMesh Transform Node |
| UVResizeController | UVResizeController (v1) Experimental UV Resizing logic. |
| UVUnwrapNode | UVUnwrapNode (v1) Experimental UVUnwrap Node |
Outfit
| Node | Description |
|---|---|
| ExtractBodyPartsArrayFromBodySizeParts | ExtractBodyPartsArrayFromBodySizeParts (v1) Extract the array of Skeletal Mesh body parts for a single body size. |
| FilterSizedOutfit | FilterSizedOutfit (v1) Select a single size for the passed Outfit and filter out all non matching sizes. |
| GetClothAsset | GetClothAsset (v1) Get a Cloth Asset object into the graph. |
| GetOrMakeOutfitFromAsset | GetOrMakeOutfitFromAsset (v1) Extract the Outfit from an Outfit Asset. |
| GetOutfitAsset | GetOutfitAsset (v1) Get an Outfit Asset object into the graph. |
| GetOutfitBodyParts | GetOutfitBodyParts (v1) Extract the body part Skeletal Meshes from an Outfit, grouped by body size. |
| GetOutfitClothCollections | GetOutfitClothCollections (v1) Experimental Extract the Cloth Collections contained into the specified source Outfit. |
| GetOutfitRBFInterpolationData | GetOutfitRBFInterpolationData (v1) Extract the Body Part RBF Interpolation Data from an Outfit. |
| MakeOutfit | MakeOutfit (v1) Make multiple Cloth Asset objects into an Outfit. |
| MakeSizedOutfit | MakeSizedOutfit (v1) Make multiple Cloth Assets into a sized Outfit. |
| MergeOutfits | MergeOutfits (v1) Merge multiple Outfits into a single Outfit. |
| OutfitAssetTerminal | OutfitAssetTerminal (v1) Outfit Terminal Node to generate an Outfit Asset. |
| OutfitQuery | OutfitQuery (v1) Query an Outfit about its properties. |
| SetOutfitClothCollection | SetOutfitClothCollection (v1) Experimental Replace the ClothCollection in an Outfit with a new one. |
Path
| Node | Description |
|---|---|
| GetAssetPath | GetAssetPath (v1) Get the path from an asset If no asset is specified via the input or in the properties the asset bound to the dataflow will be used Input(s) : Asset - Asset to get the path from |
| PathReplace | PathReplace (v1) Replace part of a path The path is assumed to have the form Path/Names ( Path can have multiple / and folders and Names can have multiple names seperated by a .) Input(s) : Path - Path to modify and return Output(s): Path [Passthrough] - Path to modify and return |
Physics|Common
| Node | Description |
|---|---|
| GetSimulationTime | GetSimulationTime (v1) Get the context simulation time Output(s): SimulationTime - Simulation time property coming from the context |
Physics|Proxy
| Node | Description |
|---|---|
| FilterSimulationProxies | FilterSimulationProxies (v1) Filter simulation proxies from context Input(s) : SimulationProxies - Simulation proxies coming from the context and filtered with the groups Output(s): FilteredProxies - Simulation proxies coming from the context and filtered with the groups |
Physics|Solver
| Node | Description |
|---|---|
| AddSolverDeformer | AddSolverDeformer (v1) Add a graph deformer to the groom simulation Input(s) : PhysicsSolvers - Physics solvers to advance in time SimulationTime - Delta time to use to advance the solver Output(s): PhysicsSolvers [Passthrough] - Physics solvers to advance in time |
| AdvancePhysicsSolvers | AdvancePhysicsSolvers (v1) Advance the simulation physics solver in time Input(s) : SimulationTime - Delta time to use to advance the solver PhysicsSolvers - Physics solvers to advance in time Output(s): PhysicsSolvers [Passthrough] - Physics solvers to advance in time |
| GetPhysicsSolvers | GetPhysicsSolvers (v1) Get physics solvers from context Output(s): PhysicsSolvers - Physics solvers coming from the context and filtered with the groups |
Points
| Node | Description |
|---|---|
| CollectionVerticesToPoints | CollectionVerticesToPoints (v1) Create points from vertices in a collection Input(s) : Collection [Intrinsic] - GeometryCollection for the vertices Selection - If connected, only the selected vertices will be part of the output Output(s): Points - Output points |
Points | Utilities
| Node | Description |
|---|---|
| GetPointsCollection | GetPointsCollection (v1) Adds access to the collection of the DataflowPoints Input(s) : Points [Intrinsic] - FDataflowPoints for the information Output(s): Points [Passthrough] - FDataflowPoints for the information Collection - Formatted string containing the groups and attributes |
Points|Filter
| Node | Description |
|---|---|
| FilterPointsByAttribute | FilterPointsByAttribute (v1) Selects specified points from an incoming point set by an attribute value Currently supported attribute types: float, int32, bool Input(s) : Points [Intrinsic] - Points to filter Attribute - Attribute used for the filtering operation Output(s): Attribute [Passthrough] - Attribute used for the filtering operation FilteredPoints - Points after filtering with the operation PointSelection - VertexSelection storing the filtered points |
Points|Utilities
| Node | Description |
|---|---|
| DataflowPointsToPoints | DataflowPointsToPoints (v1) Converts DataflowPoints to points (TArray |
| PointsBounds | PointsBounds (v1) Get the bounds of the points Input(s) : Points - Collection to compute the bounds from Selection - Selection input. |
| PointsToDataflowPoints | PointsToDataflowPoints (v1) Converts points (TArray |
PointSampling
| Node | Description |
|---|---|
| CollectionSelectionByMesh | CollectionSelectionByMesh (v1) Collection selection bassed on if the element is inside or outside of a given mesh Input(s) : Collection [Intrinsic] - GeometryCollection for the selection Mesh [Intrinsic] - Mesh to use for the selection bKeepInside - Whether to keep the points inside or (if false) outside the mesh, when filtering by Winding Number. |
| FilterPointsWithMesh | FilterPointsWithMesh (v2) Filter a point set to only the points inside or outside of a given Dataflow mesh Input(s) : TargetMesh [Intrinsic] - Dataflow mesh to use to filter point set bKeepInside - Whether to keep the points inside or (if false) outside the mesh, when filtering by Winding Number. |
| NonUniformPointSampling | NonUniformPointSampling (v2) NonUniform Sampling on a Dataflow Mesh Input(s) : TargetMesh [Intrinsic] - Mesh to sample points on SamplingRadius - Desired "radius" of sample points. |
| UniformPointSampling | UniformPointSampling (v2) Uniform Sampling on a Dataflow Mesh Input(s) : TargetMesh [Intrinsic] - Mesh to sample points on SamplingRadius - Desired "radius" of sample points. |
| VertexWeightedPointSampling | VertexWeightedPointSampling (v2) VertexWeighted Sampling on a DynamicMesh If VertexWeights input is not connected it uses max weight for every vertex Input(s) : TargetMesh [Intrinsic] - Dataflow mesh to sample points on VertexWeights - Weight array, number of elements in the array has to match number of vertices of the TargetMesh SamplingRadius - Desired "radius" of sample points. |
Samplers
| Node | Description |
|---|---|
| Abs Sampler | Abs Sampler (v1) Output an abs float sampler |
| Add Sampler | Add Sampler (v1) add sampler results together |
| Clamp Float Sampler | Clamp Float Sampler (v1) Output an Clamp float sampler |
| ColorRamp Sampler | ColorRamp Sampler (v1) ColorRamp Sampler Input(s) : Float Sampler Output(s): Vector sampler representing colors generated by the color ramp using the sampled float values Input(s) : Sampler - Sampler input Output(s): ColorSampler - Sampler output |
| Combine Float Sampler | Combine Float Sampler (v1) Combine float sampler Input(s): 3 float samplers (X, Y, Z) to combine into a single vector sampler Output(s): vector sampler |
| Distance From Box Float Sampler | Distance From Box Float Sampler (v1) Distance from a box float sampler Input(s) : an AABB Output(s): for every sampled point the distance from the input box |
| Distance From Plane Float Sampler | Distance From Plane Float Sampler (v1) Distance from a plane float sampler Input(s) : a plane Output(s): for every sampled point the distance from the input plane |
| Distance From Sphere Float Sampler | Distance From Sphere Float Sampler (v1) Distance from a sphere float sampler Input(s) : a sphere Output(s): for every sampled point the distance from the input sphere |
| ElectricField Vector Sampler | ElectricField Vector Sampler (v1) Output a ElectricField vector sampler |
| fBm Float Sampler | fBm Float Sampler (v1) Output a fBm Noise float sampler |
| fBm Vector Sampler | fBm Vector Sampler (v1) Output a fBm vector sampler |
| Lerp Sampler | Lerp Sampler (v1) LerpSampler Input(s) : 2 Float or Vector Sampler, optional BlendSampler (if not connected blend value can be used) Output(s): Same type of sampler as the input ooutputting the lerped value Input(s) : SamplerA - First input for lerp SamplerB - Second input for lerp BlendSampler - Optional FloatSampler to control lerp per sampled points Blend - If BlendSampler is not connected this value controls the lerp Output(s): SamplerA [Passthrough] - First input for lerp |
| Linear Gradient From Box Sampler | Linear Gradient From Box Sampler (v1) Output a linear gradient sampler |
| Linear Gradient Sampler | Linear Gradient Sampler (v1) Output a linear gradient sampler |
| Max Sampler | Max Sampler (v1) Max sampler results together |
| Mesh Float Sampler | Mesh Float Sampler (v1) Mesh float sampler Input: a DataflowMesh Output: for every sampled point certain data from the mesh (ClosestPointDistance, ClosestTriangleID) |
| Mesh Vector Sampler | Mesh Vector Sampler (v1) Mesh vector sampler Input: a DataflowMesh Output: for every sampled point certain data from the mesh (VectorToClosestPoint, ClosestTriangleNormal ClosestPoint, ClosestPointUV etc) |
| Min Sampler | Min Sampler (v1) Min sampler results together |
| Modulo Float Sampler | Modulo Float Sampler (v1) ModuloSampler Input(s) : Float Sampler Output(s): Modulo applied on sampled values |
| Modulo Vector Sampler | Modulo Vector Sampler (v1) ModuloSampler Input(s) : Vector Sampler Output(s): Vector modulo applied on components |
| Multiply Sampler | Multiply Sampler (v1) Multiply sampler results together |
| Negate Sampler | Negate Sampler (v1) Output an Negate float sampler |
| Normalize Sampler | Normalize Sampler (v1) Output a normalize vector sampler |
| OneMinus Float Sampler | OneMinus Float Sampler (v1) Output an OneMinus float sampler |
| Perlin Noise Float Sampler | Perlin Noise Float Sampler (v1) Output a Perlin Noise float sampler |
| Perlin Noise Vector Sampler | Perlin Noise Vector Sampler (v1) Output a Perlin Noise vector sampler |
| Radial Gradient Sampler | Radial Gradient Sampler (v1) Output a radial gradient sampler |
| Random Float Sampler | Random Float Sampler (v1) Output a Random float sampler |
| Random Vector Sampler | Random Vector Sampler (v1) Output a random vector sampler |
| Remap Float Sampler | Remap Float Sampler (v1) Output an Remap float sampler |
| Sampler To Image | Sampler To Image (v1) Sampler to Image Input(s) : Float or Vector Sample Output(s): an image created from the sampled values Input(s) : Sampler - Sampler input Output(s): Image - Output image |
| SamplerToPoints | SamplerToPoints (v1) Use a sampler to generate an attribute on points Input(s) : Sampler - Sampler to use to set the value of the attribute Attribute - Name of the attribute to set the value on Output(s): Attribute [Passthrough] - Name of the attribute to set the value on |
| Scale Vector Sampler | Scale Vector Sampler (v1) Output a scale vector sampler |
| Sign Sampler | Sign Sampler (v1) Output an Sign float sampler |
| SLerp Sampler | SLerp Sampler (v1) SLerpSampler Input(s) : 2 Vector Samplers, optional BlendSampler (if not connected blend value will be used) Output(s): Vector sampler outputting the spherical linear interpolated value of the incoming vectors Input(s) : SamplerA - First vector input for slerp SamplerB - Second vector input for slerp BlendSampler - Optional FloatSampler to control blend per sampled vectors Blend - If BlendSampler is not connected this value controls the blend Output(s): SamplerA [Passthrough] - First vector input for slerp |
| SmoothStep Float Sampler | SmoothStep Float Sampler (v1) SmoothStepSampler Input(s) : Float Sampler Output(s): Returns a smooth Hermite interpolation between ValueA and ValueB for the sampled value (where X ranges between MinValue and MaxValue) |
| SmoothStep Vector Sampler | SmoothStep Vector Sampler (v1) SmoothStepSampler Input(s) : Vector Sampler Output(s): Returns a component wise smooth Hermite interpolation between ValueA and ValueB for the sampled value (where X ranges between MinValue and MaxValue) |
| Split Vector Sampler | Split Vector Sampler (v1) Split vector sampler Input(s): a vector sampler to split it into X, Y, Z float samplers Output(s): 3 float samplers (X, Y, Z) |
| Step Float Sampler | Step Float Sampler (v1) StepSampler Input(s) : Float Sampler Output(s): Step applied on sampled values |
| Step Vector Sampler | Step Vector Sampler (v1) StepSampler Input(s) : Vector Sampler Output(s): Returns a component wise step on the sampled values |
| Texture Vector Sampler | Texture Vector Sampler (v1) Texture vector sampler Inputs: - a vector sampler to get the UVs from - a 2D texture Output: for every sampled point color from the texture |
| Tiling Sampler | Tiling Sampler (v1) TilingSampler Input(s) : Float or Vector Sampler Output(s): Same type of sampler as the input outputting the tiled values Input(s) : Sampler - Input for Tiling Offset - Tile offset (min point of the tile) TileSize - Tile size Output(s): Sampler [Passthrough] - Input for Tiling |
| Transform Sampler | Transform Sampler (v1) Output a transform sampler |
| Turbulence Float Sampler | Turbulence Float Sampler (v1) Output a Turbulence float sampler |
| Uniform Float Sampler | Uniform Float Sampler (v1) Output a uniform float sampler |
| Uniform Vector Sampler | Uniform Vector Sampler (v1) Output a uniform vector sampler |
| Vector Deviation Sampler | Vector Deviation Sampler (v1) Dataflow Vector Deviation Sampler Node Input(s) : ReferenceVector - If BlendSampler is not connected this value controls the lerp |
| Vector Length Sampler | Vector Length Sampler (v1) Dataflow Vector Length Sampler Node |
Samplers|Utility
| Node | Description |
|---|---|
| SamplerRange | SamplerRange (v1) If the input is a FloatSampler, it samples a 3D grid of points into the input samplers RenderBounds, samples the the input sampler using these points and computes the Min/Max values of the sampled values. |
Selection|Utility
| Node | Description |
|---|---|
| SelectionToVertexList | SelectionToVertexList (v1) Selection to Vertex List Dataflow Node |
Skeleton
| Node | Description |
|---|---|
| MergeSkeletons | MergeSkeletons (v1) Merges an array of skeletons into a single skeleton Input(s) : Skeletons - Skeletons to merge together SharedRootPosition - World-space position of the shared root bone added to the merged skeleton bPreserveBoneNames - Whether to attempt to preserve the names of the bones from the input skeleton. |
SkeletonUtil
| Node | Description |
|---|---|
| BindSkeletonToMesh | BindSkeletonToMesh (v2) Bind Skeleton to Mesh Dataflow Node V 2 Input(s) : Mesh [Intrinsic] - Mesh to add an animation skeleton to Stiffness - Stiffness of binding. |
| MedialToAnimSkeleton | MedialToAnimSkeleton (v2) Convert Medial Skeleton to Animation Skeleton Dataflow Node V 2 Input(s) : MedialSkeleton [Intrinsic] - Medial skeleton of input mesh AvoidIntersectingMesh - If provided, edges not intersecting this mesh will be preferred for inclusion in the skeleton RootSelectionPoint - When SelectRootMethod is ClosestToPoint, find the closest cluster to this point RootSelectionDirection - When SelectRootMethod is FarthestInDirection, the direction to search along RootClusterIndex - If non-negative, the index of the medial axis cluster (sphere) to use as the root of the Skeleton bAddCustomAnimationRoot - If true, add an extra root bone at CustomAnimationRootPosition, unrelated to any medial skeleton cluster CustomAnimationRootPosition - The world-space position for the custom root bone. |
| SkinMeshViaMedialSkeleton | SkinMeshViaMedialSkeleton (v2) Skin Mesh Via Medial Skeleton V 2 Input(s) : Mesh [Intrinsic] - Mesh to add an animation skeleton to MedialSkeleton [Intrinsic] - Medial skeleton of input mesh RootSelectionPoint - When SelectRootMethod is ClosestToPoint, find the closest cluster to this point RootSelectionDirection - When SelectRootMethod is FarthestInDirection, the direction to search along RootClusterIndex - If non-negative, the index of the medial axis cluster (sphere) to use as the root of the Skeleton bAddCustomAnimationRoot - If true, add an extra root bone at CustomAnimationRootPosition. |
| SmoothBoneWeights | SmoothBoneWeights (v1) Smooth bone weights on a dynamic mesh using Laplacian weight smoothing. |
SphereCovering
| Node | Description |
|---|---|
| Get Sphere Covering Sphere Count | Get Sphere Covering Sphere Count (v1) Report the number of spheres in a sphere covering Input(s) : SphereCovering [Intrinsic] - The sphere covering to evaluate Output(s): NumSpheres - Number of spheres in the sphere covering |
Static Mesh
| Node | Description |
|---|---|
| GetStaticMeshBoundingBox | GetStaticMeshBoundingBox (v1) Get the local geometric bounding box a static mesh Input(s) : StaticMesh - Static Mesh to compute the bouning box from Output(s): BoundingBox - Geometric bounding box of the input Static Mesh Center - Center of the resulting bounding box Dimensions - Dimensions of the resulting bounding box in centimers |
SubGraph
| Node | Description |
|---|---|
| GetCurrentIndex | GetCurrentIndex (v1) Get the current index in a subgraph This is to be used in subgraph when iterating over an array |
| SubGraphCall | SubGraphCall (v1) Call a subgraph |
| SubGraphInput | SubGraphInput (v1) This node represent the inputs of a dataflow subgraph |
| SubGraphOutput | SubGraphOutput (v1) This node represent the Outputs of a dataflow subgraph |
Terminal
| Node | Description |
|---|---|
| CurveSamplingAnimationAssetTerminal | CurveSamplingAnimationAssetTerminal (v1) terminal node to create an animation asset for muscle activation MLD training. |
| FleshAssetTerminal | FleshAssetTerminal (v1) Flesh Asset Terminal Dataflow Node |
| GeometryCollectionTerminal | GeometryCollectionTerminal (v2) Geometry Collection asset terminal node Input(s) : Materials - Materials to set on this asset InstancedMeshes - array of instanced meshes Output(s): Materials [Passthrough] - Materials to set on this asset InstancedMeshes [Passthrough] - array of instanced meshes |
| GuidesToJoints | GuidesToJoints (v1) Experimental Generate joints/bones from a guide selection and save the resulting skeleton asset on disk Input(s) : Collection [Intrinsic] - Managed array collection source of the guides - Required SkeletalMeshAssetPath - Path to the skeletal mesh asset to create or update SkeletonAssetPath - Path to the skeleton asset to create or update CurveSelection - Curve selection to use to generate bones/joints - if none specified all curve will be considered BoneBaseName - Base name for the bones created from the curve ParentBone - Optional name of parent bone from the input skeletal mesh to use as the root of the generate bones BaseSkeletalMesh - Skeletal Mesh to use a base Output(s): SkeletalMeshAsset - Created Skeletal Mesh SkeletonAsset - Created Skeleton |
| MaterialTerminal | MaterialTerminal (v1) Experimental Make a material instance from another material |
| MeshToSkeletalMeshTerminal | MeshToSkeletalMeshTerminal (v2) Terminal node to save a skeletal mesh asset, as converted from a Dataflow mesh. |
| SkeletalMeshTerminal | SkeletalMeshTerminal (v1) Experimental Terminal to save to skeletal mesh from a mesh Note : the mesh must have associated skeletal mesh attributes and vbones must be compatible with the existing skeleton Input(s) : Mesh [Intrinsic] - Surface mesh to convert AssetPath - Path to the skeletal mesh asset to create or update Output(s): SkeletalMeshAsset - Created Skeletal Mesh |
| SkeletonAssetTerminal | SkeletonAssetTerminal (v1) Dataflow terminal node to save a skeleton asset Input(s) : SourceSkeleton - Source Skeleton used to override the skeleton asset SkeletonAsset - Skeleton Asset to be saved |
| StaticMeshTerminal | StaticMeshTerminal (v1) terminal node to a save a static mesh asset Input(s) : Mesh - Input dynamic mesh to convert to a static mesh Materials - Materials to set on the static mesh AssetPath - Path of the asset to save to if not specified this will use the asset bound the dataflow graph this node belong to Output(s): StaticMeshAsset - Output static mesh asset created by this node |
| Texture2DTerminal | Texture2DTerminal (v1) Terminal node to a save a dependent 2D texture The terminal node will create an asset if it does not exists yet Input(s) : Image - Image data to store in the texture AssetPath - Path to the texture asset to create or update Output(s): TextureAsset - Texture asset matching AssetPath and updated with the image data |
| TextureTerminal | TextureTerminal (v1) terminal node to a save a dependent 2D texture |
Terminal|Proxy
| Node | Description |
|---|---|
| SimulationProxiesTerminal | SimulationProxiesTerminal (v1) Main terminal node for simulation proxies Input(s) : SimulationProxies - Physics solvers to evaluate |
Tools
| Node | Description |
|---|---|
| DataflowSelectionToolNode | DataflowSelectionToolNode (v1) Dataflow selection tool node When selected this node opens a selection tool to select vertex or face selection Input(s) : Collection - Collection to use for selecting on Output(s): Collection [Passthrough] - Collection to use for selecting on Selection - Output selection - this supports many types and will convert the internal vertex selection to the concrete type of the output |
Utilities
| Node | Description |
|---|---|
| UnionIntArrays | UnionIntArrays (v1) Union Int Arrays Dataflow Node |
Utilities|Array
| Node | Description |
|---|---|
| BoolArrayToFaceSelection | BoolArrayToFaceSelection (v1) Converts a TArray |
| ConvertToArray | ConvertToArray (v1) convert a single element to an array Input(s) : Element - Element to convert to an array Output(s): Array - Array to Convert to |
| FloatArrayComputeStatistics | FloatArrayComputeStatistics (v1) Computes statistics of a float array Input(s) : FloatArray [Intrinsic] - Array to compute values from TransformSelection - TransformSelection describes which values to use, if not connected all the elements will be used Output(s): Value - Computed value Indices - Indices of elements with the computed value |
| FloatArrayToVertexSelection | FloatArrayToVertexSelection (v1) Converts a TArray |
| GetArrayElement | GetArrayElement (v1) Get an element from an array Input(s) : Array [Intrinsic] - Array to get the element from Index - Index to get the element at Output(s): Array [Passthrough] - Array to get the element from Element - Element from the array at the specified index |
| GetArraySize | GetArraySize (v1) Get size of an array Input(s) : Array [Intrinsic] - Array to get size from Output(s): Size - Computed value |
| MakeArray | MakeArray (v1) Make an array from multiple elements of the same type. |
| MakeManagedArrayCollectionArray | MakeManagedArrayCollectionArray (v1) Append an element to an array of ManagedArrayCollections. |
| RandomizeFloatArray | RandomizeFloatArray (v1) Randomize elements in a float array (Random value will be in (RandomRangeMin, RandomRangeMax) Input(s) : FloatArray [Intrinsic] - Array to randomize RandomRangeMin - Random range min RandomRangeMax - Random range max RandomSeed - Seed for random Output(s): FloatArray [Passthrough] - Array to randomize |
| RemoveFloatArrayElement | RemoveFloatArrayElement (v1) Removes the specified element from an array Input(s) : FloatArray [Intrinsic] - Array to remove the element from Output(s): FloatArray [Passthrough] - Array to remove the element from |
Utilities|Box
| Node | Description |
|---|---|
| BreakBox | BreakBox (v1) Break a bounding box into individual components ( Min/Max corners, Center, HalfExtents and Volume ) Input(s) : BoundingBox - Bounding box to get the information from Output(s): Min - Minimum corner ofthe bounding box Max - Maximum corner ofthe bounding box Center - Center point of the bounding box HalfExtents - Distances from the center to any corner along the three axis Dimensions - Dimensions of the bounding box Volume - Total volume of the bounding box |
| GetBoxAverageExtents | GetBoxAverageExtents (v1) Get the bounding box average extents information Input(s) : BoundingBox - Bounding box to get the information from Output(s): AverageExtents - Average of the 3 axis extents AverageHalfExtents - Average of the 3 axis half extents MinLength - Minimum edge length of the box MaxLength - Maximum edge length of the box LengthRatio - Ratio of the min edge length over the max edge length |
| GetBoxLengths | GetBoxLengths (v1) Create an array of lengths of bounding boxes (measured along an axis, diagonal, or the max/min axes) from an array of bounding boxes |
| GetCollectionBoundingBoxRatio | GetCollectionBoundingBoxRatio (v1) Get the bounding box a collection and compute its box ratio from a reference size The reference size is the length of a perfect cube representing a reference volume Input(s) : Collection - Collection to compute the bounding box and ratio from ReferenceBoxSize - Reference box size to use to compute the ratio Output(s): BoundingBox - Geometric bounding box of the input collection Dimensions - Dimensions of the resulting bounding box in centimers |
Utilities|FlowControl
| Node | Description |
|---|---|
| BranchCollection | BranchCollection (v1) Branch between two Managed Array Collections based on Boolean condition Input(s) : TrueCollection - Collection input for the 'true' case FalseCollection - Collection input for the 'false' case Output(s): ChosenCollection - Output Collection |
| BranchFloat | BranchFloat (v1) Branch between two float inputs based on boolean condition Input(s) : A - Float input B - Float input Output(s): ReturnValue - Output |
| BranchInt | BranchInt (v1) Branch between two int inputs based on boolean condition Input(s) : A - Int input B - Int input Output(s): ReturnValue - Output |
| BranchMesh | BranchMesh (v1) Branch between two mesh inputs based on boolean condition Input(s) : MeshA - Mesh input MeshB - Mesh input Output(s): Mesh - Output mesh |
Utilities|Sphere
| Node | Description |
|---|---|
| BoundingSphere | BoundingSphere (v1) Compute the boudning sphere of the geometrry of a collection |
| BreakBoundingSphere | BreakBoundingSphere (v1) Expands data of FSphere |
Utilities|String
| Node | Description |
|---|---|
| HashString | HashString (v1) Generates a hash value from a string Input(s) : String - String to hash Output(s): Hash - Generated hash value |
| MakeLiteralString | MakeLiteralString (v2) Make a literal string |
| StringAppend | StringAppend (v2) Concatenates strings together to make a new string |
Utilities|Vector
| Node | Description |
|---|---|
| BreakVector | BreakVector (v1) Expands a Vector into X, Y, Z components |
| HashVector | HashVector (v1) Generates a hash value from a vector Input(s) : Vector - Vector to hash Output(s): Hash - Generated hash value |