Legato Selector

vncnt

Well-known member
This is an LScript master plugin for LW2020 (and older I guess): Legato Selector.
It's not completely finished yet but it could be functional already.

LegatoSelector.png
LegatoSelectorHelp.png


Click MMB to add a hotspot for the selected item to the viewport of this plugin.
Click RMB to delete a hotspot.
Click LMB to select a hotspot + select the associated item(s) + start its associated tool (move, rotate, squash, morph, sliders, IKBooster, ..)

Resize the dialog in any aspect ratio. Zoom with PageUp/PageDown. Adjust hotspot size with +/- keys.
Press F1 to enter Help mode.

The ZIP contains the LSC file, a test.lws, and a readme.txt file.

Please let me know if you have questions or suggestions.
 

Attachments

  • LegatoSelector2021.zip
    85.6 KB · Views: 45

raymondtrace

Founding member
This is an excellent advanced schematic. However, the "delete" button is a little too accessible. Without a confirmation, it is easy to accidentally delete a set.
 

vncnt

Well-known member
Fixed with a fairly convincing OK/Cancel dialog emulation.
Implemented for: renaming a set, deleting a set, and deleting all hotspots.

confirm.png


Now moving on to:
- Copy/Paste set
- Export/Import sets
- Hotspot color
- plugin to add this plugin Legato Selector by keyboard shortcut
 

vncnt

Well-known member
Added reference hotspots to jump to a different set of hotspots.
For example, to navigate to controls for the hands, or face.

refHotspots.png
 

vncnt

Well-known member
And it works cool too!

Version 2 has some improvements.

- finished the delete set function (now also removes the hotspots that belong to it + adjusts reference between set list and hotspot list)

- added the Reference Hotspot, a portal to other sets (to add one: Shift + click LMB + select the target set from the pulldown list (top left))
----> To select a reference hotspot without being teleported to the referenced set, drag the hotspot slightly before releasing the LMB
----> You can still link a reference hotspot to any other hotspot by selecting it first, then click MMB on the other hotspot (or itself to remove the link)
----> To change the referenced hotspot, select the hotspot (slightly drag), then click the Edit button, select a set from the pulldown, click OK
----> To rename the referenced hotspot, select the hotspot (slightly drag), then press F2 on keyboard, press Del to clear existing label, enter new text

- an emulated confirmation dialog for renaming a set, deleting a set, deleting all hotspots, and adding a reference hotspot
- to delete a single hotspot, you need to double click RMB
- to delete connected hotspot, you still need to Alt + click RMB any hotspot in the group of connected hotspots
- to clear all hotspots from the current set, you still need to press the Delete button on your keyboard
- to exit F1 help mode, you can either fit F1 again or simply click a mouse button
- double click LMB in the background to open Render Properties
- double click LMB on a (Tool) hotspot to open Item Properties

Except from the usual stuff (import/export/copy/paste/colors/plugin starter/faster visuals in full screen mode),
what concept would be interesting to implement while in the process of animating a character or object?

Further grouping? Adding vector drawings? Multi-select hotspots (in addition to the option for existing multi-select hotspots)? ...?
 

Attachments

  • Legato_Selector2021-2.zip
    95.3 KB · Views: 34

vncnt

Well-known member
Legato Selector v3 improvements:

- Draw lines:
a) Setup mode.
b) Alt + click MMB for startpoint + click Alt + MMB for next point(s).
c) select line point.
d) drag LMB to move, drag Ctrl + LMB to move via raster, drag Alt + LMB to move entire line, drag Ctrl + Alt to move entire line via raster.
e) select any line point, then press Del key on keyboard or button in ribbon to delete entire line.

- ZoomMax (click RMB or Home key), Pan, Delete, and load/save are line art aware.

- Finished the Assign Set to any 3D item in Setup mode: exit Setup mode. The Set is selected whenever the assigned item is selected in Layout.

- I've limited the hotspot size range to keep cpu load to a minimum.

- Combined the Edit- and LockUI features into a single Setup button.

- Adjusted the F1 Help text.

- Fixed some stability issues.

Selector_v3.jpg
 

Attachments

  • LegatoSelector2021-3.zip
    108.8 KB · Views: 36

vncnt

Well-known member
Busy with the next update:
- [new] Export/Import functions
- [new] reduced marker size during mouse drag, restored on mouseup
- [mod] PageUp/PageDown: previous/next Set#
- [mod] plugin data structure for easier LWS text editing (not compatible with previous version)
- [mod] markersize can now be reduced to 0 (+/- key)
- [fix] invalidate/adjust reference hotspots when deleting a Set

Still working on 2 bug fixes, and an Import Set# function.
 

vncnt

Well-known member
Legato Selector v4 improvements:

- [new] Export/Import functions
- [new] Import Set#
- [new] Reduced marker size during mouse drag, restored on mouseup
- [new] Dark/Light mode

- [mod] PageUp/PageDown: previous/next Set#
- [mod] Plugin data structure for easier LWS text editing (not compatible with previous versions)
- [mod] Markersize can now be reduced to 0 (+/- key)
- [mod] Pan is now reset to 0,0 when changing the (current) Set#
- [mod] MMB drag now pans all hotspots or selected hotspot (LMB drag background also deselects, MMB drag does not)
- [mod] Reduced raster sizes (active when dragging with Ctrl button)

- [fix] Invalidate/adjust reference hotspots when deleting a Set
- [fix] adding a new hotspot could trigger auto-navigate to a Set that is assigned to the selected item

LegatoSelector_v4.png
 

Attachments

  • Legato_Selector2021-4.zip
    117.5 KB · Views: 25

vncnt

Well-known member
Somebody stop me!
Legato Selector v5

Inspired by dAnimPicker from Disney, I've been working on a simplified display method because
you don't need the Tool related details while animating.
The Tools display method is untouched.

Modify size/aspect/shape/color per marker (resp. +/-, arrow left/right, arrow up/down, Alt + click LMB, Home to reset size/aspect, see also F1 Help).
Note that button Setup is turned-on to be able to modify marker properties.

Marker position/connection is the same as the position/connection in Tools mode.
In this mode, labels are hidden, except for the portals to other Sets.
Lines can be toggled on/off with 'L' key.
The selected marker is filled, unselected markers are filled with the dark gray background color.
Button positions in ribbon are optimized. Setup related buttons are disabled when Setup mode is turned-off.
File format has changed.

LegatoSelector_v5.png


dAnimPicker has additional other interesting shapes but LScript can't handle
filled shapes other than ellipse or rectangle.

Also, LScript rectangle shape updates are much faster than ellipses/circles.
 

Attachments

  • LegatoSelector2021-5_18-OCT-2021.zip
    126.7 KB · Views: 21

vncnt

Well-known member
I'll add an option to display filled rectangles and ellipses, and mark them white when selected.
Let me know if there are more ideas.
 

vncnt

Well-known member
Legato Selector v6.

Visually slighty more like dAnimPicker, unless you disable button Filled. Filled is only used in Graphics mode (disable button Tools).
Selecting an item (not being an item that is associated to a Set) high lights the related marker.

Additional buttons in Setup (right hand side) to modify behaviour - these new buttons also changed the file format.

The cursor is hidden when using Alt + click LMB to change the marker color, for immediate feedback.
Dragging a single marker in Graphics mode does not reduce marker size, for precise alignment.

LegatoSelector_v6.png
 

Attachments

  • LegatoSelector6_19-OCT-2021.zip
    132.1 KB · Views: 29

vncnt

Well-known member
New ideas:
- character name in titlebar
- definition of a character hierarchy master, compatible with the main Legato plugin
- data connection with the main Legato plugin, and other Selector plugins to synchronize, and to coordinate screen position and window size
- item.name in export data, to enable support for multi-character scenes
- method to search & confirm for item.name in a hierarchy
- mirror marker/connected markers function
- top layer to force overlap of markers
- prev/next connected marker
- marker type: arrow
- (IK-/...) switch markers
- zero command, to apply value @ frame 0 to current frame
- solo/mute markers, to hide one or multiple meshes
- controller markers, drag marker to modify channel

Other ideas?
 
Last edited:

vncnt

Well-known member
Legato Selector v7.

- [new] F4 to rename character, as displayed in the titlebar.
Useful if you applied a Selector plugin for each character.

- [new] Mirror mode: Off / Mirror Horizontally / Mirror Vertically (keyboard 'M' or button '-'/'H'/'V')
It shows every marker on the other side, horizontally or vertically.
Then you can Ctrl + LMB drag each marker to a blue dot to lock its position to the position of that dot.
Note that you can't lock a marker to itself (hence the red/orange dot).

- [mod] Reduced zoom in/out step

- [fix] A small marker size could become enlarged during mouse drag

I've added specific LWS files for LW2019, and LW2020.
At the moment there is an update issue in LW2015 and LW2018 when dragging markers.

LegatoSelector_v7.png
 

Attachments

  • LegatoSelector7_30-OCT-2021.zip
    163.1 KB · Views: 22

vncnt

Well-known member
Working on a method to modify X/Y/Z parameters directly from the marker, for position, rotation, and scale tools.
A first attempt seems to work nicely, especially when turning OpenGL UI off to hide all controller related visuals.
Very suitable for subtle movements in the face.
Still need to add procedures to set grid resolution and X/Y/Z configuration and orientation per (!) marker.

LegatoSelector_v8a.png


Also a few new ideas to make the setup slightly easier:
- remember the Tool and Color for the next new marker [edit: done, incl. shape, aspect, size]
- option to change Tool and Color for connected markers [edit: done, incl. modification of all markers]
[edit: - option to add another (different) label per marker in graph mode: done]

Found an issue when combining this plugin with another Legato plugin.
 
Last edited:
Top Bottom