Substance Painter 1.x

Substance Painter 1.x

View Stats:
Tian Sep 16, 2014 @ 6:28am
Texture in Blender looks different...
Hi, so I've painted texture in Substance Painter and tried to export it to .png , I've noticed that it exported it into many files and I'm trying to figure it out how to make it into 1.
Also texture in substance painter looks very different than in blender

https://dl.dropboxusercontent.com/u/29390428/sub%20blen.png - I realy need this wheels to look like in substance painter :/

Cheers
< >
Showing 1-6 of 6 comments
Scruff Sep 16, 2014 @ 3:33pm 
At the moment, the Substance Painter beta isn't able to export the sbsar archive file. Unfortunately, even when it does ultimately have that feature, Blender doesn't support it.

The good news is you can get your model to look very close to how it looks in substance painter using some of the maps it exports, but it is going to take a little work. This first file is an image out of SP, with pretty much just fills of the standard materials thrown on it.

https://dl.dropboxusercontent.com/u/12436907/shop%20talk/cube/gun01.png

This second file is an image out of blender, using the maps out of Substance Painter and Blender's Cycles render engine. I very pleasantly surprised, because these are actually coming out better than my renders in 3dsmax and MentalRay.

https://dl.dropboxusercontent.com/u/12436907/shop%20talk/cube/gunsmaller.png

Before I go further, I want to talk to you a little about UV unwrapping. It's a little bit late to do anything about it now since you've already been painting and assigning materials, but you've got a 1024x1024 image with these little, itty bitty UV islands from what I'm guessing was an automatic unwrap. Since the textures which appear on your model only go inside the bounds of those islands, the majority of your texture space is wasted. It's just empty.

Ideally, you want to sort of tetris those suckers in there and really maximize the space you have to work with. My unwrap is by no means really good, and the model itself is pretty crappy, but you can see what I'm talking about here. https://dl.dropboxusercontent.com/u/12436907/shop%20talk/cube/gun_uvs.jpg

If you try and redo your UV unwrap now, though, you'll lose all of the work you've already done, so just keep it in mind for the next time.

Alright, without further delay, the maps you are going to need out of Substance Painter to use with Blender are the base color, roughness, and normal map for each material group from your substance painter scene. Sadly, there is no real one file solution to texturing an object, and even Allegorithmic's sbsar file actually contains multiple maps.

  • Import your model into Blender, and set the render engine to Cycles at the top.

  • Create a new material for each object in the scene, and click the 'use nodes' button. By default, the material initially created for each object will be a 'Diffuse BSDF' material. If the specific part of the mesh has some reflectivity to it, you may want to click 'Diffuse BSDF' to bring up the drop down menu, and select 'Glossy BSDF', but you can always change it later if you want to experiment.

  • Duplicate one of the windows into a new window, and set it to 'node viewer'.

  • For each separate part of your model, select it in your scene, bring up the node viewer, and drag and drop its specific maps from the folder Substance Painter created for it into the node viewer. Each file should now appear in the node viewer as an individual 'Image Texture' node.

  • In the node viewer, if it is not already expanded, click the plus sign at the top of the screen to gain access to the creation tools for verious node types.

  • On each node, there's a little button on the corner. By clicking and dragging on that button, you can pull out a wire. From the 'image texture' node which holds the 'base color' file you dragged and dropped into the viewer, click and drag its 'color' button and connect it to the 'color' button of the BSDF node.

  • Similarly, connect the color node of the image texture node for the roughness map to the roughness button on the BSDF node.

  • Do NOT directly connect the normal map's image texture node to the BSDF node. Instead, look to those node tools on the left you openned earlier.

  • Click the 'Vector Tab'

  • Click the 'Normal Map' button. Now a normal map node is stuck to your curser. Just click inside the node viewer by the other nodes, and it will drop the node inside.

  • Be careful not to drop it on connected wire, though, as it will intercept it and become connected. If this happens, don't worry. Simply click and drag on the connected nodes button, and pull the wire away, then reconnect the old one.

  • Connect the color output from the image texture node containing the normal map from Substance Painter to the color node of the Normal Map node you just created.

  • Connect the Normal Map node's normal button to the normal button on the BSDF node.

  • Connecting a normal map mode to the BSDF node helps Blender calculate light interactions with the object. However, if your normal map from Substance Painter only contains information from the materials you painted, IE: you didn't bake a normal map and import to Substance Painter to use as a base, you may encounter lighting discontinuties at render. If this happens, simply disconnect the Normal Map node from the BSDF node.

  • Create a new Normal Map node and drop it in the node viewer, so that you have two. Connect the image texture node which contains the normal map from substance painter to the new Normal Map node. You should now have two wires from your normal map image texture's color button going to two separate Normal Map nodes.

  • Connect your second Normal Map node's normal button to the 'Displacement' button on the 'Material Output' node on the right.

  • If, when you render, the normal is too strong or too weak, adjust the strength of the second Normal Map node, which is why there are two.

  • Test render your scene to see if everything is looking right

  • Repeat the process for the rest of your objects/material groups.

There are some viewport shaders folks are working on to get PBR materials to work in the viewport like in Substance, ToolBag, Game engines, etc, but at the moment none of them are committed to Blender's builds. If you're comfortable downloading prototypes and trying 'em out, great! If not, you're going to have to render the scene, or set the viewport to render (which is essentially the same thing) to really see the fruits of your labor.

Good luck!
Last edited by Scruff; Sep 16, 2014 @ 4:00pm
Scruff Sep 16, 2014 @ 3:42pm 
You're also going to need to set up lights, completely forgot about that part. You can do that by creating spheres or planes, and setting their material type to 'emissive'. You can play with their position, color, and strength to find a setup you like!
Charlie Sep 16, 2014 @ 10:40pm 
Dude, currently the viewport render of 3d software is not that powerful meaning it will downgrade some features to maintain an acceptable FPS to show the result in real time. More importantly, when you paint in the texturing tools, it has some presets of specularity of materials. However, when you use only diffuse map in 3d software, the material doesn't have normal, specularity, and glossiness info to calculate, then your model looks flat and boring. Adding normal map (bump map) , spec map and gloss map will make your model look a lot better. As Nathan said above, when you set your scene in Blender, you need proper lights, and even sky sphere or sky dome with HDRI to test your scene out to see if it is correct. I don't use substance painter or blender, but I use quixel suite, 3ds max, and unreal engine 4, so I know how these things work.
Scruff Sep 17, 2014 @ 2:43am 
Ah, good ol' 3dsmax. I've got pretty much the same setup, sans quixel suite. Never did have the money to get a better renderer than MR, not that it matters much with all the real-time PBR engines floating around.

Which is also worth mentioning, Tian, because even if you only used UE4 to preview meshes and animations, and maybe fool around with matinee, it would still be worth the $20/mo it would cost you. Plus you get to keep using it if for some reason you can't or don't want to pay the monthy fee any more. It's pretty win-win.
wesm Sep 29, 2014 @ 1:03pm 
Originally posted by Nathan:

Before I go further, I want to talk to you a little about UV unwrapping. It's a little bit late to do anything about it now since you've already been painting and assigning materials, but you've got a 1024x1024 image with these little, itty bitty UV islands from what I'm guessing was an automatic unwrap. Since the textures which appear on your model only go inside the bounds of those islands, the majority of your texture space is wasted. It's just empty.

Hello,

SP can actually reproject the painting if you switch UV layout. It's part of the non-destructive nature of SP.

Please check this video. To do this, you would create a new UV layout, then bake a normal map with the new layout. Import the new normal into SP and apply it in the viewer settings for the texture set. Then, go to Edit>Projection Configuration and import the new mesh. SP will reprojection all of you strokes to match the new layout.

https://vimeo.com/93528890
JigglyRitz Jan 21, 2017 @ 5:03pm 
Originally posted by Tian:
Hi, so I've painted texture in Substance Painter and tried to export it to .png , I've noticed that it exported it into many files and I'm trying to figure it out how to make it into 1.
Also texture in substance painter looks very different than in blender

https://dl.dropboxusercontent.com/u/29390428/sub%20blen.png - I realy need this wheels to look like in substance painter :/

Cheers
if you use cycles to render, you might want to check out this node group: https://www.blendermarket.com/products/sp2blend-substance-painter-shader

It has all the inputs for the texture files that Substance exports. I use it all the time, and it's great.
< >
Showing 1-6 of 6 comments
Per page: 1530 50