When separating Smoothing Groups for a normal map bake, I'm wondering if my process would work...
I watched Alec Moody's process at 3DMotive.com on how to render a normal map. He used the Text Tool script to automatically create the Smoothing Groups wherever he had made his UV splits. He doesn't worry about how the smoothing will look on the model until the very last step, which would drive me insane having shading errors everywhere. Is there any rhyme or reason to create UV splits first and then the smoothing groups?
I tried using the Text Tool operation that would create Smoothing Groups from UV Shells and all it does it make a mess of the Smoothing Groups I had already established. Not sure if you have to have everything in one smoothing group and then apply the operation. My process consists of selecting my entire model after I completing the unwrap, and Splitting the UV Shells by Smoothing Groups in the default 3ds Max Unwrap? Would that be the same thing? Would that be as effective in terms of creating less seems?
Replies
http://www.polycount.com/forum/showthread.php?t=107196
Yes, setting your smoothing groups by UV shells is the same as splitting your UV shells by smoothing groups. The order in which you do it is up to you, if you feel confident you can set your smoothing groups to where the uv shells should be, then go for it.
You want to split your UVs where seams would fall naturally on the high poly, in seams / crevices. This will hide the seam and make texture creation easier. After that you should do a few quick test bakes with an auto-layed out UV set and take the object and normal map into your engine of choice.
If there are shading errors in the engine, then you have 2 choices.
1. You can add more geo to the area with the bad shading to ease the smoothing errors and keep your original smoothing groups.
2. Or you can split the uv shells, making more of them, in that area and re run the Uv Shells to Smoothing groups script.
Here's what it looks like when I select faces by smoothing group 1
Not quite sure what the next step is since this selects the hard edges yet splitting them would give me a ton more seems...
Is there a reason you don't want to use TexTools' script?
I have never seen the 'new' tools in the UV unwrap modifier work. But my experience is with Max 2012, so that may have changed with 13?
Anyway, I think we need to take a step back...
My general workflow goes:
High > Low > Unwrap > Smoothing Groups (TexTools Script) > Triangulate > Bake > Export
As I see it you are flipping the Smoothing Groups and Unwrap part, any reason for this?
I only set smoothing groups manually to achieve a certain effect, but that is relatively rare.
This is my basic workflow as well. The thing you really need to keep in mind though, is that while uving you're essentially laying out your hard edges/smoothing groups as well. With experience you'll sort of know where you want hard edges/SG breaks but it takes a little bit of effort to adjust to thinking like this.
By setting up my smoothing groups I'm able to have an shading error free model. That's why I thought I could just easily select my model's faces by smoothing group and Break away the edges in the unwrap.
Ok. So your workflow MIGHT work. Do a test bake. There are tons of variables that are going to happen in the next step. Depending on how you bake, vanilla max / handplane / xnormal, and depending on what 3D engine you will display it in, UDK, Unity, Max, etc, your errors that MAY appear from the 90 degree and other harsh angles you have on 1 UV island will be different.
Do not get hung up on what the smoothing of the low poly looks like, depending on the baking method your low can look like horse shit and the bake can correct it and make it look beeeeautiful. To a certain extent you can use the low polys smoothing as a basic guide.
It looks like you have UV islands that have very harsh angles within them, greater than 75°. Those types of islands are ones that will give you baking artifacts depending on your baking workflow. You may need to break those islands at the hard angle edge and create a new island and smoothing group, or add a chamfer, if you get triangle artifacts after you bake.
The reason I set my smoothing groups afterwards is exactly for the reason EQ stated. When creating your uv islands, you create them with these harsh angles in mind. You will learn to avoid / allow them as you do more and more bakes. After that setting smoothing groups becomes automatic with no manual labor involved aka FASTER!
Yes.
Thanks for baring with me guys!
I have TexTools installed but I see no option where it creates smoothing groups based off UV shells. Care to share how this is done? As I have always set my smoothing groups up before hand and then unwrapped, but if I can auto that shit after I UV it would be AMAZING!
Right above the "Edit UV" button is a small Tools▼ drop down. In there is "Smoothing groups from UV Shells"
Also, in that briefcase video I was working as quickly as possible while also talking so the UVs / smoothing splits aren't exactly optimized. You should try and find the limit of how much stitching you can get away with for your baking software/engine combination.
It doesn't work properly though. See Joe's explanation here.
http://www.polycount.com/forum/showthread.php?p=1564703#post1564703
I think I found a solution that works. It's messy, but seems to work properly.
http://www.polycount.com/forum/showthread.php?p=1747860#post1747860
Yup.
Eric - yea I noticed that too. Will check out the fix.
I went about this by setting the smoothing groups first, then creating UV shells based on the SGs using Textools with some edge refining. I know I could've just as easily forgone setting the SGs and went with creating the UV shells based on where the SGs would be and then using Textools to apply SGs based on the UV islands. If I were to be more vertex efficient I could stitch the hexagon shops together and the boxes that share the same SGs, thus lining up the smoothing splits and UV splits. Did I get it?
Then adjust your smoothing groups accordingly.
I've got this issue on some parts of a model I'm working on at the moment, I've tried to be smart with the unwrap but it can still be seen in places. Object space normals do the job but as far as I'm aware UDK isn't compatible with them (Despite being an organic model it won't be animated if that makes a difference)
Eric when you get to step 6. "Use EdgeSmooth to set the hard edges" Where is EdgeSmooth located? I dont see anything under the Edge Selection tab that would be EdgeSmooth. And adding the Smooth modifier gave me a lot of errors.
Also, thanks Nick for pointing out the drop down, this will save me SO much time!
http://www.polycount.com/forum/showpost.php?p=1564713&postcount=18
And another thanks from me for finding that out and sharing
Anyone perhaps have the actual script or a installer (for max2013)?
Or if I am missing it, a working link.
On GitHub, use the ZIP button (to the right of "Clone in Windows"). Open up the zip, and put what's in the Installer folder into a new zip file. Change the extension to MZP. Then start Max and drag-n-drop that onto the viewport.
I want a tool that will change all my UV border edges into hard edges. TexTools has a quick way to select the border edges, but it does not send that selection down to the Editable Poly. Which is where EdgeSmooth does its work. So, I used TexTools "uv to 3d" tool to pass that selection down.
I hope that makes sense.
TexTools can change the Smoothing Groups to match the UV shells, if you use the Split button. But it does not create hard edges for ALL shell edges... it only applies a single SG for each shell. For example, if you have a "flower" type shell, where you've split the model between the "petals", if you use Split those edges won't become hard edges because they all get the same SG.
You could use EdgeSmooth before TexTools, to set up smoothing groups the way you want. Then you could use TexTools to make UV shells out of those smoothing groups. Kind of a weird way to work, IMHO. But to each his own, it might work well for you.
Enough talking, I want to see some normal maps! :]
When i drop the MZP in the viewport i get "this 3d max version is not supported by the edgesmooth plugin in this installer"
Max 2010 x64 SP1
Any ideas?
I had the same problem, haha. Solution here
http://www.polycount.com/forum/showpost.php?p=1750339&postcount=21
see this post: (+ a new download link altough it seems to be for
2012-2013 only)
http://www.polycount.com/forum/showpost.php?p=1750339&postcount=21
http://edgesmooth.pjanssen.nl/
Eric, I think this script is a fix to the problem? http://www.polycount.com/forum/showpost.php?p=1332118&postcount=20
Gonna try it out.
If I run the script from here: http://www.polycount.com/forum/showpost.php?p=1332118&postcount=20
I get an error that asks me that it is about to collapse and break a bunch of shit, but if you turn off the error through the check box and choose Hold/Yes, the next time you run the script it will set only the uv edges to hard. Works a treat!
I have it 'fanned' on the bottom edge of the small face.