Home Technical Talk

Baking normal maps.

Hi,

I am having some performance problems importing many hi poly meshes into 3D max to bake my models and tiling textures. I currently have many bricks, slabs and tiles of 200k to 400k polygons ready to be organized together and baked on models and flat planes as textures.

But when I want to create a texture from say 20 blocks (around 6.000.000 polygons) max already starts to get hick-ups. The problems starts when I want to bake the AO map and have to copy many more stones to the sides for correct lighting.

I have a 3.4Ghz Phenom II X4 with GeForce GTX 460 and 8GB ram. It's a bit old already but 10 million polygons is not all that much. Do i need to upgrade for these amounts? I would love to work with another division on my high poly but since I'm already having issues this will cause problems. A realistic wall counts many bricks so i'm really limited to what I can do.

Are there any techniques to make the process of arranging stones more efficient? Or perhaps applications to do this job?

Replies

  • Quack!
    Options
    Offline / Send Message
    Quack! polycounter lvl 17
    Are you sculpting these bricks and then bringing into max?

    If so, try a polygon reducer like decimation master to get each brick down to a reasonable polycount. Often when sculpting you can create details that are sub-pixel in size and are unnecessary for the baking process.

    Outside of that, your computer is fairly slow to handle 10 million polys. You can try changing 3dsmax viewport settings, directx or nitrous, as one can be faster then the other depending on your computer setup.

    You can also right click on an object and choose to display that object as a box, so you can place it without having to display its polys.

    You can also try placing the bricks in a sculpting app like zbrush, which are generally better at handling tons of polys, and then exporting that and baking in an external baker like xnormal.
  • madmenno
    Options
    Offline / Send Message
    Best option would be getting a new PC, i usually get a new PC every 2 to 3 years but I think it has been almost 5 years now. But I'm kinda on a tight budget.

    Your last option sounds very good but I'm not that familiar with ZBrush and cannot seem to bake a normal map that way, I can do that just for a single object/tool. I have tried unwrapping low poly objects (even flat ones) and overlaying tools in ZBrush but I cannot get a normal map from it.
  • Farfarer
    Options
    Offline / Send Message
    With stuff like that in Max your best to get the meshes to draw as a bounding box in the viewport.

    I don't think you'll easily get a PC where Max isn't suffering under a 6mil poly load.
  • Joost
    Options
    Offline / Send Message
    Joost polycount sponsor
    Are you using instancing? That should have less of a performance impact.
    Or you could try proxies I guess? http://docs.autodesk.com/3DSMAX/12/ENU/3ds%20Max%202010%20Tutorials/files/WS1a9193826455f5ff-4855151011e1d0ec60d611d.htm
  • madmenno
    Options
    Offline / Send Message
    Well, bounding boxes are not going to help much since I have lots of separate objects and when i do need to move one I need precision. I think if I get at least 16Gb ram and a good intel i7 processor it would help a lot. But the i7 4770k is still way over my budget. I always have chrome (memoryu heavy) and a couple of other programs open and the bottleneck seems to be memory, so perhaps 32Gb would be the way to go.

    I did try instancing the same objects and it seems to help a lot but still not enough for a high detailed brick wall. I'm unfamiliar with proxies and will take a look at that.
  • Joost
    Options
    Offline / Send Message
    Joost polycount sponsor
    Try decimating to like 20% and then use instancing. That should preserve enough detail for a bake but still be manageable.
  • huffer
    Options
    Offline / Send Message
    huffer interpolator
    You can also import the high polys, add a an optimizer to get them down to 1000 tris and still have the general shape, then disable the modifier in viewport, enable at render times.
Sign In or Register to comment.