Process of making a normal mapped model?

The place for artists, modellers, level designers et al to discuss their approaches for creating content for OGRE.
Post Reply
toopz
Gnoblar
Posts: 14
Joined: Sat Jul 30, 2005 6:21 am

Process of making a normal mapped model?

Post by toopz »

I have a few questions on the process of making a normal mapped model. I know that the end result (basically) will be a low poly model for in game, a high poly model to create the normal map from, and the resulting normal map.

My question is what's the best/most productive order? Creating the low, modifying that into high, and then making a normal map? Or just start out with the intention of making a high poly one and reduce it down?

My thanks for any thoughts on this. :)
User avatar
Kentamanos
Minaton
Posts: 980
Joined: Sat Aug 07, 2004 12:08 am
Location: Dallas, TX

Post by Kentamanos »

I think it depends on what tools you have available. Some modelling packages have built-in functionality for polygon reduction, so maybe doing the high one first would make more sense.

I use XSI Foundation, which unfortunately does not include the polygon reduction functionality. I've heard of people using the "shrink wrap" functionality (which takes a model and deforms it to another model) to do this type of thing, but I haven't found a good tutorial on doing that myself yet.

I also wonder if the LOD functionality built into OGRE would be good for creating low res polygon models as well, but I haven't looked into that much either.

Let us know if you find a good approach, because I'm curious on the best "free" way to do this as well...
Tyn
Gremlin
Posts: 195
Joined: Mon Jul 19, 2004 11:40 pm
Location: England
Contact:

Post by Tyn »

From what I'm told, poly reduction in Max is horrible. The guy doing art for the project I'm on is doing both models seperately, but built over the top. The high poly one has details that are just rendered onto the skin of the lower one in both texture and normal map.

Building it like this tends to be better as you as an artist are far better off to judge as where you can spare polys and use the normal map than any algorithm. He built the high poly one first, it may not be the quickest way, I have no idea, but it seems to work for him.
"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams

http://www.spacecolonization.net
2080: Space Colonization
toopz
Gnoblar
Posts: 14
Joined: Sat Jul 30, 2005 6:21 am

Post by toopz »

Tyn, that's sort of what I figured. I've never personally used a polygon reduction tool myself, but I always assumed they would give sub-par results. One never eliminates an option though.

In that case we would need to build each model individually. I assume that because most high poly models are sub-divides of lower poly models (at least in most cases) that the most productive method would be to build the low res one first, save it as a seperate file, and then increase it's detail before subdividing.

Kentamos, if I find a nice, relatively fast method, I'll be sure to let you know. :)
User avatar
Lee04
Minaton
Posts: 945
Joined: Mon Jul 05, 2004 4:06 pm
Location: Sweden
x 1

OK hope this helps

Post by Lee04 »

I think it's OK to go both ways.

Make the low poly version making the detailed version in using it as base like in Z brush. To get a displacment map and a normal mapp.

Then you know the low poly version will work. with the normal and displacment map you can even test it in z Brush (see tutorial for that)

Notherway if you use a modern version like 3dsmax I am lucky anuff to use 3dsmax8 but even 7 have a render cage that you put a high poly and a loiw poly version of your objects there and it can produce normal maps, displacement maps, shaddow occlusion maybe and texturebaking etc.

What's really cool is that you can model small parts that you uv mapp and texture and put it close to the big object to make it more detailed. That is you don't need to model all thouse small details into the mesh you can put them on as lose objects and still get the texture baking and normal map generation to include them as if they where modelled into the model it self.


This is very handy for gadjets and belts. Pockets and sleves or whatever you need. Yoo can then easily share these small objects between characters or other stuff. Never really having to include them into the final
hi res model.


What I like with z Brush is all the brush types and stap like tools that allows you to fast create normal map and displacement patterns on objects that looks streight and cool.


Z Brush is realy cool. I tried to do this chest

When modelling allways define the proportions and model the skelletal part like chest head and then "paint" with a big brush the major shape on top of that then reduce the brush to fines and make the secondary shapes and you work to that until you reach the detail stages. Don't work the other way.

And yeh there is a free normal mapp generation tools that can handle a lot of polys if you machine have the memory. It also does polyreduction. It's NVidias Melody tool if you havn't then check it out!

So it accepts one hipoly mesh (but only on mesh not like 3dsmax what I know any way) and it makes a low poly version with normal maps.

See NVidias developer forum and ATI's Developer forum have normal map compression tools and white papers that is a must read for normal maps.
That explains different ways of storing normal maps in different texture formats, pros and cons and trix do get better look.

Hope this helps

Cheers

Lee04
User avatar
Jerky
Orc Shaman
Posts: 791
Joined: Wed Mar 02, 2005 4:13 am
Location: Springville, Utah
Contact:

Post by Jerky »

It is probably going to be most efficient in any pipeline to make the low poly model first, and then subdivide it and detail it to make the high poly, then generate the normal map for it. Assuming we are talking about game models, this is the Ogre forum after all, the low poly is important to have because it is going to be what people see in-engine. If you create the high poly first, it makes it difficult to ensure that your low poly model will be as optimized as you need it to be. By this I mean your UVs etc. As soon as you have a high poly model and get a low detail model from it, and then edit your low detail model to be what you want, you are no longer guaranteed that you will get good normal maps from it. This is at least the case with ZBrush, if not other solutions as well.

If you are going to try the other way around, like if you have ZBrush for example, which creates various version of a model all in one tool, it is still a bit cumbersome. Zbrush can recreate your subdivision levels, but your model HAS to be made with only quads for this to work. You can do something entirely in ZBrush and then take the low poly version out to another program and then do the uv's etc, but when you take it back in, it has to have the same number of polys and vertices (ie. no editing) in order for you to be able to replace your lowest level mesh with your modified one. I did do this with that ogre head(http://www.ogre3d.org/phpBB2/viewtopic.php?t=15170), because when I brought it into ZBrush, it had no UVs setup for it. I did not make my texture until I was completely done detailing, so I took the low poly version (the ogre you see there) and imported it into Blender, set up the UVs and then imported it into my tool in ZBrush. In this way, I still keep all my high detail stuff, and then create UVs. So what I got was a good normal map for use in Ogre that still let me paint my texture the way I had intended.

I have have also heard that ATI and NVidia's tools for creating normal maps are better for games than the ZBrush or MAX ways of doing it. I actually havent compared this myself, but it is something to think about.

To sum up, it is defintely possible to go both ways, but it probably depends on your tools (and pipeline). Try it both ways in your pipeline and find out what works best for you.
Erik Briggs (Jerky)
My Blog
Project Wish
Image
Rixeh
Greenskin
Posts: 135
Joined: Sat Nov 20, 2004 8:36 am

Post by Rixeh »

Lately I've disregarded ZBrush entirely, and used only Maya. I model characters as SubD's -- which implicitly have a polycage. I refine the shape of the base cage mesh, which propagates into the SubD's. Then I shut off the cage and start sculpting details directly into the subd (Maya 7's Sculpt Geometry works for polys, nurbs, and subd's. An AWESOME addition.)

Once I like how the SubD looks, it's just a matter of duplicating it, converting the copy back into a poly object (Verticies, level 0 -- that spits out only the poly cage). Then I use the new Surface Sampler tool to transfer the details from the SubD down to the poly surface. Normal map generated just like that. ;)
User avatar
NeOmega
Halfling
Posts: 86
Joined: Mon Apr 04, 2005 2:30 am
Location: Washington State, USA

Re: OK hope this helps

Post by NeOmega »

Lee04 wrote:
And yeh there is a free normal mapp generation tools that can handle a lot of polys if you machine have the memory. It also does polyreduction. It's NVidias Melody tool if you havn't then check it out!
Just thought I'd mention, the newest release of melody pulled the LOD features.

I had bad luck with meLODy honestly... I had better luck with ORB... you'll have to google it, and the creator is nowhere to be found.
User avatar
Lee04
Minaton
Posts: 945
Joined: Mon Jul 05, 2004 4:06 pm
Location: Sweden
x 1

Post by Lee04 »

release of melody pulled the LOD features.
WHAT!! Why would they do that??

Maybe it didn't work. Nvidia has pulled other thing away when they get to much Q&A on something.

Like the biezer support in driver and hardware I think it was there GF3 that had that just like ATI's trueshape or whatever it's called.

It was in there beta driver and then when it was released it was gone...
They worked so much with that I remember. And then they just pulled it..


Well I guess the lesson is make a low poly save a compy from that.
Take the other compy into Zbrush and add detail, make displacment and normal maps apply it to the original low poly character.


This way you are 101 % sure it will work and look dandy.
LODing dosn' seam to cut it. Making a manual lowlevel version on top the highres is and option if you make it on tiop of the finnished highres one.
And apply something like 3dsmax7 or 8 render cage where you put both of them in the cage and it raytraces the displacements and normalmaps etc and allows for small detail objects to be included as well.


So those would be the choocies I guess.
'

Lee04


Lee04
User avatar
Falagard
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 2060
Joined: Thu Feb 26, 2004 12:11 am
Location: Toronto, Canada
x 4
Contact:

Post by Falagard »

Max's polygon reduction tools are fine.

Take a look at the MultiRes modifier, it's great. Optimize isn't as good, but has its uses in some cases.

Clay
Tyn
Gremlin
Posts: 195
Joined: Mon Jul 19, 2004 11:40 pm
Location: England
Contact:

Post by Tyn »

I spoke to the modeller I referred to and he forwared me this website that's helped him. I'm not forwarding you to anything dodgy, I really have to make that point with the name :)

http://www.poopinmymouth.com/tutorial/n ... rkflow.htm

I know it's not the only way, may not be the best way, but it's definatly one way. Best to know some of the ways of doing it so to choose which suits you more.
"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams

http://www.spacecolonization.net
2080: Space Colonization
nfz
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 1263
Joined: Wed Sep 24, 2003 4:00 pm
Location: Halifax, Nova Scotia, Canada

Post by nfz »

Tyn: thanks for that link, its a good tutorial. Some parts are similar to what I do in Blender using the nmf exporter for the ATI normal mapper.

I also usually start with the low poly creation first. I then copy the low poly into another layer, turn subsurfacing on and start adding detail. Periodically I turn on both layers and adjust the low poly cage controlling the subsurf so that it envelopes the original low poly mesh correctly.

Instead of post processing the normal map in an image editor to add super fine detail as shown in the tutorial, I use Gimp to create the detail map as a grey scale height map which I will use in the nmf exporter later. In Blender I then use the nmf exporter to generate the normal map which merges in the detail height map to produce the final normal map.
Post Reply