Introducing: Legato Breakdance

vncnt

New member
Legato Breakdance is a free plugin that blends two adjacent poses into a new breakdown pose on the current frame, controlled by one single master % slider.
For example between key- or extreme poses.
Use it to quickly setup the timing of your animation, for example in Stepped mode.

LegatoBreakdance_00+.png

Change every curve in your animation into TCB/Hermite/Bezier/Linear/Stepped,
or erase the pose on the current frame if you changed your mind.

To adjust the timing of details, open the Sub Control sliders.
This list of sliders is generated automatically.

LegatoBreakdance_00.png

You may use this plugin in combination with Legato (classic) but it works fine as a stand-alone plugin.
For example to define the PoseType of the current frame, for a structured timeline, and filtered commands (Delete all In-Between pose frames, etc).

LegatoBreakdance_01.png

Click button [Set Hierarchy] to define the Hierarchy Master, or top-of-hierarchy.

The slider at the top creates a key for all (Genoma) controls in the selected hierarchy on the current frame.
Slide it to the left to create a pose that is based on the first key to the left side of the current frame.
Move the slider to the right to create a pose that is based on the first key to the right side of the current frame.
Move the slider somewhere in between to blend between left key and the right key.
Each key gets an Incoming Curve of the selected curve type, 'Stepped' by default.

Click button [Sub Controls] to unhide/hide all sub controls that reside under the Hierarchy Master.

A (sub) control can be a Mesh, a Null, a Light, or a Camera.
This item needs to be VISIBLE, UNLOCKED, and it should belong to the selected hierarchy.
All unlocked tool channels that belong to a sub control or hierarchy master will be processed.

Use these sub control sliders to adjust the key for that sub control only.
As soon as you drag the slider for Hierarchy Master (at the top), all keys in that hierarchy will reset to the value of the Hieararchy Master slider, and sub control sliders are reset to 50% blend.

Click button [Convert All] to change the Curve Type of all keys of every control in the hierarchy into the specified type.
This makes it easy to spline your keys, or revert to stepped mode.

Click button [Erase Pose] to remove all keys on the current frame, for every (detected) control in the hierarchy.

Legato Breakdance uses the comring to send commands to Legato (classic).
Press keyboard key 'k' to define a frame as a key pose, 'e' for extremes, 'b' for breakdowns, 'i' for inbetweens, 's' for straightahead, 'h' for hold, 'c' to clear.
Navigate between frames that have some Pose Type defined with the comma (prev) or period (next) button.
PoseType is displayed per frame in the upper region of the Legato (classic) timeline. Zoom-in to display the text on their color encoded labels.
Press the F7 key or click the Setup button to enable Poses to be influcenced by the Legato internal commands (for example TimeBend, Quantize, etc).

The [Setup] contains settings for UI Zoom, and a Lock for dialog size.

Legato Breakdance needs more testing (with larger Genoma rigs) but so far it seems to behave nicely.
I expect to publish it in one of the next days.
 
Last edited:
Legato Breakdance version 20-APR-2022
This is a first version for LW2020.

The ZIP file contains the plugin, and a LW2020 demo scene file with a G2 biped rig.

I've added a few new features:
- When Sub Controls is enabled, a LED indicator marks the selected item in Layout.
--> select an item in the viewport should navigate to the correct page and highlight the correct slider
--> touch any slider to select the item in the viewport
- Slider channels start with a sequence number.
- The Setup button has moved to the right side.
- Added Up/Down buttons to change the page.

LegatoBreakdance_03.png

DEMO
After loading the demo scene, start playback to find the frame numbers of some poses.
Keep button Sub Controls disabled, for now.

Go to a frame in-between 2 poses, then use the master slider to define the new blended pose, use the rig controls to fine-tune arcs, ease-in or ease-out, drag, anticipate, counter balance, etc. Be aware that all is lost as soon as you drag the master slider again.

Now enable button Sub Controls.
Define the position of the master slider, then drag any Sub Control slider to speed-up or slow-down the movements of individual controls.
You may select the correct controller in the Layout viewport first.
Be aware that all is lost as soon as you drag the master slider again.

Switch Incoming Curve from Stepped to TCB Spline and click button Convert All.
Start playback to view the result.
Switch Incoming Curve from TCB Spline back to Stepped and click button Convert All.
Start playback to view the result.

Go to the frame with the blended pose, then click Erase Pose to remove it.

Everything should work as described here.

KNOWN LIMITATIONS
- After loading the scene file in Layout, you must select the (or a) hierarchy master, and click on button Set Hierarchy. Make sure it isn't highlighted anymore. The hierarchy master is now set. You may select any control in any hierarchy.
- The number of controls is currently limited to 128 slider channels. If that's not enough for you, try defining a sub control as the hierarchy master.
- Because of the dynamic nature of the user interface, the dialog update process has been carefully tuned. The downside: for now, the interface is targeted at LW2022 only.
- After changing the dialog vertical size, you need to press Up or Down to fill/update the page with controls. You can only enlarge the vertical size.
- Dialog vertical size is restored to a default value when switching Sub Controls, unless you enable Lock Size on the Setup page.
- To report the pose type to the timeline, you need the latest version of Legato (classic). That update will be posted later.

This plugin is meant to quickly add Breakdown poses in Stepped mode, after you've added Key poses and Extreme poses.
Its usefulness depends on your workflow.

You may experience issues in specific situations.
Please report what works for you, what does not work for you, or what is missing.
 

Attachments

  • LegatoBreakdance_20-APR-2022.zip
    157.9 KB · Views: 229
Last edited:
Jean Desnnis-Haas: "If you don't put enough breakdowns in your stepped pass you don't have enough information to understand the story the acting choices, the timing, and it's misleading on many fronts.", and "Do not skimp on breakdowns and In-Betweens. You can't just have two poses and think that's going to tell the story.".

See also: "The CURSE of STEPPED KEYS!".
 
I'm working on the next update of Legato Classic and Legato Breakdance.

Added tools to define a Pose Type per frame, grouped by Actor so it can handle multiple characters in a scene.
You may assign each Actor (max. 8) to any Item, even Lights or Cameras, but preferably to a hierarchy master that relates to the name of a character.
Changing the Actor in Breakdance synchonizes the Actor in Legato Classic, and vice versa.
Legato only displays Pose Type information that belongs to the selected Actor.

The selected Hierarchy does not need to match the item of an Actor.
For example, this way you'll be able to add/erase a Breakdown Pose of limbs.

The Breakdance interface is now more flexible:
a minimal size when communication with Legato Classic isn't needed,
a medium size to view Pose related UI controls,
and a larger size that also displays navigation buttons to jump to the previous/next element on the Text Tracks or Marker/Region Tracks.
The empty space in the larger version is reserved for future UI elements.

I also modified and fixed some issues in Legato Classic to cooperate with Legato Breakdance.

The main goal is to streamline the process of shot design and setup, with structure and easy adjustments.
I'll try to publish a ZIP file this weekend.

Breakdance.gif
 
Now available: Legato and Legato Breakdance 14-MAY-2022 for LW2020.
Remove the old LSC files for Legato and Legato Breakdance.

I've added some features:

A Copy button to store a reference frame number, and a Paste button that copies the keys from the reference frame to the current frame.
After using Paste, you must define the Pose Type manually by pressing one of the Pose Type buttons.

The Sub-Controls button now keeps the bottom of the dialog in a fixed position.

In older versions of LightWave, there are some display issues that can be bypassed when resizing the dialog.
I'll have a look at that later. For now, only LW2020.

demo.png
 

Attachments

  • LegatoBreakdance2022.zip
    952.6 KB · Views: 217
  • demo_breakdance_LW2020.zip
    93.5 KB · Views: 213
Now available: Legato and Legato Breakdance 16-MAY-2022 for LW2020.

Changes:

- [NEW] Added button Stats, in Legato Breakdance, to calculate the ratio between defined poses and total frames in the render range. For the selected Actor and scene wide for all used Actors (max 8). This function is only available when button 'Pose UI' in Setup is enabled, and the Legato classic plugin is active too.

- [BUG] PoseTrack drawing error, in Legato, when zooming or panning while text editing on a text track or the label of a marker/region.

Statistics.png
 

Attachments

  • Legato_Breakdance.zip
    955.5 KB · Views: 210
Working on the next generation Legato Breakdance | Legato Fake Onion | Legato combination.

Legato Fake Onion
- added Ident and Group to its interface, to enable filtering of multiple items with a permanent visible motion path;
- its listening to the comring for commands;

Legato Breakdance
Created some space in the Extende Mode version of the Breakdance UI for new features.
- added Fake Onion filter presets (below: 'No motion ..' pulldown;
- added a button Fake Onion to add/open a Fake Onion plugin to the selected Object;
- added a button Morph Mixer to add/open a Morph Mixer plugin to the current actor (below: 'Master_test_rig');
- added buttons 'Insert Frames' and 'Cut Frames' for all envelopes of the current actor and its (rig) hierarchy; accessing existing Legato functionality;
- added edit state buttons for Poses/Text/Markers/Keys to filter edits on the Legato timeline; accessing existing Legato functionality;
- added a new feature: Combine; it combines text on the SPEECH track (in the middle of the Legato interface) within a selected frame range;
- added a new feature: Distribute: it splits a single string (on a single frame) text into multiple words and (dot separated) word parts like syllables (that often trigger a jaw move)

To do
- added a button reservation (to do feature) to match text string on the SPEECH track to Library items like Poses and Motions, then add them to the frame as specified by the text string on the SPEECH track; multiple syllables per Library item can be stored in the name of a Marker by adding a separation character like a dot.
- adding a character '-' that refers to a neutral Pose like 'Mouth Closed'.
- fixing some broken code;

It's not AI driven Lip-Sync but I hope this makes the process faster and better manageable.


Break2.png
 
A first implementation of the Lookup function seems to work correct.
To make this work, you must create Poses and/or Motions in advance, with translation of rig controls, and/or corrective morphs.
Rename each pose/motion to the word or syllable it represents.
To use a single pose/motion for multiple words/syllables you can separate them with a '.' in the marker name.
Example: a pose named 'SYL.LA.BLE.WORD' is matched with 'WORD', 'BLE', 'LA', and 'SYL' text on the SPEECH track.
You can also use special characters, for example '-' to identify 'mouth closed', or '+' for 'scream'.

Operation
- select the frame range that contains text on the SPEECH track, with or without '.' separated syllables or ' ' separated words;
- click button 'Distribute' to cut the text into fragments that make the jaw move;
- keep the correct frame range selected, the click button 'Lookup' to find markers and regions in the Library that contain dot separated syllables and/or words;

Result
Each matching Pose name and Motion name is now placed at the frame# of your text on the timeline of the Actor Object.

Next steps
When the Lookup function is ready, you can:
- drag-RMB any marker to a different frame, for example to anticipate explosive syllables like 't' and 'p' and 'b';
- create Hold poses with button 'Hld', for example to delay tweening between poses;
- fine-tune jaw movements and 'amplitude' of each facial expression;


In Legato you can easily switch the Hierarchy Master in each Library item, or top of a hierarchy, to the top of a subset of a rig hierarchy. For example to isolate a hand pose/motion. But this kind of flexibility will work against you when speech is generated from a characters mouth, and correction morphs from the Mesh. When the Transfer routine can not find a matching item (controls and morph channels), it is placed in a new Retarget Relation Set. That enables you to create a manual link between the source items and target items, then you need to Transfer again.
To prevent this, I think I need to find a solution to identify mouth poses/motions for speech, and force them to be used at the Actor level.

Also need to deal with mixed use of capitals. I think it should be tolerant for this but I could also use it to solve the previous problem and use capitals-only for speech poses/motions.

Not sure if it's ready for publishing yet but this already looks promising.
 
Last edited:
This is the current version of Legato Suite, including the latest modifications for Breakdance to cooperate with Legato, Subdivision Master, Fake Onion, and Morph Mixer.
See also readme.txt file.

I've included some demo files for demonstration of Breakdance to mix interpolated keys, and my lip-sync solution.
It's based on matching text on the timeline with predefined poses/motions in Legatos Library.

Breakdance_intro1.png
 

Attachments

  • LegatoSuite_part1.zip
    1,020.3 KB · Views: 130
  • Demo.zip
    151.7 KB · Views: 130
  • LegatoSuite_part3.zip
    755.3 KB · Views: 123
  • LegatoSuite_part2.zip
    585.8 KB · Views: 138
Last edited:
Back
Top