Choose your operating system:
Windows
macOS
Linux
Control Rig can now be called in Blueprint through the Control Rig Component. Control Rig data can be accessed from Blueprints with the Control Rig Component. This enables you to drive Control Rigs with gameplay logic in Blueprints, reinitialize Control Rigs to fit differently proportioned characters, and read/write other Control Rig data directly. Additionally, you can use this Component to attach non-skeletal mesh objects to the Control Rig hierarchy with Accessors in the Control Rig Component.
In the Details panel, the Control Rig Component has a similar appearance to Skeletal Mesh Component. Instead of the Mesh category, it has a Control Rig category with a Control Rig Class.
Control Rig Setup Event
The Setup Event is an execution node used for initializations and control setups.
Use the Setup Event dropdown to define where the controls are located before additional solves.
Switching the toggle from Forward Solve to Setup Event provides a visual validation that the Setup Event Graph is working correctly.
Events
Control Rig can call the following events from the Control Rig Component.
On Post Initialize
This event gets called after the Component's Control Rig is initialized. This event can be used to set transforms or additional variables in Control Rig before Control Rig Component is initialized.
On Pre Setup
This event gets called before the Setup Event of the Component's Control Rig. This event can be used for setting transforms or additional variables in Control Rig before Control Rig's Setup Event.
On Post Setup
This event gets called after the Setup Event of the Component's Control Rig. This event can be used for setting transforms or additional variables in Control Rig after Control Rig Setup Event.
On Pre Forwards Solve
This event gets called before the Forward Solve of the Component's Control Rig. This event can be used for setting transforms or additional variables in Control Rig before its Forwards Solve.
On Post Forwards Solve
This event gets called after the Forward Solve of the Component's Control Rig. This event can be used for setting transforms or additional variables in Control Rig after its Forwards Solve.
Mapping and Connecting Control Rig
Manually Connecting within the Details Panel
Control Rig Component gives you the ability to add additional elements, such as adding bones to or using an additional skeletal mesh with a Control Rig. Use this workflow to share rigs between different skeletal meshes and also using Control Rig for Static Meshes.
In the Details panel, under the Animation section, the Control Rig Component has a Mapped Elements array.
By clicking the + button, you can manually add information to map and connect elements to the Control Rig.
Setting |
Description |
---|---|
Component Reference |
Allows you to choose a specific Component from a given Actor by component name. If the Control Rig Component is in an Actor based Blueprint, it defaults to Self as the Referenced Actor. |
Transform Index |
An optional index value for Components with multiple transforms. |
Transform Name |
An optional name value for Components with multiple individualized transforms names, such as sockets in skeletal meshes. |
Element Type |
The Rig Element type in Control Rig that the Component is an input or output of. |
Element Name |
The Rig Element name in Control Rig that the Component is an input or output of. |
Direction |
Determine whether or not the given Component is the driver or the driven to Control Rig. |
Offset |
The offset transform that should be given for the element. |
Weight |
The factor of which element should be affected. 1.0 is the default. |
Space |
The Rig Space that the Component is applied to. |
Dynamically Connecting within Blueprints
Control Rig Component also provides the ability to dynamically add additional elements to a Control Rig. Ideally, map new elements to Control Rig with the Construction Script of the Blueprint Actor. These all add to the existing Mapped Elements variable in the Animation Details Panel.
Add Mapped Skeletal Mesh
This node takes a Skeletal Mesh Component and maps the bones of the Skeletal Mesh to the Preview Mesh in the Control Rig used in the Control Rig Component. This is a Skeletal Mesh to Skeletal Mesh mapping link.
Add Mapped Skeletal Mesh Bone Array
This node takes a Skeletal Mesh Component and an array of ControlRigComponentMappedBones and an array of ControlRigComponentMappedCurves and remaps the given source to the target of the Control Rig used in the Control Rig Component. The source names of the bones and curves are referenced from the given Skeletal Mesh component.
ControlRigComponentMappedBone and ControlRigComponentMappedCurve are structs that take a source name to a target name and map the bones and curves to the Control Rig.
Add Mapped Components
This node takes an array of ControlRigComponentMappedComponent and maps the given component into the Rig Hierarchy of the Control Rig used in the Control Rig Component.
ControlRigComponentMappedComponent is a struct that takes a Component, element name, element type, and direction and adds the given element type with the names in mind to Control Rig.
Add Mapped Elements
This node takes an array of ControlRigComponentMappedElement and maps the given element into the Rig Hierarchy of the Control Rig used in the Control Rig Component.
ControlRigComponentMappedElement is a struct that takes a Component, transform name, element type, direction, and transform, and adds the desired element type with the names in mind to Control Rig. This format is the same as the one used when Manually Connecting within the Details Panel.