Dynamic Transform Toolkit Documentation
Introduction
The Dynamic Transform Toolkit offers many ways to make transform manipulations within your game easier. By using three instruments - Transform Sequencer, Axis Rotator, and Spline Mover - you can easily create many level design situations without any coding.
This plugin is recommended to use with the Core Interaction System free plugin available on Fab.
- Transform Tools
- Transform Sequencer
- Axis Rotator
- Spline Mover
# Transform Tools
There are three main tools for controlling transformations in your level: Transform Sequencer, Axis Rotator, and Spline Mover. The combination of these tools can give level designers the ability to create dynamic, interactive environments without requiring custom coding.
Transform Sequencer
The Transform Sequencer is a powerful tool that allows you to easily define and manage transforms for actors you've added to TransformChangerData. With it, you can group transforms and smoothly interpolate between them, giving you control over actor movement, rotation, and scaling—all without writing any code. Simply choose the actors for the Transform Sequencer to manage, then specify the transforms for each group in the editor. The Transform Sequencer will automatically handle all interpolations, allowing you to create smooth transitions and complex animations effortlessly.
Setup Instructions
- Add a Transform Sequencer actor to your world.
- Populate
TransformChangerDatawith the actors you wish to control - Set
ActiveTransformIndexto 0 and configure the desired transforms for each actor in the editor. - Set
ActiveTransformIndexto 1 and configure the desired transforms for each actor in the editor. - Switching the
ActiveTransformIndexbetween 0 and 1 will visualize the defined transform groups in the editor. - Call
SetDesiredTransformorSetNextTransformto interpolate between transform groups
How to Populate Actors Easily
- Group actors you wish to add.
- Find the group actor name (e.g.,
GroupActor1). - Fill in the
GroupActorSelectionwith the desired group actors. - Press the
AddActorsFromGroupSelectionbutton inside the details panel.
Properties and Functions
- TransformChangerData: Holds references to actors that are being controlled by TransformSequencer.
- TotalTransforms: Indicates how many different groups of transforms exist for each actor.
- InterpType: Allows you to choose the interpolation type (e.g., constant or interpolated) for transitioning between transforms.
- MinGlobalSpeed & MaxGlobalSpeed: Set minimum and maximum speed values for location, rotation, and scale. Used for randomizing each actor's movement.
- bMoveConfiguration: If true, the transform configuration will move with the Transform Sequencer, making adjustments easier when repositioning.
- ActiveTransformIndex: Indicates the current transform group being edited in the Blueprint editor.
- AddNewTransformGroup: Adds a new transform group to
TransformChangerData. - DeleteCurrentTransformGroup: Deletes the currently selected transform group in
TransformChangerData. - AddActorsFromGroupSelection: A button that adds all actors from the selected group (
GroupActorSelection) toTransformChangerData. This saves time by quickly populating the actors to be controlled by the Transform Sequencer.
Axis Rotator
The AxisRotator tool allows developers to rotate multiple actors around a defined axis. The axis is visualized in the editor, making it easy for developers to set up and preview rotations in real time. The rotation can be continuous or to a specific angle. The component provides options for adjusting the speed of rotation, reversing the direction, and more, making it versatile for different gameplay scenarios.
Setup Instructions
- Add the Axis Rotator to the actor you want to rotate or as a separate entity to control multiple actors.
- Populate the
AxisRotatorActorsarray with references to the actors you wish to control. - Configure the rotation properties such as
GlobalAxisandTargetSpeed. - Use the
StartContinousRotationfunction to initiate continuous rotation orRotateToAngleto rotate to a specific angle. - Optionally, use the GroupActorSelection to add all actors from a specified group for easier setup.
Functions and Properties
- AxisRotatorType: Defines the type of rotation (e.g., Continuous, Step Rotation, Target Angle).
- AxisRotatorActors: Array of actors that are controlled by the Axis Rotator.
- GlobalAxis: Defines the global axis around which the actors will rotate.
- CurrentSpeed: Displays the current speed of the rotation.
- TargetSpeed: Sets the target speed for the rotation.
- SpeedChange: Speed of interpolation between
CurrentSpeedandTargetSpeed. - ReverseDirection: Determines the direction of the rotation (true for one direction, false for the opposite).
- StartContinousRotation(float Speed = -1.0f, bool bNewReverseDirection = false): Starts a continuous rotation with the given speed and direction.
- RotateToAngle(float NewTargetAngle, float Speed = -1.0f, bool bNewReverseDirection = false): Rotates the actors to a specified angle.
- StopRotation(): Stops the current rotation immediately.
- AddActorsFromGroupSelection(): Adds all actors from the specified group to the
AxisRotatorActorsarray, useful for efficient setup.
Spline Mover
The SplineMover tool allows actors to move along a pre-defined spline path. This is useful for moving actors along a specific trajectory. The movement can be adjusted to be back and forth, looping, or one-time traversal.
Setup Instructions
- Add the SplineMover actor to world.
- Define the spline path using the
SplineComponentproperty. - Fill
SplineMoverActorsarray with references of actors you want to move along spline - Inside
SplineMoverActorssetDistanceOnSplineproperty. - Set the
MovementTypeandRotationTypeproperties to configure the movement behavior. - Call
StartSplineMovement()to start movement.
Properties and Functions
- SplineMoverActors: Actors to be moved along the spline.
- MovementSpeed: Controls the speed of movement along the spline.
- RotationSpeed: Controls the speed of rotation during movement.
- MovementType: Defines the type of movement (e.g., back and forth, loop, one-time).
- RotationType: Specifies how the actor should rotate while moving along the spline.
- OffsetRotator: Allows you to specify an offset for rotation when moving along the spline.
- bAdjustSpeedWithCurve: If true, adjusts the speed of movement based on the provided curve.
- SpeedCurve: The curve used for adjusting movement speed along the spline.
- bSetGlobalTangent: If true, sets global tangents for all spline points.
- GlobalTangent: Sets the global tangent for spline points.
- StartSplineMovement(): Activates spline movement.
- StopSplineMovement(): Deactivates spline movement.
- OnSplineStopped(): Event triggered when spline movement is stopped.