A script to control a selected Property, with large font size, and Preview buttons

PraxisPraxis Posts: 250
edited November 2022 in Daz Script Developer Discussion

The font size in the Parameters Pane is too small for comfortable use for me, and the controls for fine-tuning a value are a bit indirect, so I've written this to help me in these particular areas.
I find it very useful when Shaping or Posing a figure, to fine-tune the settings, e.g. to easily see the subtle difference between the Genesis 2 Female "Fitness" morph applied at 0.5 vs 0.6

The attached PropertyController.dsa file (160 KB) is a free, un-encrypted script that provides an alternative to the standard "Parameter Sliders":

  •   Larger, more-readable Value displays.
  •   Single-Click restore Initial value.
  •   Single-Click toggle between Initial and Current Values.
  •   Single-Click restore Default value.
  •   Single-Click toggle between Default and Current Values.
  •   Single-Click toggle between 2 User-specified Values.
  •   Single-Click specification of Nudge Size.

Instead of trying to provide large font and preview buttons for each Property, this provides them for just the currently-selected Property.

It also contains basic Viewport and Animation controls, some reporting utilities, and basic Help text.

Although its free, and hopefully useful to non-Developers, I've posted it in this Script Developer forum instead of in the Freebies forum because:
  a) I hope it won't be needed for long: I hope that DAZ will provide an equivalent Tab in the Parameters/Posing/Shaping/Surfaces Panes, so that I/we can get these benefits without having to reproduce so many standard controls (Viewport, Animation, etc.) in a "modal" dialog.
  b) I'm much more interested in feedback from DAZ and Developers about what script techniques would be better for doing this sort of thing than End-User feedback (although I would still appreciate that).

In more detail:

  • The script works on floating-point numeric properties only - but that is most of them, and other types could be added quite easily.
  • I've tested it with Studio v4.8.0.59 and Windows 7 Pro.
  • It still has some rough edges (e.g. no "Undo" facility, could be purer "OOP", more-standardized naming conventions, etc.), but I don't intend to polish it any further - I hope DAZ will soon build in the equivalent.

Here's a partial screenshot:

screenshot

1) The dialog.
2) Node Selector: Lets you select any Node in the Scene, and displays its label in large font.
3) Property Selector: Lets you select any (floating-point) numeric Property of that Node, and displays its label in large font.
4) Value display, in large font.
5) Slider to control the Property's Value.
6) Single-Click Preview buttons (as described at the start of this post).
7) Single-Click specification of Nudge Size for the Slider's auto-repeating +/- Nudge buttons.
8) Selector for the font size for the Node Name, Property Name, and Property Value displays.
9) A convenient button to launch this script via a "Custom Action"
    (Created via Menu: Window > Workspace > Customise...)

The script demonstrates one way to do a variety of things that could be needed in "modal" scripts for many other purposes, and its the improvement of these techniques that I'm most interested in:

In a modal dialog, provide controls that are sort-of equivalent to the standard controls that are not available there:
  Node Selector
  Property Selector
  Camera/View Selector (Perspective, Front, Custom Camera, etc.)
  Perspective Camera:
    Orbit left-right
    Orbit up-down
    Dolly in-out
    Zoom in-out (adjust Focal Length)
  Orthogonal Camera:
    Pan left-right
    Pan up-down
    Dolly in-out
  Frame selected Node
  Aim at selected Node
  Reset Camera
  Draw Style Selector (Wire Shaded, Texture Shaded, etc.)
  Show/Hide Bones

Miscellaneous techniques:
  Display data in a large font size.
  Save/Load preference settings that persist between sessions.
  Launch an independant viewer for a text file (e.g. a report of which Nodes have non-Zero Transforms).
  Object inheritance: How to call inherited functions of the .superclass, etc.
    (Not actually needed in this script, but my next project involves a hierarchy with about 5 levels).

I hope you'll find it useful - feel free to modify it to suit yourself.
-P

dsa
dsa
PropertyController.dsa
158K
PropertyController_01a.png
485 x 1060 - 63K
Post edited by Praxis on

Comments

  • Thank you! This is useful and still works well.

  • PraxisPraxis Posts: 250

    FSF said:

    Thank you! This is useful and still works well.

    You are welcome - glad to hear it.   smiley

    Footnote:  In the 6 years since then, it has grown into an all-singing, all-dancing utility with 5MB of .dsa code.  I can't imagine using DAZ Studio without it...

  • SF-DesignSF-Design Posts: 986
    edited November 2022

    Praxis said:

    FSF said:

    Thank you! This is useful and still works well.

    You are welcome - glad to hear it.   smiley

    Footnote:  In the 6 years since then, it has grown into an all-singing, all-dancing utility with 5MB of .dsa code.  I can't imagine using DAZ Studio without it...

     

     

    I just noticed it yersterday because I searched for sliders, property controls and so on and then found your script, which is indeed a time saver to have so many common needed things together smiley

    Post edited by SF-Design on
Sign In or Register to comment.