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
-
Create a new extension plugin with a
RegistrableAssetsdirectory -
Create a data asset in
RegistrableAssetsthat 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 |
|
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.