Cases

From real problems to working results.

Cases/UE Projects

Motion platform and virtual filming

Software motion solving and signal processing for a six-axis platform, with ocean parameter animation and editor recording.

  • Simulation control
  • Motion platforms
  • Virtual production
Get in touch

Cover

Back
This page's table of contents

Project overview

This project covers software motion processing for a six-axis platform and virtual filming in the UE editor. Scene position and rotation must become data usable by the platform mechanism. Ocean parameters and actor motion also need to be organized into recorded sequences for review and adjustment.

My work covered forward and inverse kinematics, unit conversion, signal processing, ocean parameter integration, Take Recorder sequence organization and LiveLink transmission. Device control, physical calibration and hardware safety remain the responsibility of the device system.

Features I worked on

ModuleMy contribution
Mechanism definitionConnections and dimensions based on upper and lower platform joints
KinematicsRod lengths from platform pose and pose estimation from rod lengths
Signal processingReference pose, filtering, amplitude and rate limits, high/low-pass processing and tilt coordination
Ocean parametersInterpolatable wave and time properties, change notifications and time progression
Editor recordingTakePreset, actor sources, Take Recorder and timing between original and recorded sequences
TransmissionPreparing and sending LiveLink Transform data

Platform kinematics

Inverse kinematics transforms the upper joints using the target position and rotation, then calculates their distances from the corresponding lower joints to obtain six rod lengths. Forward kinematics uses Newton iteration and an analytical Jacobian to estimate pose from lengths.

Mechanism definition and solving are separate, with explicit joint layouts, dimensions and poses. Conversions between centimetres and metres and between degrees and radians are handled at the solving boundary.

Motion processing

I integrated EMA, median and Butterworth filtering, together with reference-pose handling, amplitude limits and limits on changes between frames. High/low-pass processing and tilt coordination address different components of the motion signal.

These stages have separate roles: reference, noise, range and rate of change. One constraint does not substitute for the others.

Ocean scene and virtual filming

Working with Oceanology’s scene presentation and force calculations, I exposed interpolatable time, wavelength, wave height, wave speed and direction properties. Changes broadcast notifications, while recording accumulates TimeCode for editor timing.

Recording uses editor-only TakePreset, actor sources and Take Recorder. After recording, the original scene Sequence is added as a SubSequence of the new result, with an offset based on the recording start time, and the result is saved.

Challenges and implementation

Converting scene pose into mechanism lengths

UE position and rotation cannot directly serve as six rod values. Motion along one axis can affect several rods, and solving depends on the full joint layout and dimensions.

I separated mechanism parameters, geometric inverse solving and numerical forward solving. Each direction can be checked against its own input, units and connection definitions.

Smooth output can still jump between valid positions

A value within the allowed range may still change sharply between frames. Stronger smoothing can also introduce lag during fast movement.

I kept filtering, amplitude limiting and rate limiting distinct so that noise, range and change speed can be adjusted separately. Different filters can be selected for different input signals instead of applying one parameter set to every motion.

Preserving timing between the scene and a new recording

Saving newly recorded actors alone does not preserve their relationship to an existing scene sequence. At recording start, I retain the original Sequence and start time. After recording, I add the original as a SubSequence and calculate its offset.

This organizes existing scene content and newly recorded actors in the same editor result for later review and adjustment.

Separating software transmission from device execution

The LiveLink sender prepares Transform data; the receiver interprets it and connects to the device. My implementation covers solving, processing and sending. Transmission completion does not establish device execution or hardware safety.

Results and scope

The software provides a path from scene pose through mechanism solving and signal processing to LiveLink transmission, alongside ocean parameters and editor recording sequences.

The recording path depends on editor data and is not a general video recorder for packaged applications. Ocean integration covers the existing wave and time properties. Wind, complete hardware synchronization and recording latency compensation are not complete; filtering and pose constraints do not replace workspace checks or physical calibration.