outfit assets built with the same name textures break when packed

Issue #1149 resolved
Aaron J. Olson created an issue

certain outfit assets, for example https://www.daz3d.com/dforce-immortals-outfit-for-genesis-8-females are composed such that the assets that make them up all end up having the same name when flattened. In this case, the pants asserts are like
immortal-diffuse.png, immortal-normal.png, immortal-spec.png, etc which are stored in a pants folder. The shoes, the armor, the blouse, and boots are all the same, where the assets inside their individual folders are also named immortal-diffuse.png, immortal-normal.png, immortal-spec.png, etc

If you attempt to pack the textures ( External Data → Pack Resource) and save the file, then reopen it, the textures for that outfit will be all over the place. If you attempt to unpack into the current directory, you will see that the textures for all of the materials are all referencing the same set of immortal-diffuse.png, immortal-normal.png, immortal-spec.png, etc which seem to be somewhat randomly selected.

I know this is a fundamental difference between how blender expects assets laid out (it expects each asset name to be unique) vs how DAZ does it. I am wondering if there is a workaround for this though that is faster than manually copying all of the original outfit textures, renaming them individually, and then going through every mat of the outfit and pointing it to the updated name of the texture it was supposed to be pointing to?

Thank you,

-Aaron

Comments (3)

  1. Thomas Larsson repo owner

    I have encountered the same problem, but with the Save Local Textures tool. That’s why it now copies the entire directory structure to the local location. But I didn’t have any problems with packing images with the same name. The image datablocks were automatically renamed with the .001, .002 endings as usual. So clearly I’m doing something differently than you are.

    What could be done easily is to add an option to Save Local Textures. Instead of saving the directory tree, one could add the directory names in front of the file name and save everything in a single directory. That might run into trouble if filenames have a maximal length.

  2. Aaron J. Olson reporter

    I hadn’t considered the Save Local Textures tool. That makes a lot of sense. Thank you!

  3. Log in to comment