Component Bindings

Deformer graphs can be configured such that the skinning data from multiple components can be read and written to inside a single graph. This is done by specifying component bindings.

The "Primary" component represents the component that the deformer graph has been assigned to.

You can associate other component bindings with a specific component by using component tags. When you apply a deformer graph to a component, it will automatically check the actor for other components with the matching tag.

When you create a custom compute kernel, it will only be able to read data from a single component. To read data from multiple components, you have to add a secondary input binding:

You can then create inputs for data from each component:

When you read data from the secondary component binding, you must make sure to include the namespace of the binding.

It's important to note that output parameters can only be used by the component connected to the "Primary Group" pin. In the above image, the Primary component is connected to Primary Group. Therefore, SumOfPositions is associated with the Primary component. If I write the SumOfPositions output to the secondary component, it results in a compiler error:

Meanwhile writing to the primary component works fine:

If I wanted to write to the secondary binding instead, I would need to change the graph such that the secondary binding is connected to the "Primary Group" pin on the Add kernel (as well as update the HLSL code to reflect the new namespaces):

Last updated