Identifying products used in a scene?

Is there a script or other tool that you can use to list all the products used in a scene file, ideally in some exportable format?

When I post pictures to my personal website, I like to identify the products used. I usually end up opening the scene file in a text editor, extracting the "url" lines and then going through some time-consuming detective work to match up pathnames to products. If there's an easier method, I'd be interested to hear about it.

Comments

  • FSMCDesignsFSMCDesigns Posts: 12,756

    If there was, then there wouldn;t be any posts in the forums asking about items used in promo images since they would all be listed on the product page.

  • Faeryl WomynFaeryl Womyn Posts: 3,642

    Considering how often the question is asked I'm surprised no one has made a script for that...lol

  • Matt_CastleMatt_Castle Posts: 2,593

    There is a script for that: https://gumroad.com/l/vfJzG

    (That said, I have weird problems with it where it doesn't actually seem to open properly since I updated my OS, so I'm not sure I can actively recommend it...)

  • TaozTaoz Posts: 9,957

    There is one that will work with an open scene but I don't recall where it's found.

     

  • TaozTaoz Posts: 9,957
    edited January 2021

    Taoz said:

    There is one that will work with an open scene but I don't recall where it's found.

     

    Just checked my scripts, I think it's the attached one actually, but I can't get it to work in DS 4.15.0.2, doesn't return any results.  

    Removed as it looks like the same one as Richard linked to (which works, actually, so maybe it has been updated).

    Post edited by Taoz on
  • TaozTaoz Posts: 9,957

    Matt_Castle said:

    There is a script for that: https://gumroad.com/l/vfJzG

    (That said, I have weird problems with it where it doesn't actually seem to open properly since I updated my OS, so I'm not sure I can actively recommend it...)

    It's annoying that you have to give your email address away to see what people are offering at Gumroad.

  • FSMCDesignsFSMCDesigns Posts: 12,756

    Taoz said:

    Matt_Castle said:

    There is a script for that: https://gumroad.com/l/vfJzG

    (That said, I have weird problems with it where it doesn't actually seem to open properly since I updated my OS, so I'm not sure I can actively recommend it...)

    It's annoying that you have to give your email address away to see what people are offering at Gumroad.

    Agreed, which is why I don't use gumroad. I have seen a few creators that I wanted to support, but found how many hoops I had to jump thru so I just passed on it.

  • junkjunk Posts: 1,340

    Richard Haseltine said:

    http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/samples/metadata/list_products_used/start

    Rich would you know why this script works with things that you add to the scene after starting DAZ but NOT when you load a previous scene you created?   

  • junk said:

    Richard Haseltine said:

    http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/samples/metadata/list_products_used/start

    Rich would you know why this script works with things that you add to the scene after starting DAZ but NOT when you load a previous scene you created?   

    No, that sounds very odd.

  • bytescapesbytescapes Posts: 1,844

    I haven't seen that issue. When I run the script, it seems to pick up all the items in the scene, whether they were added in the current session or loaded from the file.

    And sometimes a bit more. Sometimes the list of products includes items that I suspect are instances of the 'always applied morph' problem (where a misconfiguration in a product leads to a particular morph being activated on all new characters).

    It also seems that for certain vendors/products, loading one product will somehow result in all their other products of the same type showing up. For example, if I use any hair by outoftouch, then all the hair models by outoftouch that I own are listed as being present in the scene. My guess is that it might be that outoftouch uses the same texture maps across multiple products, and the texture files share the same name, confusing the script.

    Despite these minor issues, it's an extremely useful script. Thanks again to Richard for providing it.

  • bytescapes said:

    I haven't seen that issue. When I run the script, it seems to pick up all the items in the scene, whether they were added in the current session or loaded from the file.

    And sometimes a bit more. Sometimes the list of products includes items that I suspect are instances of the 'always applied morph' problem (where a misconfiguration in a product leads to a particular morph being activated on all new characters).

    It also seems that for certain vendors/products, loading one product will somehow result in all their other products of the same type showing up. For example, if I use any hair by outoftouch, then all the hair models by outoftouch that I own are listed as being present in the scene. My guess is that it might be that outoftouch uses the same texture maps across multiple products, and the texture files share the same name, confusing the script.

    Despite these minor issues, it's an extremely useful script. Thanks again to Richard for providing it.

    All I provided was the link, but I'm sure the thanks will be appreciated by the author.

  • junkjunk Posts: 1,340

    Attached is an example where I added a character, put a close set on her, added in two props and ran the script.  It shows the group just fine the first time.  BUT if I save it as a scene, re-load it, I'll get the second result of an empty JSON set. 

    I can tell you that I don't have MyDaz3DLibrary in the default location as there isn't enought space on my Windows C: drive.  But that shouldn't matter at all I'm thinking.

    Any thoughts would be helpful as I cannot stand trying to bring a scene up and identify everything I use when I post it to the Daz gallery or my DeviantArt page.  I think it's good to let others know what products were used so that they can go purchase it and help Daz live on.

    Script Test-Added to frame.png
    1670 x 1181 - 845K
    Script Test-Loaded.png
    1691 x 877 - 699K
  • Do you have nested content directories? That is, one content directory inside another, with the content you are using in the inner directory.

  • junkjunk Posts: 1,340

    Thank you for your time Richard... I really appreciate it.  

    To answer the question though is I do not have nest contest directories (that I know of).  But, I do have three "Daz Studio Formt" directories with image attached.  I just removed the two additional folders and left the Daz Directory but still have the same problem after rebooting. 

    Daz3D CMS.png
    690 x 378 - 83K
  • junk said:

    Thank you for your time Richard... I really appreciate it.  

    To answer the question though is I do not have nest contest directories (that I know of).  But, I do have three "Daz Studio Formt" directories with image attached.  I just removed the two additional folders and left the Daz Directory but still have the same problem after rebooting. 

    Those look OK. I don't know that nested directories would have broken the script, but it was clutching at straws (perhaps that would produce the wrong relative patth for the asset and so break the look up). As it is I have no idea why the script would fail on saved scenes.

  • junkjunk Posts: 1,340

    Richard Haseltine said:

    junk said:

    Thank you for your time Richard... I really appreciate it.  

    To answer the question though is I do not have nest contest directories (that I know of).  But, I do have three "Daz Studio Formt" directories with image attached.  I just removed the two additional folders and left the Daz Directory but still have the same problem after rebooting. 

    Those look OK. I don't know that nested directories would have broken the script, but it was clutching at straws (perhaps that would produce the wrong relative patth for the asset and so break the look up). As it is I have no idea why the script would fail on saved scenes.

    Well I am very thankful to your mind and time.  I might try to do some "condense Database" or "re-import metadata" to see if any of these items work.  Thanks again Richard!

  • junkjunk Posts: 1,340
    edited August 2021

    FYI:  Here's my butchered version of the script that just simply outputs the products used without the JSON formatting.  Without studying the Daz world of scripting this isn't very optimized and I'm sure just a simple change of a flag somewhere would have made it work.  See attached text file.

    And this will output:


    Executing Script...--------------Genesis 3 Starter EssentialsAlieta Spryte Hair for Genesis 2 Female(s)3 Raven Court Expansion 18bit Retro--------------Result: Script executed in 3 secs 223 msecs.

    Run at your own risk although I really didn't change much of anything here... just remarked out some outputs and then output the product title by itself. 

    txt
    txt
    Script-getListofProducts.txt
    34K
    Post edited by junk on
  • I know this is quite late to the game by 3 years, but did some of the issues raised above get addressed by anyone?

    I am running the script that Richard referenced and seeing a few oddities, and I am looking for setups to test to try and make sense of it. Specifically, if I load a random scene with a few characters and run the script, it outputs exactly what I would expect. I have a buddy who I asked to do the same thing, and in their setup, we see weird behaviors where not all products are listed, or if they are, they all reference the dreaded "LOCAL USER" content library. This seemed to be somewhat related to where and how they installed the referenced products (some were manually installed) and how paths were baked into the scene file they were testing. When they created a completely new scene file with a couple of characters, it behaved as we would expect. However, as soon as they saved the file and re-ran the script, we were back to not seeing all the products and the "LOCAL USER" issue again. 

    This leads me to believe it has something to do with the way their content libraries are set up (or the ordering of their libaries), but I'm not sure which conditions to ask them to test next. Has anyone else seen this kind of behavior with this script?

     

     

  • sidcarton1587 said:

    I know this is quite late to the game by 3 years, but did some of the issues raised above get addressed by anyone?

    I am running the script that Richard referenced and seeing a few oddities, and I am looking for setups to test to try and make sense of it. Specifically, if I load a random scene with a few characters and run the script, it outputs exactly what I would expect. I have a buddy who I asked to do the same thing, and in their setup, we see weird behaviors where not all products are listed, or if they are, they all reference the dreaded "LOCAL USER" content library. This seemed to be somewhat related to where and how they installed the referenced products (some were manually installed) and how paths were baked into the scene file they were testing. When they created a completely new scene file with a couple of characters, it behaved as we would expect. However, as soon as they saved the file and re-ran the script, we were back to not seeing all the products and the "LOCAL USER" issue again. 

    This leads me to believe it has something to do with the way their content libraries are set up (or the ordering of their libaries), but I'm not sure which conditions to ask them to test next. Has anyone else seen this kind of behavior with this script?

    That sounds rather like metadata/content management system issues - manually installing and not importing the metadata, or moving the files around, will break the identification.

Sign In or Register to comment.