Dear mates,
I'm sorry if it's a duplicated topic or wrong setting since I'm quite new to 3d and I can't find out the same problem anywhere.
My workflow is modeling in Blender -> Baking in Toolbag -> Texture in substance painter -> render in Toolbag.
Everything is fine until I have baking issue in Toolbag.
1. The only output types that works are: png & Jpeg. Tiff, Psd, Targa will results empty file. Although I can preview them all in Toolbag. I'm trying with all the settings of sample, bits/channel.... but png and jpeg is the only way to go.
2. The normal map result is quite strange. With all the setting of edge padding, smooth cage on/off, soften on/off... It's always as belows. Seems like the UV edge got teared.
But the total baking results great in Toolbag after applying the baked normal map to the low poly mesh.
3. But when it comes to Substance painter, all the UV seams appears clearly
Then I try to bake the normal again in Substance Painter, it gives a smooth results again.
As I know Toolbag use GPU for baking, I'm using msi gtx 1050ti. I'm not sure if it's my card problem or I did setting wrong something.
please help.
Thank you for your time
Replies
There was a bug with certain bit-depths and certain file formats as well. For instance, you can pick 16-bit TGA, but the TGA format doesn't support 16-bit images, so this will result in a blank file. This will be fixed in the next update. To use TGA, make sure you're using 8-bit.
As far as PSD exporting goes, there are no known issues with PSD files. PSDs should work with 8/16/32 bit depth. When you say the PSD is blank, what application are you using to view it?
Tiff exporting is not supported either, this was mistakenly added to the output window. Tiff files can be read but not written by Toolbag. This will be solved with the next update too.
Thank you very much for your kind explanation. It's all clear now.
I found that with soften set at high value, UV seams are less visible in SP.
I've also got another proplem between TB3 and SP.
Flat surface normal map baked in TB3 looks smooth and flat with "scale & bias" turned on. When input to SP, it got lighting bent in strange way.
When baked in SP, it's good again in SP but when comes to TB3, it acts strange again even with "scale & bias" on/ off
When compare 2 normal maps, they are pretty the same (I did try with invert Y directtion). I guess 2 softwares don't sync somehow. So how to know which one is correct? and what is the best way to bring normal map from TB3 to SP?
Thank you
If you're seeing differences with shading it is likely due to the tangent space setting. To match the tangent space in Painter, make sure to set the tangent space to Mikk / xNormal in the baker object.
Differences in triangulation can affect smoothing in different apps too, so make sure to triangulate the low poly mesh(es) when you export from your 3D app.
- Testing steps: bake normal map in Toolbag (TB), bake normal map in substance painter (SP), swap nomal maps to see the behaviour.
- Tested objects: I made 2 objects which are the same as the picture below (1 Object includes sphere and below cube):
Object 1 is set as 1 smooth group for the whole object. In object 2, all edges are hard edges and UV seams are put on all the edges.
Object UVs
- Baking:
1. In Toolbag
+ smooth cage
+ Tangent space: Mikk / xNormal
The result is really good with no noticed differences. Although Object 1 has "gradient" normal map on flat surface, the lighting is not bended, reflection is great.
2. In Substance Painter:
+ Setting OpenGL
The result is good. Object 1 still has gradient normal map but the software made it look good.
- Swapping the normal maps:
There come the problem :<
1. Using Toolbag normal map in Substance Painter
Object 2 is good with no differences with its version in Toolbag.
Object 1 has good "shape" result but the reflection, lighting is bended on flat surface (Due to gradient normal map I guess) But on the sphere it looks good.
2. Using Substance Painter normal map in Toolbag:
Object 2 is good. But it make some "banding" and visible lines when comes really close.
Object 1 got bended reflection again in flat faces. The sphere is good.
Then I come to a conclusion that each software makes its own treat to the "gradient normal map" and can't be synced (as my limited knowledge). All surfaces which have gradient normal map shall not result constantly between two softwares.
Then I'd like to ask a question about UV unwrap that to keep the consistency between 2 softwares, do I have to keep each flat face (each smoothing group) in its own UV island? Meaning that a cube with 6 faces should be unwrapped with 6 UV island instead of 1 cross-shape UV island. if it is, a hard surface object would be a nightmare :< Is there a better way or solution?
Sorry for a long post and bad English.
Thank you for your time
Just like EQ stated, none of these tests are relevant is you skip triangulating your object.
Keep things simple : make your UVs as continuous as possible. Use hard edges and UV splits where you need them. Make sure that your triangulation is the exact same in your baker and in your game/display engine.
That's it. If you skip any of these then you'll end up running in circles. But if you precisely control all of the above, then everything will work as expected, and with great visual results and consistency. Marmoset is pretty much the gold standard, you can trust these guys 100%.
"Meaning that a cube with 6 faces should be unwrapped with 6 UV island instead of 1 cross-shape UV island. if it is, a hard surface object would be a nightmare :< Is there a better way or solution?"
One cross shaped island it is (well ... most of the time). Just look at prop assets from any game out there, as they are more relevant than tests performed on simplistic cubes. For instance, a simple 8 verts cube will always have so-called "strong gradients" which indeed don't compress well. But here's the thing : you will pretty much never deal with 8 verts cubes in practice, meaning that this is pretty much a moot point. These "gradients" are not bad in and of themselves - there are only "bad" if they are so extreme that the texture compression cannot deal with them. In other words, you are making assumptions based on tests that have barely any relevance to what you will actually be doing in practice with real assets.
Good luck !
Many common issues are covered here as well: https://marmoset.co/posts/toolbag-baking-tutorial/
If you look at my UV, you'll see that I did triangulaing my Object 1. Object 2 is not triangulated but it does give the best result with the consistency between 2 softwares. The sphere is good in all cases since it has no gradient normal map.
I'm still noob in 3d so I choose a cube for test cos I think it's better to understand the basic work so I'll make it better with more complex objects.
Guess I'll need more time to improve myselft lol.
Thanx again for your kindness and your time.
Have a great day \m/
The way I personally see it is : while it is great to test things thoroughly, one also has to be careful not to be sidetracked. For instance, nothing about "model 2" is relevant, since you will never work with such wasteful assets (as all these seams make it impossible to texture, are extremely wasteful performance-wise, and would cause bleeding at the edge of all faces as soon as the texture is reduced by the engine). In other words, Model2 "looking good in XXX or YYY program" doesn't matter at all.
Focus all your attention and care on Model1.
(Btw, I should also mention that no software is ever guaranteed to be perfect : It's very possible that there could be something off with the way Substance Painter is reading/processing the model. The only thing you ever need to focus on is the consistency between your baking tool, and your target engine/environment.)
Thank you very much for your advices
Seems like I finally found the right topic. I'd like to leave the link here in case someone may meet the same problem.
https://polycount.com/discussion/178897/need-clarification-tangents-and-binormals-tangent-space-tangent-space-per-fragment
https://polycount.com/discussion/149783/substance-painter-1-3-mikkt-tangent-basis
I don't understand much but it seems like SP makes it own way and it's hard to sync perfectly with TB.
Badly TB is my desired renderer ).
Thank you again and have a great day