I understand, but only to explain better. If the mesh is hard surface, any loops or edge that I enter can generate error in normal. Is there any way to do without generating artifacts in normal or distortion in the shader?
This stuff is super easy to experiment with, so you should. Do a test bake and then apply your textures in your 3d app, as I have in the images below. Then you can edit the geometry however you see fit and watch what is going to happen. You can send the result to your game or render engine -- to the best of my knowledge there isn't going to be any specific issues arising there if it's displaying correctly in your maya/max/blender viewport.
This shape here is a UV shell. See the highlighted edge loops? I can delete them no problem.
So even though I've baked my maps, I can still play with the silhouette of my object. I could add in more loops as well. What I shouldn't do is move the UV shell around in the UV space. Then I would need to rebake. But adding or subtracting edges isn't changing anything in the UV space, just changing the shape of the geometry.
The UV's are a map, and the texture is the terrain. As long as I do not change the map or thte terrain, everything will stay right where it is supposed to be.
There could be specific circumstances that may cause a problem -- best thing to do is just do a test and see. But all the time I am tweaking the geo of my models after baking and I have not had any issues. Especially if you are rigging and animating it is always necessary to tweak the geometry to get the best results. Just because you have baked does not set anything in stone.
Normal map baked into a specific vector data difference between your LP and HP, so unless you do some weighted normal edit on your LP mesh which will minimize (not eliminate) the gradient on your normal map, you cant edit the mesh without introduce some shading issue. So the general idea is that you want your normal map on the edited area to be perfectly flat (128 128 255).
For me atleast, I will finalize the LP mesh before doing any bake, if need to edit the mesh well then I need to rebake the normal map.
The only time it's safe is if you are adding(or removing) an edge to a flat surface and not changing the shape in any way.
True, but you want to remove that kind of edges in any case and most probably before baking.
I would advice against changing the lowpoly mesh after baking. Depending on your triangulation method, you might get a quite different result on other parts of the model as well.
So, adding or removing edgeloops from say, a characters arm after baking is a no-no?
I've done this quite a bit for some characters in a Unity game -- granted it was top down camera perspective so pretty far away but it did not introduce any issues that I could see (and helped me improve animations).
For example, if I have the main asset as LOD 1 already baked and I need to make that LOD 1 become LOD 2 and the new LOD 1 is nothing more than the old LOD 1 with increasing polycount. Just remembering that the normal map was baked in the original LOD 1 and it is not possible to bake in the new LOD 1. Only that when inserting new loops and edge deformation occurs in normal. Could it be done without damaging normal? I know it's a pretty confusing question ... haha
@Prime8 - yes. the caveat i didnt mention was if it's isolated by hard edges etc. what you say is correct practice.
@BugSeeker - In that situation you can project the normals up from the lower LOD to the more detailed LOD. This is a practice commonly used when you know you're usually going to see a middle range LOD or if you're dealing with organic surfaces like rocks. I wouldn't recommend it for a hero asset or for portfolio work but for run of the mill game assets it can reduce LOD related artefacting dramatically - especially when being really aggressive with your LODs.
So, adding or removing edgeloops from say, a characters arm after baking is a no-no?
I've done this quite a bit for some characters in a Unity game -- granted it was top down camera perspective so pretty far away but it did not introduce any issues that I could see (and helped me improve animations).
there are cases where you might not be able to directly see it, but yes if you modify your topology after the bake it will introduce shading issues. the tangentspace normalmaps have the tangentdata from your lowpoly stored inside and this data changes when you chop away or add loops.
For LODS its rarely an issue unless you are super agressive with it but that usually only happens very far away from the camera, so it is not really visible. It is possible tho to transfer the normals from the LOD 0 to the LOD 1 to minimize the effect tho. Or even like Poopipe suggested go the other way around.
There is always some wiggleroom and some stuff that is very apperant with a grey blinn in maya might not be visible as much with textures and shading applied in engine.
Handplane 1.5 enabled me to do what I think you want to:
After baking normals onto OG-lowpoly, I would bring OG-lowpoly in-engine and see that I wasn't happy with the silhouette or some shit. Instead of remodeling and rebaking (took a long time since I used max at the time), I'd duplicate OG into NEW-lowpoly, do edits, and use handplane V1.5 to bake from OG-lowpoly+OG-Normals onto NEW-lowpoly. What other people above have said about the relationship between lowpoly and normals being sacred and must be untouched is true, but the reason handplane can do this is because when baking from OG to NEW it takes the differences in normals between the lowpolies into account when baking. Sort of like it's seeing (OG-Normals+OG-lowpoly) as the highpoly when baking. I used this method on these two results, Massive changes all over with no evidence of it:
Baked from the 13k-tri model+normals onto the 3k-tri model, like so:
Added twice as many segments along the main bend at the top, and chamfers on the edges of the hexagonal shape of it:
Handplane 1.5 enabled me to do what I think you want to:
After baking normals onto OG-lowpoly, I would bring OG-lowpoly in-engine and see that I wasn't happy with the silhouette or some shit. Instead of remodeling and rebaking (took a long time since I used max at the time), I'd duplicate OG into NEW-lowpoly, do edits, and use handplane V1.5 to bake from OG-lowpoly+OG-Normals onto NEW-lowpoly....
Not sure if I understand this. Why don't you just bake from highpoly to your NEW-lowpoly? I don't see a reason why you would want to take the extra effort to setup a baking from the previous lowpoly, your highpoly bake is already setup at that point.
Replies
For me atleast, I will finalize the LP mesh before doing any bake, if need to edit the mesh well then I need to rebake the normal map.
The only time it's safe is if you are adding(or removing) an edge to a flat surface and not changing the shape in any way.
I would advice against changing the lowpoly mesh after baking.
Depending on your triangulation method, you might get a quite different result on other parts of the model as well.
@BugSeeker - In that situation you can project the normals up from the lower LOD to the more detailed LOD. This is a practice commonly used when you know you're usually going to see a middle range LOD or if you're dealing with organic surfaces like rocks.
I wouldn't recommend it for a hero asset or for portfolio work but for run of the mill game assets it can reduce LOD related artefacting dramatically - especially when being really aggressive with your LODs.
For LODS its rarely an issue unless you are super agressive with it but that usually only happens very far away from the camera, so it is not really visible. It is possible tho to transfer the normals from the LOD 0 to the LOD 1 to minimize the effect tho. Or even like Poopipe suggested go the other way around.
There is always some wiggleroom and some stuff that is very apperant with a grey blinn in maya might not be visible as much with textures and shading applied in engine.
After baking normals onto OG-lowpoly, I would bring OG-lowpoly in-engine and see that I wasn't happy with the silhouette or some shit. Instead of remodeling and rebaking (took a long time since I used max at the time), I'd duplicate OG into NEW-lowpoly, do edits, and use handplane V1.5 to bake from OG-lowpoly+OG-Normals onto NEW-lowpoly.
What other people above have said about the relationship between lowpoly and normals being sacred and must be untouched is true, but the reason handplane can do this is because when baking from OG to NEW it takes the differences in normals between the lowpolies into account when baking. Sort of like it's seeing (OG-Normals+OG-lowpoly) as the highpoly when baking.
I used this method on these two results,
Massive changes all over with no evidence of it:
Baked from the 13k-tri model+normals onto the 3k-tri model, like so:
Added twice as many segments along the main bend at the top, and chamfers on the edges of the hexagonal shape of it:
Basically going from w_ to v_ like so:
Why don't you just bake from highpoly to your NEW-lowpoly? I don't see a reason why you would want to take the extra effort to setup a baking from the previous lowpoly, your highpoly bake is already setup at that point.