Long story short... I haven't done any normal mapping or any sort of mapping in a couple of months and actually for got some stuff. I was able to bake the normal map but when I applied it... this is what happen:
Here is my normal map:
Here is the tutorial I followed to make sure that I was making the normal map correctly:
http://robbylamb.com/Normal%20Map.htm
Anyone know what is happening?
Replies
The normal map itself looks pretty... bad, it seems like nearly all rays are missing. Are your high/low objects aligned and scaled the same?
Also, when baking did you make sure that it was baking to the UV channel 1, I think sometimes Max defaults to baking to a new automatic unwrap, which would explain why it doesn't match your model at all.
Here is the Render to Texture screen:
But now I'm getting this black mark.
I'm going to make some adjustments to the high poly to add more detail.
UV editor window > Select > Select inverted faces. Whatever is red won't render and needs to be flipped. It's probably a good idea to reset Xform, Turn on backface culling (select the object, right click and under object properties) then in edit poly fix/flip the faces that are inverted.
If you've been using the geometry mirror I suggest using the symmetry modifier instead. It welds the seam and doesn't flip things inside out.
Vig: I don't have a geometry mirror or a symmetry modifier.
Looks like you will need to edit your UV layout a fair bit to make it more regular and proportionate, then re-bake.
Symmetry Modifier: This is will weld the seam, won't flip the geo inside out and since its a modifier it can sit on top of edit poly, and if you turn on Show End Result (just under the modifier stack) you can go back down to Edit Poly and whatever you do to the original side updates on the mirrored side. Very handy, really nice.
In the UV editor window go to face mode > Menu > Select > Select Inverted Faces. If anything shows up red you need to use the mirror tool in the UV editor window to flip them right reading.
It look like the two stretched pieces in the center are flipped?
The side boarder pieces are also stretched, you might want to run relax on them.
I'll UV Map and if anything is flipped I'll use the mirror tool. :P
1. Rebuilt the highpoly model.
2. Made a normal map from the high poly model. This got rid of the black mark.
I'm still not pleased with it. I'm not using sub-d on the highpoly model because whenever I turn it on it completely crushes my model.
3. Rendered with the normal map and everything was going fine.
4. Followed a UV mapping tutorial because I haven't done it in a while and make sure I was doing it correctly.
5. Turned on the Color/Number Grid.
Some weird rotating going on... but no resizing or flipping!
6. Rendered a new normal map.
7. Applied the new normal map and did a test render.
The render showed no sign of a normal map. Not even it being offset or something. I checked everything to see if it was turned on and applied. But everything was, I think, set correctly.
When I render I get an error message say that the model is missing mapping coordinates. Under the Material editor the only map channel that does anything is Channel 1 and when I do this it looks like my original problem when I started this thread.
Anyone know what is happening?
If you need screens of some of the setting windows I will be happy to post them. I'm just sort of crunched for time right now and thought I would put as much as a can up now.
Thanks.
in terms of the uv map...there is a ton of wasted space, and also, why is everything sideways? it all fits into the square and could easily be rotated so its easier to texture, why texture sieways when you could easily just texture it how it would appear?
Low Poly:
High Poly:
PixelMasher: Instead of sub-d I'm chamferring the edges.
Yeah I was just curious why 2 of the faces were correct but all of the other faces were rotated.
I have a couple quick UV mapping questions:
After you UV map, do you "Collapse All" on the UV modifiers? After you UV map, when you "Render to Texture" do the maps that you render automatically follow the UV coordinates you made? On the UV map, should when you resize faces, should you always resize all the faces at once and never one at a time?
Thanks.
Set this TO channel to whatever you set the UnwrapUVW channel to be (normally by default its 1).
To set the FROM you go into the material editor click the map, and set it to use whichever UV channel you want to be displayed on the model and RTT to pull from (normally by default its set to 1).
You can also delete unneeded UV channels by going into Tools > Channel Info. You'll see a few channels in there, toward the bottom you'll see "1:map" "2:map" those are the UV channels (the only ones you should be removing). Normally a mesh will have just one unless you create more in UnwrapUVW. You can delete those extra channels by clicking it and then hitting clear (it adds a "UVW Mapping Clear" modifier to your stack).
For most models you should have your UV layout on UV1 and not have any other UV channels. In some cases you might have a shadow pass set to a separate UV2 at this point you shouldn't worry about that stuff. Use the Save/Load buttons in UnwrapUVW to transfer your preferred layout from whichever channel its on to UV1.
As for the rotation, 3ds will flip pieces for a few reasons.
- If you do an automatic unwrap or pack, it has an option to allow it to rotate, it normally makes a mess unless you have very boxy pieces, even then it might rotate something 180 just for fun...
- When you apply a mapping type (planar, cylinder, box ect) the gizmo actually has a up, and a front/back and it relates to your UV texture space.
It can be helpful to move the gizmo around in the viewport. When doing that turn on the local pivot. It will show you which way its facing.
Z points at the viewport, it means the gizmo isn't inside out.
Y points to the top of the UVW Editor box, if Y is pointing off to the side, then you need to rotate it.
X points to the right.
Also your low and high poly models are almost identical. You could bevel a few edges on your low poly and not even need a high. To really maximize a high poly you're going to need a lot more detail. Screws, divots, signs, kick plates, molding, dents, dings, chipped and pealing paint, wire reinforced glass, bars all kinds of things.
Turning on Sub-D is destroying your model because the outer edge only has one edge, if you want a sharper corner with Sub-D you'll need to place two edges very close together, it will help retain the shape. Chamfer tool in Edit Poly > Edge Mode should get the job done. Also know that just turning on Sub-D isn't going to create a great looking high poly model, its just going to add more polys and smooth out what you have. You really need to dig in and work hard on the details to get a great looking normal map.
Once you finish the mechanical high poly modeling, you should take the model into Zbrush or Mudbox and add some organic damage, pealing paint, scratches, dents, cracks. Then bake one hell of an awesome normal map.
I have another set of questions :P. Sorry. I would like your view but if you would like to have someone else step in I'm fine with that too.
Above you probably noticed that my high and low poly aren't exactly perfect. Last night I decided to get eat3d.com's old pillar tutorials (I already have the next gen texturing but the UV mapping was very brief) When he is making the pillar he has 3 parts, concrete, wire/box, and pipe. For each part he made a different set of maps. On my door, should the body of the door be one part and the lever be another or should it be one big part? Something else that he did differently than me was that he modeled his highpoly before his lowpoly. I personally modeled my low poly, cloned it, and added details. Which one is should I do? Last question. How would you go about smoothing this? Would you Chamfer like I did, Turbosmooth, or Sub-d? If you would use turbosmooth or sub-d, how would you keep the mesh from collapsing and losing its shape? I know you need to connect and add edge loops but I still haven't been able to keep it from turning it into a circle.
Thanks.
"For each part he made a different set of maps"
When I went over the tutorial, I zoned out when he was going over the mapping and I did it how I normally would, on one map. I'm sure he has his reasons but really I didn't want to ass around with a few maps for one object. I think his reasoning was that the pipe and wire box could be used in other places... not sure tho.
As for your door, I would say the fewer the maps (and seams) the better.
"he modeled his highpoly before his lowpoly"
He actually made a low poly(by Mudbox standards) first that would subdivide well.
For him (and most people) it is fast and accurate to go:
High (low poly sculpt prep) > higher (sculpt) > low (final low poly)
Instead of:
Low (rough low poly) > high (low poly prep) > higher (sculpt) > low remodel (final low poly)
But it depends on the model, sometimes you can get away with reusing the original low. The less organic the model, the more it will hold its shape to the original low poly. But if you do like he did and make major changes to its silhouette, then getting the old low to wrap around the new high can be more time consuming.
I think in that tut he exports the low and runs ProOptimize on it to get his final low, which is fine, but can be a mess as it works in tris only, which is fine because that's what games use, tris.
In the case of your door you would need to make it so the large surfaces are more dense before taking it into a sculpting app. You want the overall poly density to be about the same size (with the exception of hard edges which need two tight loops close to each other to hold that hard edge shape).
Do this experiment, take a cube, and apply sub-d, it will turn into a sphere. If you chamfer all the edges a tiny amount then apply sub-d it will hold its shape much better. Try just one edge and see what happens. Any edge you want to hold up will need a close buddy near it. Which is just about every edge
Clarification... so you would model Low > High > Higher > Low remodel?
And last question. Would you bring the door into zbrush and add some texture (like rust, dents etc.) or would you try and do it all in 3ds max?
Again... Thank you so much for answering my questions. They were on my mind and seemed like I should get them answered before I went any furthur.
I do High (low poly prep) > higher (sculpt) > low (final low poly) > unwrap > texture.
Sometimes doing the low involves going back to the original high and turning down the number of loops if everything is still created out of primitives, or using 3D snaps and dragging edges to cover the high poly. But its normally quick just to run a poly cruncher on a low export of the sculpt. If you have 3dsmax2009 and get your hands on the creative extensions (available only on subscription for now) you can use ProOptimize (is a plugin called PolyCruncher for older versions) like he did.
It's very rare that I'll unwrap before sculpting. But in this case its understandable if you use the original low, its already unwrapped, and I doubt much will change with the silhouette.
It goes through the fundementals and how to retain shapes after Turbosmooth. And even goes onto show more difficult shapes alter on.
Lastly, it's been a while since I went through the old pillar tutorial, but in the end he puts them all together into one sheet
The lever worked.. but there are some corners that need to be tightened (corners of the window and frame). I was thinking that connecting might fix it but you can only add edges going in one direction...
And the other problem is the smoothing between the door and the door frame. If possible I don't want there to be anything (perfect 90 degrees) but if there is smoothing that is barely there... that works too.
Anyone know how to fix either of these problems?
Thanks.
My advice would be to sit down with a tutorial on sub-d modelling, re-model the highpoly door from scratch, then start worrying about how to bake normalmaps.
Currently if you just want to finish the door I'd recommend you skip normalmapping entirely and just do a nice diffuse texture. If it's meant to be an exercise in learning how to do a good normalmap, then do it the "right" way, and take your time.
Google stuff on how to model in highpoly like this (Erik Asorson has a decent introduction to sub-d here ). There's loads of resources out there.
You basically need to learn the fundamentals of sub-d and what "control mesh" geometry will produce what subdivided result. Then you won't need to ask questions like "how do i fix these shapes?", you'll just know how to do it anyway, for all possible cases.
The only problem with this is the weird curve that is taking place. I have been able to get rid of that curve but then worse problems come up. I figure this is the best I've gotten so far.
I know MoP said if I learn the fundamentals of sub-d I can fix whatever problems are thrown at me... but I have honestly been trying everything I can think or find on the internet. I feel really helpless saying this again but... can anyone help me?
Thanks.
there are a series of little vids somewhere in the 1st few pages that really explain how to control your sub d shapes, definitely worth checking out.
Also, this is a suggestion, but instead of using Sub-D and chamfers, use Turbosmooth and Connects. Chamfer is cool, but it produces a triangle thingy at the ends, which, if you look at your highpoly, you'll notice your edge is hard and then it gets smooth and hard again where those tiny leftover triangles from chamfer appear. So in general, highpoly stuff, you want all quads as much as possible.
Please at least download the first part of the video tutorials and in the very first example, it shows you how to use connect and turbosmooth, and then you'll be good
I'm really sorry. I think you posted while I was writing my next post and I missed it. I'm on my laptop at the moment... but tomorrow morning I will take a look at the tutorials.
Might want to have a look at this thread:
http://boards.polycount.net/showthread.php?t=56014
And the wiki is always your friend:
http://wiki.polycount.net/Subdivision_Surface_Modeling?highlight=(subd)
Saiden311: I think I'm going to use the Turbosmooth and connect technique. You said that the problem was the triangles... that was from chamfering. I don't know how to get rid of them.
Anyway I will try and get a highpoly done and post it before I go to bed tonight. I'm going to have to start over again because I saved with a a couple edges that were already chamfered... and I don't know how to remove the chamfered edges quickly.
Thanks guys.
The main problem you had with chamfer (connect would have probably gone fubar too) was that the whole thing was one conjoined mesh and had lots of triangles and odd poles all over the place. As MoP pointed out its easier to work in groups of objects instead of one giant mesh.
It's good to see you're starting out on the High > Higher > Low, workflow. I think you'll have an easier time once you get the basics of sub-d modeling.
It's important to know why chamfer created the triangle. When its used on a full loop it will create the correct edges that you need, for corners you might have to select the ring it makes, and connect one loop (I forgot to mention that before). The reason you hit ugliness is that you ran chamfer only on part of a loop, any time that happens it makes a tri.
Example: If you select just one edge and hit chamfer it will create two tris on either side, normally bad, the loop is now broken. If you select the entire loop it will create two new loops on either side of the old loop. Great for spacing out loops an equal distance on either side of the old loop. Connect works much the same way but works with rings instead of loops.
Rings, loops, rails and ties oh my!
We should cover what rings and loops are and a bit on how to work with them. The loop/ring work flow is a workhorse of higher poly modeling and its a reason why people will tell you to avoid tris and work in quads. Tri can be useful and are often used, so don't make more work for yourself trying to eradicate them. But do know they can cause issues and its best to use them in specific cases.
Think of a strip of polys as railroad tracks.
- Rings are the railroad ties. If you select and edge and click Ring it will select all the ties along that track.
- Loops are the rails. If you select a edge and click Loop it will select the rail along that track.
To collapse a row of rings, you select one edge click ring, and then collapse. Is effectively welds the loops (rails) on both sides of the rings, together. Doing this doesn't effect the UV layout and is a great way to optimize meshes. (might need "Preserve UV's" checked on...)
To remove loops (a single rail) by clicking one edge, hitting loop, then holding ctrl and click remove. If you don't hold ctrl it will only remove the edges and leave the verts, ctrl removes the verts also. There are reasons why you might want to leave the verts behind but in this case it would just make a mess if you didn't remove them.
You don't have to be freaked out and never touch chamfer again, just know in most cases you want to run it on a full loop. Now that your breaking the mesh up into separate pieces you're probably not going to have nearly as many problems with odd loops terminating at odd poles.
So I figured out what I was missing before. My edge loops weren't complete. I know this because I just worked for two hours of a new model, forgot to make the complete loops... and there was a ton of pinching going on. And the "bitch" part of it is that I have found no good way to extend them. You can't use the connect tool because there is a vertex in the middle of the edge that is touching the edge that you are trying to connect. So the only way I have found it to fix it is the Cut tool. And the cut tool isn't perfect and you have to add every single edge. :P
So unless someone knows a way to extend an edge loop... that would be helpful. In the meantime I'm going to redo the highpoly model... for like the hundredth time. :P
Also, if you don't know yet, there should be buttons to select edge rings and edge loops, and their hotkeys are Alt+R and Alt+L. That way you can just select 1 edge, and expand it to the entire loop or ring
You could remove the non complete loops, and use the slice plane to get one edge and then chamfer it. But it would probably be faster to make sure you grab all the edges this time and connect. But there could be another problem we're not seeing, that could be an open edge that kept it from connecting?
For your door frame example I'd build the outside box and then add in any insets or cut details you have on the frame, and then go in and harden up the edges where needed and eliminate pinching problems after. But as Vig said, it's 6-to-1, everyones workflow is different.
The other trick I got from those sathe video's was to check isoline display in the turbosmooth modifier and use the low poly cage to build up detail. It works really well for planar and cylindrical detail.
Saidin311: I don't really understand your door frame example. I already built that... I'm just focusing on the door now.
I have a lot of school work and a stupid manditory concert tonight... so I don't know if I will be able to work on this tonight. I will try and have something midday tomorrow. Thanks for all the help guys! Hopefully I won't have as much trouble on the next model. :P
Tomorrow I'm going to look back at what I needed to do for UV Mapping and Normal mapping.
If anyone wants to give me some things to watch out for while UV and normal mapping that would be helpful. Hopefully I won't have to go back and redo this highpoly.
Normal Map:
Renders:
Let me know what you guys think.
And it won't take any much additional knowledge of subd modeling to add extra detail. Just use references and keep practicing and don't be afraid to make mistakes or try new things. Get a nicely detailed high poly piece instead of just smoothing square boxes and then you'll really see the power of normal maps.
With that said you have a lot more to learn and it might be best to tackle the issues one at a time. This door would make for some good high poly sub-d modeling practice but Johny and Saidin are right on the money that this is pretty much a waste of a normal map and not really the best example to really dig into normal maps.
I'd call this experiment a realitive success for a starter project and move onto something else that focuses on Sub-D OR Normal mapping. I think you have some great tuts for sub-d already, so I'll float this your way for normal maps.
http://www.doom3world.org/phpbb2/viewtopic.php?t=17688
Thank you. Not that I'm not accepting of critique... but it is always nice to get some support.
I when i posted the renders I did notice that the normal map wasn't really adding geometry. I did add a kickplate at the bottom of the door. I'm not going to add anything more because my highpoly model isn't well done and I would have to restart again with the added detail planed. I should also point out that this door is part of a larger scene... I don't know if you guys know that. I think Vig did... maybe :P anyway. Here is the thread I started for it a little while ago.
So tomorrow I will start on mapping. Thanks for the tutorial Vig. It gives me a good reference to compare to the Damaged Pillar tutorial.
I'm gonna go to bed now before I fall asleep in my chair. :P
But yeah, keep it up and keep learning!
It's important to know that normal maps put detail where there is none on the low poly. Most of that detail should fall on the faces of the polys themselves not really along the edges.
Things that will help it go faster:
Make full use of splines and the sweep modifier. Get to know them well, for environmental artists you can create a lot of stuff very quickly.
Another handy tip, is to turn on "Generate Mapping Coords" this will create simple UV's for your spline, they work almost flawlessly with a little scaling. You'll probably want to unwrap the final low poly by hand, but these auto generated UV's can be used to quickly texture your highpoly which you can bake down to your final low poly using the same technique you do for normal maps.
This door in 10min using splines and simple shapes:
(after you get familiar with the tools)
You can use this base as a spring board to create both your low and your high poly sculpt prep.
For the outer door frame create an upside down U shaped spline with hard corner points. You can set the spline to renderable, change it to rectangle or run sweep on it. When drawing a spline hold shift and it will force 90 degree angles. If you run sweep set the align pivot from center to the outer edge. That way when you create the door you can turn on 3D snaps and snap it to the inside of the door frame.
For the main part of the door a box will do. Or you can copy door frame spline, delete sweep, connect the bottom open edge, convert to edit poly and use the shell modifier to create the back/sides.
To create the hole in door for the window, create another box the size of the window, and use ProBoolean to subtract the window from the main door.
BUT I suggest not cutting a hole in the door as it will create triangles but instead create a floating window that hovers just above your door. You can start with either a box or a plane with autogrid turned on. If you highlight the edges running around the outside of the plane or box, in edit poly you can click "create shape" sweep and you have instant trim. Know that you can define a custom shape with sweep, instant molding, instant UV's amazingly simple. The help files cover this pretty well.
If when you "create shape" it creates a rounded spline, select all the verts, right click and in the upper left quad menu click, corner. You can use the beziar handles and "smooth" on splines to create great curves but for now corner will do.
For the bottom kick plate a normal box would do. Probably toss a width segment in it and push the front/back edges down a bit to slope it. Maybe add some tiny boxes to make it look like traction plating. Toss in a few floating cylinders/capsules for screw holes and this part is done. The traction plating will give you some good Ambient Occlusion later on.
For the handle/bumper, 3 boxes should get the job done, turn on autogrid (check box above box button) when creating the primitives, and you can draw the boxes right on the door. For the lock mechanism give that box 3 width segments and push the center poly out so it slopes on both sides. If you feel like creating a smaller connecting lock between the main lock and the door frame, you might as well add it now.
DONE!
Save this file as a base for your low poly or prep it for sculpting and build your low later. I bet you'll be able to do it faster at some point down the road
Knowing what you do about reinforced edges you'll have a little sub-d prep work to do as well as adding a bunch of loops into the surface of each piece so they have an overall density that is roughly the same. That was covered pretty well in the Pillar DVD.
Once you get the high poly prep work done you now need to dig up a bunch of ref, detail out your high poly with floating screws, divots, hinges, lever arms, decorative trim (sweep with a custom shape) and whatever else you like. Digging up ref will probably net you more detail then you'll care to pack in. THIS is what separates your high poly from our low poly all of the details you'll be adding.
Once you've gone as mad as a watch maker in a cog factory with your door, its time to turn it up a notch and take into Mudbox or Zbrush and add scratches, dents, dings, grunge, peeling paint, and maybe even give some of the surfaces material treatments. Then its back into 3ds to make the low poly around the high, unwrap it, bake some Ambient Occlusion and a normal map maybe render out a diffuse base to get the painting started and before you know it you're done.
The reason it makes it fast is because you don't spend hours tweaking verts to get a curve that follows a base underneath. At least that's when I would use splines. I'm sure everyone has other techniques and experts can chime in. (since I'm hardly an expert source heh)
Example would be to create some sort of detail on a circular surface. Create a sphere and convert it to editable poly. Then select one of the loops of edges around the sphere (select an edge and hit loop). When you have that loop selected, right click on it and create a shape from it.
Now you can apply things you would use splines for. Lets say you needed to wrap some rope around the sphere. You can create a straight rope elsewhere and pathdeform it to the spline you've just created. Or if you need to add some trim, you can loft or sweep around the circle in one motion. Or sometimes if you have an existing object but you need to extrude a part of it around a path. Say for example the swirly bits in a corinthian collumn. You can use splines as paths for your extrutions.
In your door case it's just about time saving. No point in making new boxes, moving verts and trying to line up some trim around the window. Just create the shape from the loop of edges and sweep some trim for win.
Also, don't worry about doing things wrong. I'm still doing things wrong all the time. It's all about the learning process and developing your own workflow. As long as the result looks how it's supposed to and bakes cleanly then it doesn't matter how you got there.
Also search for Editable Spline and sweep modifier.
However, when I was making my own door using your spline/sweep steps, I noticed the type of corners the spline/sweep makes. As a disclaimer, I'm not a pro, but this is something I encountered before and produces problems later on during high poly. Here's a screencap:
LEFTSIDE: Is modelled using a box, and then just extruding the end parts downward to make the upside down U shape
RIGHTSIDE: Is the spline/sweep method.
The difference is that using box modelling, the lines are straight. Using splines, it uses a diagonal line to connect the corners.
Next, we start to put in the reinforcement lines for the highpoly using Connect. Big differences in how connect creates the edges.
Next, when we apply turbosmooth, you'll notice slight pinches in the corners in the spline/sweep model. They don't look noticable now, but they will be in the normal map
Lastly, the box modelled version is much easier to select edge loops because they are all straight lines loops. Whereas the spline model, some of the edge loops are diagonal, and some connect all around the model, making it very difficult to try to select an edge to adjust hardness of the high poly edges. Like say you only want to adjust one side.
Those are some of my thoughts and just stuff I learned from trial and error. I never found a good way around the diagonal version of corners, so I just ended up avoiding them all together. So yah, just sharing my experiences and I'm totally open to hearing solutions if I missed anything
Thanks.