Skip to content

0.5.0: Workflows, frame definition, and mesh warping

Compare
Choose a tag to compare
@adamkewley adamkewley released this 11 Jul 18:07
· 2873 commits to main since this release

0.5.0 adds support for "workflows", and implements two of them: frame definition and mesh warping.

Overview

The frame definition workflow makes it easier to define locations/rotations/frames on meshes according to ISB-style relationships. For example, it has support for defining landmarks, midpoints, edges between points, cross product edges, and frames that are defined w.r.t. those points/edges. This enables users to visually place frames on bone scans according to ISB rules with visual feedback and on-the-fly calculations, which should be useful to model builders.

The mesh warping workflow introduces a UI for the Thin Plate Spline (TPS) algorithm. The UI asks users to pair landmarks from two separate meshes in order to create a TPS warping kernel. The warping kernel can be then be used to warp any point in 3D space. We anticipate that this will be a useful tool for performing morphology-driven model scaling and creating blended models.

The "workflows" feature, including the frame definition and mesh warping workflows, are work in progress. If you think something is missing, or broken, report it on the issues page. We anticipate that interesting features from each specific workflow (e.g. the calculate feature in the frame definition UI) will gradually be ported to existing UIs (e.g. the model editor).

Other Highlights

  • 3D renderers are now correctly gamma-corrected, which makes the visualizations look nicer (#600)
  • Added support for editing int property values, which is handy for some component types (e.g. PrescribedController, #704)
  • Selected elements (e.g. when selecting a frame in an add component dialog) are now easier to differentiate from not-selected elements in the UI (thanks @aseth, #677)
  • Various internal changes were made to OSC to support generalized workflow UIs and splitting the OSC engine from OpenSimCreator (e.g. for creating other tooling UIs)

See CHANGELOG.md for a full list of changes.