No announcement yet.

Normals in UDK

  • Filter
  • Time
  • Show
Clear All
new posts

    Normals in UDK

    My question is regarding the normal maps in UDK

    my workflow:
    a simple sphere in Maya, export it in to Zbrush
    in Zbrush, scuplting some details, export in to Maya
    in Maya baking out normal map.

    In Maya, after applying the normal on my model, it is looking really good,

    and i can hardly see any seams on the texture

    but in UDK

    as you can see the quality is much much lower and i can easly see the seams runing through the texture

    material applied on a sphere is a simple diffuse + normal + spec

    my question:
    is the lost of quality is OK and normal for UDK or maybe i'm messing something up ?

    Loooooks to me like either you're saving your normals in Maya in lower resolution than you intended... or UDK is converting them to lower quality when you import them... or you converted them to lower quality somewhere between Maya and UDK.

    Basically it looks to me like something's lowering the image quality of the textures themselves.

    There was about 3 or 4 options during import for UT3 that you use to make it high quality... can't remember what it's called though, and I was just on my way to bed... and they might have changed its name for UDK... haven't done much with it yet.

    edit -- never mind -- found a UDN article which probably would help.


    Note -- read the article, it's only a paragraph or two -- there's a few things you need to do.

    NOW bed.


      oh, and here is my normal map


        yeah i know what you are talking about, this normal is 1024x1024, i will try to bake one in 2048x2048 and import it with different options,
        thanks alot


          Yeah the main problem is not SHRINKING the texture resolution -- it's artifacting when you apply cosine-based compression on it... sharp edges gets blurred (which is why jpegs are TERRIBLE for text) -- but even worse -- on the edge of a tiling texture it might not distort the same way -- introducing a seam.

          But yes -- using TC_Normalmapuncompressed you'll probably want to import twice the size of a texture as you think uncompressed should be there. (you might need to lower resolution eventually... of course... if performance is worse than you expected -- but meh.)

          NOWWWWWWWWW bed o.o



            ok so this is NormalmapUncompressed with targa 2048x2048, so far this is my best result, but it is far from what i have withing Maya.

            1. Is this good enought for game in UDK ?
            2. Is it possible to get as good results as i can see in Maya ?

            i have tried all types of commpresion, and NormalmapUncompressed is the best, but as i see materials in UDK has better quality normalmaps, or maybe im just trying to be pefrect ?

            3. Oh and last question, i made two materials, one with targa normal map and another one with png normal map. Looking at the same time at bouth materials i couldn't see any difference, but targa is like 4xbigger file, what do you think, use targa or png ? i know that lots of ppl use targa any ways ?


              UDK has a different tangent space coordinate system than maya (Left hand Vs Right Hand), try inverting the green channel of your normal map and see how that looks.


                On your question about targa: with targa you can use the alpha channel to store an additional image, such as a heightmap for displacement. Otherwise I would go with BMP or similar. Some people use targas as some kind of working files which are lossless like BMPs and PSDs.

                What I usually do is make two targas for basic materials, one with diffuse on RGB and specular/similar on A and one with normals on RGB and heightmap on A.

                You need to save your targas as uncompressed 32-bit files to preserve the alpha channel properly.

                And a simple tip: if you want more detail in your materials, you should first try to increase the pixel size of your normal maps. The diffuse map is of course a big player when it comes to detail, but colors are not as visible to close range detail as the lighting visuals a larger normal map offers. Personal taste and situation specific though.

                Also, always add a detail normal map. A small (max 256x256 pixels) normal map for the details you can see when you are "touching" the object. This really increases the quality of even the simpler things like concrete and paper.

                Sorry, this became a bit lengthy and I don't even know if this is familiar to you already. Oh well...


                  Also, always add a detail normal map. A small (max 256x256 pixels) normal map for the details you can see when you are "touching" the object. This really increases the quality of even the simpler things like concrete and paper.
                  How to do so?



                    m4dcow - it did help a lot, thank you :-)

                    musilowski - thanks for the tips and yes can you give us a fast feed back on that "detail normal map" i just cant see how that small map can improve my details so i would love to learn that


                      Try using xNormal and compare the result with what you're getting out from Maya. It's not that technically xNormal makes better normal maps, but it often does so with a lot less fuss and configuration. That still looks pretty pixelated to me (like Maya, xNormal also requires a flipped green channel). Also, in terms of shadows, make sure your lighting it set to highest within UDK.


                        Detail Normal Maps:
                        Here's how they work.

                        Make a small normal texture that is usually just the roughness of the material. The detail texture for skin may be the normals for the pores in the skin. Stone may be the normal map of a small flatish section to add roughness.
                        In the material editor, set it to tile several times over the object using a texcoord node. Then, add the red and green channels of the detail normal to the main normal. Don't add the blue. It'll flatten out your normals. The result is very fine grain normals that you won't notice until you are very close. Then, when the main normals are getting a bit fuzzy because the camera's too close, the detail normals hide that fact because of their crispness.
                        Here's the UDN page that shows a very basic setup without the texcoord. They used a large texture instead, which is not efficient. You just need a small sample to repeat a basic texture.
               Normal Map

                        Just above that, it also shows how to enhance your normals with a multiply node if you still want them a bit more than they are.


                          Ok, this is great. thank you