Question about Metadata and Compatibility Bases for converted assets.

I used Riversoft's G3 To G8 Hair Converter to convert a bunch of G3 hairs into G8 Hairs. These converted hairs are stored in a separate directory from their G3 originals - I use this directory to store to store all of my converted assets and products, such as hairs, clothes, characters, etc.

Now, to minimize clutter in Smart Content, I've added these Converted Hairs into the same Product as the G3 originals. I did this by simply copy-and-pasting the reference from the "converted assets" directory into the product folder containing the original hairs (all within Daz itself). The converted hairs include "G8 Conversion" in their name to differentiate them from the originals.

I've also edited the Metadata of the Product so the Converted hairs have the correct asset typing and compatibility with Genesis 8 - they include the green "Hair" label in the thumbnail (I know that's not really important, but I'm a stickler for details), and - when I enable "filter by context" in Smart Content - the converted hairs show up as they're supposed to when I have a Genesis 8 figure selected. That's all working fine, no problems at all.

Now, the last thing I want to do is add compatibility to things such as materials, shaping, posing, etc. So when I have my Converted G8 Hair selected in the scene, any relevant materials or shaping options will appear in Smart Content, the same as if I had the Original G3 hair selected. I've tested it already, and using any materials or shaping options intended for the Original G3 Hairs on the Converted G8 Hairs works perfectly fine.

Now, from what I understand, the way you should be able to do this is to edit the Metadata of the product, and select the Converted G8 Hair file in the "Assets" list. Then, with the hair selected, go to the "Compatibility Bases" tab, right-click on the hair and select "Add Compatibility Base to Selected File(s)". In the pop-up window, locate the product file, right-click and select "Create New Sub-Compatibility Base", and enter a unique name for the new "Base".
Once that's done, you should go the "Compatibilities" tab, and select all the material files, shaping files, posing files, etc., in the files list at the top that would be applicable to the hair. With them all selected, right-click on the files (in the "Compatibilities" tab at the bottom), select "Add Compatibilities to Selected Files", and select the new unique base that you created for the Converted Hair.

From what I understand, that should make all those materials and shaping options show up in Smart Content when “Filter By Context” is enabled and I have the Converted Hair selected. But for me, they don’t.

Is there something I’m missing? Did I forget a step, or is there something more I need to do to get it working?

Comments

  • ShelLuserShelLuser Posts: 749
    edited May 2023

    First things first...   be careful there with them products. Because if you add your customizations to a registered product (other than the default 'LOCAL USER') then you won't be able to easily back all of this up with the "Export user data" option (Content DB maintenance and all?). Figured I'd mention it because you're putting yourself at risk here, and that's bad because people spend a lot of time & effort onto CMS / "Smart contents" customizations and backups are important.

    (of course this doesn't apply if you make regular backups of your entire database folder).

    Alas, this is somewhat easier than it seems, but still somewhat complex.  It all revolves around the CMS database (powered by PostgreSQL) where you have "base objects" and "support objects" (this is just how I call it). When you select a "base object" in your scene (like a hair product or a piece of clothing) then Daz Studio's smart contents pane will filter out everything else except for the related support objects (like material settings, optional poses, etc, etc.).

    Unrelated to this issue but I still want to mention this: bear in mind that there's a grey line here: "support objects" can easily be their own "base objects" as well. In other words: any object can have "support assets" assigned to them. Example: a hat compatible with Genesis one (!), pardon the theatrics ;). So when I add Genesis to my scene and select it this hat will show up in my wardrobe category. It's a support asset. But...  when I select the hat itself all of a sudden I now get to see several material settings to change its appearance.

    So the thing you need to do is to register your 3rd party object / asset as a so called "root object" within the CMS database. This is a separate step apart from adding it to the database which you already seem to have covered (careful with using products!).

    • Add your 3rd party mesh to your scene / viewport.
    • Make sure it's selected in the Scene pane!
    • Right click on the scene pane, hover over 'Edit' and select: "Set default compatibility base(s)".
    • Click the "..." button to get a complete overview of your database.

    Now, I'm going to assume that you're doing this for the first time and are to do this more often... because once I found out I never stopped ;)  (this is so extremely powerful.. and that for a free piece of software?!!).

    • Editorial => Every entry in this database is the same BUT you can 'nest' entries and I strongly suggest you do so to keep things managable!
    • Right click and then use: "Create new root compatibility base". Name this: "Local assets" (or something similar, but make sure you can find it later!).
    • Now you created an entry which is going to be your root "folder" => click on it to select.
    • Now click "Accept".
    • Your new "root folder" should be shown here. IF your node consists of multiple sub-nodes make sure to enable "selected nodes only" (this would apply for figures such as Genesis 8 which consist of Genesis 8 + Eyelashes and a Tear object).
    • When sure click "Accept" again.

    Now, double check that things worked out: repeat the above steps (not all!) and this time only make sure you actually have a "sub entry" in your local assets "folder". I'll provide a screenshot example below. So now keep using "Cancel" to back out of the whole thing (it's better to verify now than to discover that it didn't work later).

    This should set the stage for what you already discovered on your own: compatibility bases.  Edit the metadata of your hair asset, select the entry in the section above, open the Compatibilities tab, right click on the entry in the lower section and then use: "Add compatibilities to selected files". Guess what you'll be looking for? ;)

    I'll add a 2nd example, unrelated to the first but I hope you get the idea.

    After that everything should work out nicely for you.

    Hope this could help!

    Daz_compat_example.jpg
    1920 x 1080 - 236K
    material_meets_local-giftbox.jpg
    718 x 686 - 52K
    Post edited by ShelLuser on
  • barbultbarbult Posts: 24,240
    edited May 2023

    I don't use that conversion tool, but you shouldn't need to create a new compatibility base. Just load the G8 hair version in the scene. Select it. In the Scene context menu, choose Edit/Scene Identification. Set the Compatibity Base to the compatibility base of the G3 version of the hair. The Preferred Base should be set to /Genesis 8/Female. Click Accept and you are done. Everything compatible (materials, shaping, poses, etc.) with the G3 hair are now compatible with the G8 hair, because they have the same compatibility base.

    Screenshot 2023-05-14 145921.png
    590 x 608 - 32K
    Screenshot 2023-05-14 145947.png
    939 x 587 - 68K
    Screenshot 2023-05-14 150057.png
    573 x 1187 - 242K
    Post edited by barbult on
  • crosswindcrosswind Posts: 6,926
    edited May 2023

    I frequently use RSA's conversion scripts... As barbult mentioned, you don't need to create new compatibility base for the converted hair as it will derive from the G3 version, and the Preferred Base for G8F will be also set by the converter script automatically. So you just need to add the converted hair to the G3 hair product as you said... that'll do.

    Post edited by crosswind on
  • WhiskeyjackWhiskeyjack Posts: 59

    Well, I'll be damned, that worked perfectly!

    I realize now that I misunderstood what the "base" was; I got it into my head that the original hair and the converted hair needed separate "bases" to differentiate them from each other! That's where I was going wrong!

    Thanks very much, guys! Appreciate it!

  • WhiskeyjackWhiskeyjack Posts: 59

    ShelLuser

    Oh yeah, I'm extremely careful when it comes to editing metadata these days. I learned my lesson the hard way a few years ago, so I regularly export my metadata and back it up somewhere safe at least once a month! XD

  • ShelLuserShelLuser Posts: 749

    Whiskeyjack said:

    ShelLuser

    Oh yeah, I'm extremely careful when it comes to editing metadata these days. I learned my lesson the hard way a few years ago, so I regularly export my metadata and back it up somewhere safe at least once a month! XD

    See, that's just the thing: If you use "Export user data" then hover your mouse over the option. I'll quote: "export all meta-data that has NOT been installed by a product". Ergo: if you add your local assets to new or existing products they won't be included in your backups anymore. BE CAREFUL!

  • crosswindcrosswind Posts: 6,926

    Whiskeyjack said:

    Well, I'll be damned, that worked perfectly!

    I realize now that I misunderstood what the "base" was; I got it into my head that the original hair and the converted hair needed separate "bases" to differentiate them from each other! That's where I was going wrong!

    Thanks very much, guys! Appreciate it!

    Right ~ they don't have to be differentiated, unless, for instance, you wanna make a uniqe shaping preset that only for G8 version hair, then you can create a new Base and link it to the preset. When you select G3 version hair, this G8 preset won't show in Smart Content - Files list...

  • WhiskeyjackWhiskeyjack Posts: 59

    ShelLuser said:

    Whiskeyjack said:

    ShelLuser

    Oh yeah, I'm extremely careful when it comes to editing metadata these days. I learned my lesson the hard way a few years ago, so I regularly export my metadata and back it up somewhere safe at least once a month! XD

    See, that's just the thing: If you use "Export user data" then hover your mouse over the option. I'll quote: "export all meta-data that has NOT been installed by a product". Ergo: if you add your local assets to new or existing products they won't be included in your backups anymore. BE CAREFUL!

    But the compatabilities and metadata that I've added to those local assets (ie, the converted hairs) will be maintained, right? They just won't appear in the product folder of the original hair, and I'll need to manually add them back into the product folders?

  • WhiskeyjackWhiskeyjack Posts: 59

    crosswind said:

    Whiskeyjack said:

    Well, I'll be damned, that worked perfectly!

    I realize now that I misunderstood what the "base" was; I got it into my head that the original hair and the converted hair needed separate "bases" to differentiate them from each other! That's where I was going wrong!

    Thanks very much, guys! Appreciate it!

    Right ~ they don't have to be differentiated, unless, for instance, you wanna make a uniqe shaping preset that only for G8 version hair, then you can create a new Base and link it to the preset. When you select G3 version hair, this G8 preset won't show in Smart Content - Files list...

    OK, gotcha'. I don't plan on making my own shaping presets or such, so that's fine. Thanks for the head's up!

  • ShelLuserShelLuser Posts: 749

    Whiskeyjack said:

    But the compatabilities and metadata that I've added to those local assets (ie, the converted hairs) will be maintained, right? They just won't appear in the product folder of the original hair, and I'll need to manually add them back into the product folders?

    They will be maintained, but will probably not be part anymore of your backup ("export user data"?). So either make sure to keep a full backup of your entire database folder (by default => "%appdata%\DAZ 3D\cms\ContentCluster") or back up product data as well using "Export product meta-data".  Though I have no idea how you can restore any of that.

    My take on this matter...   

    https://www.reddit.com/r/Daz3D/comments/13hckn9/guide_if_youre_having_cms_psql_related_problems/?utm_source=share&utm_medium=web2x&context=3

    Near the bottom: full database backup. That should keep you safe'ish (you still need your actual contents of course).

  • WhiskeyjackWhiskeyjack Posts: 59

    ShelLuser said:

    Whiskeyjack said:

    But the compatabilities and metadata that I've added to those local assets (ie, the converted hairs) will be maintained, right? They just won't appear in the product folder of the original hair, and I'll need to manually add them back into the product folders?

    They will be maintained, but will probably not be part anymore of your backup ("export user data"?). So either make sure to keep a full backup of your entire database folder (by default => "%appdata%\DAZ 3D\cms\ContentCluster") or back up product data as well using "Export product meta-data".  Though I have no idea how you can restore any of that.

    My take on this matter...   

    https://www.reddit.com/r/Daz3D/comments/13hckn9/guide_if_youre_having_cms_psql_related_problems/?utm_source=share&utm_medium=web2x&context=3

    Near the bottom: full database backup. That should keep you safe'ish (you still need your actual contents of course).

    That's fine, it's all the manually-added metadata and custom catagories I'm most concerned about. Even if the converted hairs are removed from the products, it'll only take me a half an hour some evenig to add them all back in.

    But thanks for the advice and the link, I'll definitely have a look through that!

  • Richard HaseltineRichard Haseltine Posts: 100,778

    ShelLuser said:

    Whiskeyjack said:

    ShelLuser

    Oh yeah, I'm extremely careful when it comes to editing metadata these days. I learned my lesson the hard way a few years ago, so I regularly export my metadata and back it up somewhere safe at least once a month! XD

    See, that's just the thing: If you use "Export user data" then hover your mouse over the option. I'll quote: "export all meta-data that has NOT been installed by a product". Ergo: if you add your local assets to new or existing products they won't be included in your backups anymore. BE CAREFUL!

    You can export product fdata, however, which will create a .dsx file for the product in the same Runtime/Support folder as the userdata files. That is in the right-click menu for the product container, and has additional options if cmd(Mac)/ctrl(Win) is held while selecting the command. of course a non-unique product will, as far as I know, be overwritten by a product update.

Sign In or Register to comment.