Hi,
I have quiet a lot of bakes to do on a big object I'm working on. I began with this little Top part.
At my first attempt to bake, Marmoset gave me a bake on both sides (symmetry with UDIM). It all worked great.
But I had make a few changes here and there on my object. When I cam back later to the baking in marmoset, I couldn't get the blue half (the symmetry that I use only to get a clean bake at the seams) to be baked anymore. I struggle on that for hours and it gets me crazy as I can't figure out what I'm doing wrong or differently now compared to my first attempt.
My scene in 3DS Max : 2 ID Maps, One Mesh with welded symmetry, Half of the mesh (blue) has a UDIM +1.
Could someone please tell me what I'm doing wrong ? I know UDIM ain't perfectly understood by Marmoset yet, but somehow I HAD it working once ! But now, I even reinstalled Marmoset to get back to default settings. But I can't get it to work anymore. Half of the mesh doesn't bake at all (I loaded the same objects in Substance by the way, the bakings take forever but they work fine).
Thanks in advance for your help.
Replies
That said, it should not be necessary to use multiple texture sets in this case. Simply use a single material and single texture set and it should work without issue. There is no need to split materials up to get clean results on the center line, moving the UVs outside the 0-1 space should be all you need to do. You can enable Fix Mirror Tangents in the low poly object properties if you have any problems with the mirror seam as well.
It is likely that something significant changed in your mesh/uv content if it was producing different results before. Toolbag ignores UV data outside of 0-1 to make it easy to resolve mirror seams, see method #2 below.
"Well.... that's precisely what I did. But I don't understand why you tell me that's what I have to do, when you wrote just before that UVs outside this range will be ignored during the bake process ? I don't get what you mean by that."
Sorry I should have been more clear. There is nothing you need to do in addition to offsetting the UVs, and even the offsetting UV step is not be expressly necessary. That is to say, there is no purpose or function to adding another material and baking with texture sets enabled in this case. You would only need to do that if your texture sets have unique UV layouts (proper UDIMs, more on this in a bit). Here, it seems that the UVS in 1-2 are simply mirrored/instanced versions of the same UVS in 0-1, please correct me if I am wrong.
From my understanding you are attempting to do some sort of work around to solve a mirror edge problem that should not be necessary in Toolbag.
"[...] with one symmetrical half using the UDIM+1 symmetry trick that fixes normal issues along the seams...."
^ This specifically, seems to be a workaround you think you need to use based on experience with other software (Substance?). It should not be necessary with Toolbag.
There are two easy ways to tackle mirror seams in Toolbag.
1. If you don't offset the mirrored UVs outside of 0-1, you simply need to enable Fix Mirror Tangents before baking.
Above you can see a simple mirrored object, the UVs have not been offset.
Here you can see what happens when I bake this mesh. I get weird errors along the UV seam. This is what the Fix Mirrored Tangents feature is for.
Now, if I enable Fix Mirror Tangents and rebake, I get a flawless bake. This is not a preview setting, it may look that way when you click it, but if you re-bake it change the resulting normal map. This baked normal map should work as expected in Unreal, Substance, etc. This is the fastest and easiest method, as it does not require any additional work with UVs or materials.
2. You can skip the Fix Mirror Tangent step if you move the mirrored UVs 1 unit outside the 0-1 space.
This is the most common way to tackle the seam problem and should not require you to do anything else when you get into Toolbag. Just bake it and it will work. Because Toolbag ignores the UVs outside of 0-1, the primary UVs are isolated and there is no conflicting UV or tangent data that we need to correct for.
And here is the result with the offset UVs method. This should produce results that are identical to the Fix Mirrored Tangents method. Either should solve your problem, it's just a matter of where you would prefer to do the work (offsetting the UVs or clicking the button in TB).
There should be no reason to use multiple materials or the Texture Set functionality to resolve this issue in Toolbag.
Now, onto UDIMs. UDIMs are sets of unique UV layouts placed in the 0-1, 1-2, 2-3, etc spaces. We do not support UDIMs currently but it is something we plan to investigate for the future. Unfortunately it will require a major reworking of the materials and rendering systems to support UDIMs properly, which is why it hasn't been added yet.
That said, you can bake maps intended for UDIM workflows in Toolbag. The process for doing this is fairly simple:
1. Make sure all UVs are within the 0-1 space.
2. For each UDIM set, apply a unique material, ie: 1001, 1002, 1003, etc
3. Enable Texture Sets in the baker
This will bake out assetname_maptype_1001, 1002, 1003 etc which most applications that support UDIMs will be able to read.
You could theoretically use this UDIM work around to solve your problem in a third way. However, it will result in redundant output files, will likely be a bit slower to bake, and is the most complicated method so I would not recommend doing so.
The Marmoset tangent space's main advantage is that it is faster to calculate, so it speeds up load time with very dense meshes. However, no applications outside of Toolbag use it, and it is generally not as accurate as Mikkt, so it shouldn't be used for baking. This probably seems a bit silly consider it is the default option - I'll make a note that we should reconsider this for a future update.
In any case, you can change the default tangent space in Edit->Preferences. Once set here this should apply to all new baker objects.
Thanks for the info about the default Tangent Space ! That's cool
If you haven't already done so, try merging the objects and welding the verts along the center line.
If that doesn't solve it, please send me your high and low objects along with your .tbscene file and I will have a look at it.