Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Using Asset Store Models in Substance Designer?

Discussion in 'General Discussion' started by infinitypbr, Sep 5, 2014.

  1. infinitypbr

    infinitypbr

    Joined:
    Nov 28, 2012
    Posts:
    3,149
    With the recent asset store sales, I now have access to Substance Designer & their Substance Database. I'm interested in re-texturing some assets I've bought from the store over the years, but I can't seem to figure out how to get the fbx from the assets to work in Substance Designer. They load, but the UV mapping doesn't, so I can't really fine tune any textures.

    Anyone know how this can be accomplished?
     
  2. smd863

    smd863

    Joined:
    Jan 26, 2014
    Posts:
    292
    The UV mapping should be part of the vertex data that is loaded from the .fbx file. The shaders built into SD only use the first UV set (like Unity) so it's possible that an asset designed for a custom shader could be getting its UVs from the second set or somewhere more unorthodox like vertex color. That would be pretty rare, though, and would only happen with an asset that was trying to squeeze data in for some kind of special multi-texturing effect.

    It could also be a file version problem. I'm not sure off-hand which fbx versions SD supports, but I would assume they are fairly thorough. There could be some lag as they update SD for the newest standard though.

    It's also important to note that SD filters textures in UV space so it will create artifacts across UV seams when it is applied to your model. Textures provided with an asset will typically be manually smoothed across UV shell borders to hide the seams, but that's something you will have to do yourself (in, for example, Substance Painter) if you are redesigning the texture.
     
  3. infinitypbr

    infinitypbr

    Joined:
    Nov 28, 2012
    Posts:
    3,149
    Could the problem be that the textures are in atlases for the downloaded assets?
     
  4. smd863

    smd863

    Joined:
    Jan 26, 2014
    Posts:
    292
    If it's an atlas with some type of animation sequence on it, then that could cause the problem. It could be generating the UV mapping at runtime based on the current animation frame.

    It might help if you posted a screenshot if your asset, and what your problem looks like in SD.
     
  5. the_motionblur

    the_motionblur

    Joined:
    Mar 4, 2008
    Posts:
    1,774
    I've had some problems with saving and loading UV Data in different FBX Versions over the years. For example FBX files exported from Cinema 4D R12 didn't load any UV Maps when opened in newer versions of modo. Unity did import them fine, though. Don't ask me what happened there or why but try to import your FBX files in other modelers first and see if the UV maps are available, there. If they are then re-export them and try again.
    Otherwise there might be a different problem.
     
  6. infinitypbr

    infinitypbr

    Joined:
    Nov 28, 2012
    Posts:
    3,149
    Hmm I'm thinking I just need to understand how all this works better, maybe. I'm able to get the model in, get the atlas in, and adjust the spec/gloss. But I'm looking to re-texture each model completely for my own look.

    What's the best method to do that? Removing the atlas texture and just using a built-in material seems to not reset the UVs,

    Is there a way to change only that part of the Texture/normal map, and not the other parts?
     

    Attached Files:

  7. smd863

    smd863

    Joined:
    Jan 26, 2014
    Posts:
    292
    It looks like your UVs are coming through, and they won't change when you apply a different material. Each one of your objects will keep using the same piece of the texture they were.

    If you want to work with a lot of objects that are all sharing one texture, then you need to bake a mask for the UVs of the object you are working with. If you right click your mesh in SD, you can go to "Bake model information", select "Convert UV to SVG", and it will generate a mask based on the UVs of that object.

    Then you need to create a sub-graph for each of the objects you are working on. You can create a main graph and drop in your sub-graphs, and use the mask with a "Material Blend" node to mix them all together to create the final output.

    Although with so many objects packed into one texture, you will only be using a tiny piece of the texture that SD is generating so it might not look always look right--if you created rusty metal, your entire pillar could just be covered by one small rust spot. It would be better to open your object in a modelling program and scale the UVs up to work on them full-size, but then you need to either have a tool that will automatically combine/atlas all your objects or scale everything down manually back into your existing atlas.

    It might also be possible to open up the substances, and rescale the size of the basic generators so the texture detail scale matched the size of your UV islands. But that would also be a lot of manual work so I'm not sure exactly what the best workflow would be for altering objects that are all combined into a single texture like that.