Documentation Home
Breadcrumbs

Analysers

MSD Analysers

The MSD (Musculoskeletal Disorder) analyser system in Skyreal VR has been built to be extensible. If the default score computation is not compliant with your company's ergonomic standards, you can create custom analysers.

How the Analyser System Works

The system is based on a set of analysers contained on every manikin that compute values based on a priority workflow. At each tick, every manikin executes the following analysers by default:

Analyser

Description

DA_Analyser_BonesAngles

Computes (X, Y, Z) angles of every bone of interest

DA_Analyser_RULABones

Computes RULA score for each bone

DA_Analyser_RULAGlobal

Computes RULA score for the back, left body part, right body part, and the worst overall score

In a second step, each analyser receives a request for visual output for each bone with an MSD indicator in 3D. The first analyser to respond in the priority workflow provides the definitive result. If you override an analyser, ensure it has priority over the default Skyreal VR ones.

Creating a Custom Analyser

Step 1 — Create the Data Asset

  1. Create a new extension plugin with a RegistrableAssets directory

  2. Create a data asset in RegistrableAssets that inherits from SkrManikinAnalyserDescription

[IMAGE: Create MSD analyser data asset — original at /pictures/v1.16/Manikin_ExtensionMSDCreateDA.png]

Step 2 — Configure the Data Asset

Open the data asset and edit the following fields:

Field

Description

Auto Register Analyser

Set to true to enable the analyser on every manikin

Analyser Dependencies

Reference the analysers that must execute before yours

Analyser Has Priority Over

Reference the analysers that your analyser overrides

[IMAGE: Edit MSD analyser data asset — original at /pictures/v1.16/Manikin_ExtensionMSDEditDA.png]

Step 3 — Create the Blueprint

Create a blueprint in your extension plugin (NOT in the RegistrableAssets directory) that inherits from SkrManikinAnalyserBaseClass. Reference it in the Analyser Base Class field of your data asset.

Step 4 — Override Functions

Open the blueprint and override the following functions:

Function

Description

Analyse Manikin Blueprint

Executed every tick — computes data and saves it to a report

Get Bone Score Blueprint

Executed every tick — returns the bone score from the report data. The first analyser to answer controls the manikin rendering

Set Parameters Initialization Report Blueprint

Executed at startup — initializes the MSD computation parameters

[IMAGE: Override analyser functions — original at /pictures/v1.16/Manikin_ExtensionMSDOverrideFunctions.png]

Example — Foot Analyser

To create an analyser for feet:

Analyse Manikin Blueprint override:

[IFRAME: Blueprint example — original at https://blueprintue.com/render/vo5wc5lq/]

Get Bone Score Blueprint override:

[IFRAME: Blueprint example — original at https://blueprintue.com/render/g6wn90rk/]

MSD Report Export

You can export MSD reports as JSON files. In the Unreal Editor, use the Save Report MSD Editor button in the manikin details panel to create a JSON file in the project's Saved directory. This produces the same JSON format that Skyreal VR exports at runtime.