Finding rogue morphs?

Seven193Seven193 Posts: 1,080

I threw together this script to find rogue morphs that have been turned on, that shouldn't be on.  Basically, load the default male or female character into the scene, and select it.  Under normal circumstances, the base character shouldn't have any morphs turned on.

The reason why these rogue morphs don't show up under "Currently Used" in the parameter panel, is because their default value is equal to their current value, however this value may not be zero.  This is the gotcha that might be messing up your installation.

It can also be used to dump a list of all "currently used" morphs, but it won't dump all "currently used" properties, as it only searches for morphs, and not something like on/off boolean properties.  I originally wanted a script to list all "currently used" properties, morph or not, but I didn't find such a script in my searches. But, I did find this one.

What to do if you find a rogue morph? Still figuring that out.  If the morph belongs to a recently installed product that doesn't belong to Daz, then it definitely shouldn't be turned on. Might have to edit the data file to set the morph default value to zero.

 

dsa
dsa
find_rogue_morphs2.dsa
2K
Post edited by Seven193 on

Comments

  • Seven193Seven193 Posts: 1,080
    edited October 2022

    This one should list currently used morphs.  The first one only listed morphs with their default value turned on.

     

    dsa
    dsa
    find_currently_used_morphs2.dsa
    2K
    Post edited by Seven193 on
  • Since your scripts derive from http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/samples/metadata/list_products_used/start you do need to abide by the terms of the CC license. Downloading the script will get you the necessary comments in the opening, and then you need to note the changes you have made and provide a link from your posts here.

  • Seven193Seven193 Posts: 1,080
    edited October 2022

    Thanks, attribution and changes added to scripts. Link to license added.

    https://creativecommons.org/licenses/by/3.0/

    Post edited by Seven193 on
  • Thank you.

    You might want to edit the first post to move this to the Freebies thread, it is probably less visible here as potentially only those interested in script authoring will see it.

  • Seven193Seven193 Posts: 1,080
    edited October 2022

    Well, my intent was to start a script discussion thread, so if anyone wants to discuss "rogue morphs" or "currently used" morphs or what they've found using it, I would like to leave it here.  I'm just posting what I've done so far.  It may not be the best way to do it, as I'm not that experienced with scripting.

    Post edited by Seven193 on
  • Actually I'm afraid the edits don't meet the requirements of the CC license - see https://creativecommons.org/licenses/by/3.0/#

  • Seven193Seven193 Posts: 1,080

    Link to license added to top of script.

  • If you download the originals you cansee the format required - you just need to adjust to show the mutliple sources and note your modifications:

    /**********************************************************************
     
        This script is provided as part of the Daz Script Documentation. The
        contents of this script, and\or any portion thereof, may only be used
        in accordance with the following license:
     
        Creative Commons Attribution 3.0 Unported (CC BY 3.0)
        - http://creativecommons.org/licenses/by/3.0
     
        To contact Daz 3D or for more information about Daz Script visit the
        Daz 3D website:
     
        - http://www.daz3d.com
     
    **********************************************************************/
    // Source: http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/samples/metadata/list_products_used/start

  • Seven193Seven193 Posts: 1,080
    edited October 2022

    No need to nitpick, but I have satisfied the licensing terms, and I have done so "in any reasonable manner."
    There is no "format" requirement.

    Under the following terms:

        Attribution - You must give appropriate credit, provide a link to the license, and indicate if changes were made.
    You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.

        No additional restrictions - You may not apply legal terms or technological measures that legally restrict others
    from doing anything the license permits.​



    These are code snippets for debugging only. They are not finished or in any finalized form.  Do what you want with them. I don't care.

    Post edited by Seven193 on
  • Seven193 said:

    No need to nitpick, but I have satisfied the licensing terms, and I have done so "in any reasonable manner."
    There is no "format" requirement.

    Under the following terms:

        Attribution - You must give appropriate credit, provide a link to the license, and indicate if changes were made.
    You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.

        No additional restrictions - You may not apply legal terms or technological measures that legally restrict others
    from doing anything the license permits.​



    These are code snippets for debugging only. They are not finished or in any finalized form.  Do what you want with them. I don't care.

    You certainly can't say "Do what you want with them" - the license may not be relaxed beyond its current terms. You need to see https://creativecommons.org/licenses/by/3.0/legalcode (section 4 in particular.)

    This isn't nitpicking - the scripts are made available under a very generous license, but the author is not obliged to do that and the  - ubnfortuantely common - failure to abide by the terms is a constant thread to their availability.

  • Seven193Seven193 Posts: 1,080

    I deleted all Daz code from my script.  Didn't need it.  Still works the same as before.  Code is now under my own license, ""Do what you want with them".

  • Seven193Seven193 Posts: 1,080
    edited February 2023

    Anyway, this is how I fix rogue morphs.  I first find the .dsf file where the morph is stored.  For example, for G8F, all morphs should be stored under:
    \data\DAZ 3D\Genesis 8\Female\Morphs\

    If the .dsf file is compressed, I decompress it first.  Then I change one line in this section:

        "modifier_library" : [
            {
                "channel" : {
                    "id" : "value",
                    "type" : "float",
                    "name" : "Value",
                    "label" : "Rogue Morph",
                    "auto_follow" : true,
                    "value" : 1,
                    "min" : 0,
                    "max" : 1,
                    "clamped" : true,
                    "display_as_percent" : true,
                    "step_size" : 0.01
                },


    "value" stores the default value of the morph.  Above, it's set to 1, which means it gets automatically turned on.  In my case, this is bad.

    So,

    CHANGE:
                    "value" : 1,
    TO:
                    "value" : 0,

    And save the file again.  That should stop the morph from turning on.
     

    Post edited by Seven193 on
Sign In or Register to comment.