Why don't I get all maps used on export when using collect map option

hellbornhellborn Posts: 59
edited May 2015 in Daz Studio Discussion

When I export with collect maps I only get some of the maps.

I can se that model uses both bump and specular but I only get the diffuse for most parts that has diffuse.

The hair on the other hand works as expected, I get all maps in that case.

Any ideas?

Using 4.7 and the model in this case was Catrina

Edit:
If locking inside the mtl there are no references to the files missing-
Question is, is the reference missing because it could not copy image or was image not copied because there was no reference.

The later sounds like the most likely to me.
But why does it happen?

Post edited by hellborn on

Comments

  • mjc1016mjc1016 Posts: 15,001
    edited December 1969

    I'm guessing the hair is using the default surface shader and the character is using omUberSurface or AoA's SSS shader.

    It is possible that it's caused by the surface shader being used. The obj specification has a limited set of maps it can actually use. The naming/classification of those maps is pretty much set in stone...considering that the obj specification is pretty darn close to being a fossil. So while the display name for the map may be something familiar, the internal name, in the shader, may be something that the obj specification can't understand. In which case, it won't be included in the mtl file...because to the exporter, that 'spot' doesn't exist.

    Yes, it is possible to add vendor spedific information to the obj format...but that would require rewriting the exporter to include all the possible internal names for the maps used in all the possible surface shaders.

  • hellbornhellborn Posts: 59
    edited December 1969

    Could be...

    But on the other hand.
    It's quite clear from the nodes in surfaces what map diffuse, bump, transparency and specular points at.
    Can't see why an export not should be able to get at least those right.

  • WendyLuvsCatzWendyLuvsCatz Posts: 38,509
    edited December 1969

    Try selecting all in scene and in surfaces choose all and use dzdefault shader pressing ctrl and choose to keep the textures.
    What still happens sadly though is bump exports 100% and many textures use 33%
    that I dearly wish I could fix as my target program, iClone 3dxchange cannot not change multiple surface bump values and sometimes there are 100's of them.

  • mjc1016mjc1016 Posts: 15,001
    edited December 1969

    hellborn said:
    Could be...

    But on the other hand.
    It's quite clear from the nodes in surfaces what map diffuse, bump, transparency and specular points at.
    Can't see why an export not should be able to get at least those right.

    Nope...it's the INTERNAL name...not node or anything like that.

    For a specular map to be exported it needs to have the internal variable name Ks...and so on. (I think bump has to be 'bump'

    Both omUber and AoA_Subsurface only have Kd correct (oh, yeah, it's probably case sensitive, too...)

    http://en.wikipedia.org/wiki/Wavefront_.obj_file#Texture_maps

    Basically, if the map isn't named what the exporter thinks it should be, then it's not getting written to the mtl file.

  • hellbornhellborn Posts: 59
    edited December 1969

    Try selecting all in scene and in surfaces choose all and use dzdefault shader pressing ctrl and choose to keep the textures.
    What still happens sadly though is bump exports 100% and many textures use 33%
    that I dearly wish I could fix as my target program, iClone 3dxchange cannot not change multiple surface bump values and sometimes there are 100's of them.

    Gonna give it a try.

    I use Octane standalone for renders.
    I have just finished writing a LUA script that sets up node struktures for SSS etc but if DAZ not collect all the textures there will still be some manual work.
    If I cant get export to work I will have to edit the script so it makes a best guess on witch texture should go into bump,specularity and opacity.

Sign In or Register to comment.