Disguise Technologies
88-89 Blackfriars RoadLondon
SE1 8HA
United Kingdom
info@disguise.one
www.disguise.one

r27.6 Changelog+-----------------------------------+| r27.6 Release - 187347 |+-----------------------------------+
Release day May 16th 2024

New Features
Skinned Mesh Workflows
Summary
The skinned mesh workflow allows a rigged mesh to be selected in a Skeleton, so that the mesh
can be deformed based on the positions of the skeleton’s bones. This can be used to represent
deforming surfaces, so that they can be used across other standard workflows within Disguise.
In this release the two main features are:
● Skinned mesh support for Skeletons● A new SkeletalPointTrackingSource for controlling skeleton bones based on tracked points
Taken together, these features allow us to deform a mesh based on tracked marker positions froma system such as Blacktrax or Optitrack.

How-ToTo use a skinned mesh as a projection surface:
1. Find or create an FBX file which contains a single rigged mesh, and copy this into theproject’s objects/Mesh folder
2. Create a new skeleton, and select the FBX mesh in the skeleton’s mesh field
3. Create a new projection surface, and select the mesh named after the skeleton (not theoriginal FBX mesh)
4. Try moving the skeleton’s bones using the manual posing controls in the skeleton editor.
The mesh should deform in both the skeleton and the projection surface
5. If you want to hide the skeleton mesh, set the Display mode under Appearance to Hidden
To set up a SkeletalPointTrackingSource to control a skeleton:

Disguise Technologies
88-89 Blackfriars RoadLondonSE1 8HAUnited Kingdom
info@disguise.one
www.disguise.one

1. Set up a marker tracking system e.g. Blacktrax or Optitrack to receive tracked points inDisguise
2. Create a rigged mesh with joints at each tracked marker position, export as FBX as selectin a Skeleton
3. Under Hierarchy in the Skeleton, click ‘Create Reference Points’ to create a reference pointfor each joint
4. Create a new SkeletalPointTrackingSource as the Skeleton’s tracking source
5. In the tracking source editor, add points to link each tracked point to its correspondingreference point
6. Points can be sorted into groups. If a point stops receiving tracking data, its position will be
estimated based on a rigid body transform from other receiving points in the same groups
7. Each point can also have an offset applied relative to the fixed point, and can have ‘Twist’
ticked to calculate the twist of that joint based on the positions of points within the samegroup
8. Adjust the ‘Rejoin velocity limit’ to change the speed at which points catch up with thetracked position when tracking is received again after being lostThis workflow is also documented in the user guide athttps://help.disguise.one/en/Content/Workflows/Motion-Capture/Skinned_Mesh_Workflows/Skeleto
n.htm andhttps://help.disguise.one/en/Content/Workflows/Motion-Capture/Skinned_Mesh_Workflows/Skeleto
n_Point_Tracking_Source.htm
Skinned skeletal mesh support●

DSOF-25206 Add deformable mesh functionality to skeleton●

DSOF-25221 Ability to import skeleton rig from FBX file

●DSOF-25307 Make skeleton layout persistent●

DSOF-25409 Render mesh when it is selected in a Skeleton●DSOF-26074 Add retargeting to control skeletal mesh with tracked skeleton data

●DSOF-26599 Instance skeleton-controlled deformable meshes so the same mesh can be used
multiple times●DSOF-27004 Expose skeleton joint pose manual controls to users

SkeletalPointTrackingSource for marker-based skeleton control●DSOF-25223 Ability to add tracked points to Skeleton

Disguise Technologies
88-89 Blackfriars RoadLondon
SE1 8HA
United Kingdom
info@disguise.one
www.disguise.one●

DSOF-26734 Add option to clear reference points in Skeleton●DSOF-25366 Account for non-receiving tracked points in Skeleton control●DSOF-25407 Automatically detect and control duplicate joints●DSOF-25484 Skeleton tracking - avoid points jumping when they stop receiving●DSOF-25497 Skeleton tracking - avoid points jumping when they start receiving again●

DSOF-25498 Skeleton tracking - calculate bone twist angle from rigid body group

Improvements●DSOF-24875 Add API call to indicate GUI state/selected option●

DSOF-25528 Add API call to set GUI mode

The above two items are in a new API endpoint /session/status/setguimode●DSOF-25063 Add API call to query timecode receive status of a transport

A new receivingTimecode field has been added to TransportIndo in the Session API.
●DSOF-25088 Add API endpoints to query QuickCal pixel error and overwrite manual calibration

Two new endpoints have been added:/quickcal/overwritemanualcalibration which overwrites the manual calibration for the given projector/quickcal/projectorcalibration which returns information about the projector config including theerror values●DSOF-25222 Omnical - ability to mesh deform without adding verts

It is sometimes desirable to deform with Omnical without adding extra vertices. This is now
configurable in MeshDeform in the new Topology Behaviour setting. Selecting “Discard insertedvertices” will result in a deformed mesh without added complexity. The number of vertices andtriangles before/after MeshDeform will remain the same.

●DSOF-25351 OmniCal: minor MeshDeform performance improvements

Disguise Technologies
88-89 Blackfriars RoadLondon
SE1 8HA
United Kingdom
info@disguise.one
www.disguise.one

Performance of the Omnical mesh deform feature has been improved.
●DSOF-25367 Add prediction to tracked points

A new section for Prediction has been added to the natnet driver. This can help to minimise lag. The
new fields in the Prediction section are as follows:
Prediction time (sec): How much time to predict
Sample interval threshold (sec): This is the threshold of time intervals between samples to filter outnoise. If the interval time between samples is bigger, detection will be ignored.
Sample size: The number of samples to use for prediction. More samples will make prediction lessprone to the noiseTerms: This is the term of curve that is used for curve fitting. Value can be set to either 1 or 2
●DSOF-26057 Add user facing option to render normals

Mesh normals can now be toggled on in the Designer visualiser. To turn on normals, go to Stage ->Visualiser Camera -> Render settings -> Object visibility -> Mesh normals. Normals will then be
displayed for any mesh which is selected.

Fixes●DSOF-23836 - Fixed an issue where feeds dragged over a GUI could no longer be suppressed by
Alt+G or Alt+F●DSOF-24884 - Fixed an issue where toggling the GUI with ALT+G persisted the state through aproject restart●

DSOF-25021 - Fixed an issue where NatNet driver could introduce subtle rotation errors in RigidBodies●DSOF-25331 - Fixed an issue where unlabelled markers in Motive created infinite unnamed
TrackedPoints in Designer●

DSOF-26190 - Fixed an issue where a dormant Sockpuppet Video Layer briefly became active
when changing media slot●

DSOF-26622 - Fixed FBX mesh collisions mesh being generated incorrectly●DSOF-26704 - Fixed FBX mesh thumbnail being empty●

DSOF-26901 0 Fixed an issue where Alt+G GUI Is Disabled splash was not always in bottom

Disguise Technologies
88-89 Blackfriars RoadLondon
SE1 8HAUnited Kingdom
info@disguise.one
www.disguise.one

right of screen●DSOF-27011 - Offline editors no longer affect aggregate status in the session widget