Announcement

Collapse
No announcement yet.

Maya > NormalMap > UDK

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Maya > NormalMap > UDK

    Can someone clarify what's wrong here?

    I would like to convert my high res Maya model into a low poly/normal mapped object to be used in UDK. I think I'm getting close - but when I get into UDK my model looks messed up. The shadows seem to be off kilter and I thought I was doing everything right but maybe someone can point out where I've gone wrong. I made a really quick and dirty skull to try this out on thinking it would be a good study.

    Here's a list of the steps I'm taking with pictures (18 pics).

    1 - CREATED HIGH POLY MODEL
    Self Explanatory




    2 - CREATED LOW POLY MESH TO BE USED
    Modeled basic Poly's around the high Res Mesh. Made sure nothing was protruding.



    3 - LAYOUT UV's
    Made sure my UV's were laid out cleanly and not overlapping.




    4 - CREATED NORMAL MAP
    Using Transfer Map I created my normal map.




    5 - NORMAL MAP CREATED AND APPLIED
    It's not an exact replica but this works for now.




    6 - ADDITIONAL UV SETS
    I read on here that UDK needs an additional UV set so I created one.





    7 - EXPORTED MESH WITH ACTOR-X
    I exported the lowPoly Mesh with Actor X. I used "Obey Hard Edges". Is that right?




    8 - IMPORTED MESH TO UDK
    Imported the Mesh to UDK with these settings.




    CONTINUED>>>>>>>>

    #2
    Continued>>>>>

    >>>>>>CONTINUED>>>>>>


    9 - IMPORTED DIFFUSE MAP
    This was exported from Maya via Transfer Maps as a TGA.




    10 - IMPORTED NORMAL MAP
    Here are my normal map settings. Are they correct?




    11 - CONSTRUCTED MY MATERIAL
    I put my material together. Diffuse Texture went to Diffuse and Specular, while Normal goes to normal.




    12 - APPLIED MATERIAL TO THE MESH
    Here are some before and afters of applying the material to the mesh





    AWFUL.....


    13 - LIGHT MAP COORDINATE INFO
    I realized earlier my UV maps weren't showing up and now with 2 uv maps it still does nothing. I messed around changing these but it did nothing.










    Does anyone out there know how to fix this?

    Where I went wrong?

    A better way to do this?

    Comment


      #3
      Looks like an issue with your smooth groups (vertex splits in the model when it's imported). When you bake the normal from the high res, the low res shouldn't really have any smoothing applied to it for that type of organic model (because the bake bakes relative to the smoothing on the low res rather than from the high). Try rebaking without smoothing and see what happens.

      Comment


        #4
        You are referring to the setting in my Actor X (step 7) right?

        Comment


          #5
          Problem prob.

          yur Problem propably = where you set the smooth groups during export.
          re-export from actorx but then try unclick the setting you had,
          + in the middle tab you can also set skinning for all.
          that can also be a solution.
          send me msg back if it worked
          nice skull btw ^^

          greetz
          D13on

          Comment


            #6
            Those things are really horrible in Unreal engine:





            I don't see any smoothing groups on the LP model so I don't think its the case here, unless in Maya they are assigned automatically based on polygon normals.

            * First of all consider using a single UV island, instead of 15 you got right now. It's not how you're supposed to texture organic models as this one. If, for some mysterious reason (mirrors), you still need to split UVs into pieces, make sure that they are separated and positioned horizontally.

            WYS


            Good:


            Bad:


            * Second, you don't need any additional UV sets if the primary one has no overlaps and is already in 0-1 bound. Secondary UV set is required if you want the model to be lighmapped - and if you do, usually depends on its size and purpose. You don't need it at all, if model is going to be dynamic one.

            * Third, don't forget to flip the green channel in Maya generated normal map to make it DX compatible.

            Comment


              #7
              This might be a shot in the dark, but i think your low poly is WAAAAAAAAY to lowpoly to project the correct detail from the normal map. Its not gonna look good weither you solve the problem or not.

              And also, you need to keep your UV's in one cluster or UT is gonna autosmooth the **** out of that model.

              Comment


                #8
                You need to do a better/careful job of laying out your UV's. It's obvious the problem areas are the UV borders. Try to lay it out as one shell instead of many pieces.

                Comment


                  #9
                  Props on making such a detailed question thread instead of going WTF MY MODEL SUX.

                  1. As mentioned, you don't need multiple UV sets if your original set is not overlapping.
                  2. As mentioned, don't split up your map like that for an organic object; everytime you create a tiny UV "island", it will result in a hard edge seam in your model; basically your model will end up having a ton of seams all over it, very ugly.
                  3. Don't use Transfer Maps, go download xNormal (its free), it not only unquestionably produces better normal maps but its like 100x faster than Maya.
                  4. Maya's maps (xNormals too) produce a flipped Green channel from UDK's point of view. You need to invert the Green in something like photoshop (cntrl-I on the green channel). Since I strongly suggest using xNormal, there is an option to bake the green correctly from UDK's view (in xNormal, Baking Options tab, next to Normal map there is a "...", then set Y to Y-), this way you don't have to invert it.
                  5. You need to play around with smoothing groups on your low poly by using the Normals menu (Harden/Soften) found in Polygons. I'd recommend simply giving your low poly skull 1 smoothing group (select all, Normals, Soften - by setting the entire skull to the same Soften normal setting you've essentially given the entire model 1 smoothing group).
                  6. Be aware that even if you Soften everything, UV island borders will automatically result in split vertices and thus seams (which is why #2 is important), the goal is always to hide seams (back of the skull in your case); I'd recommend slicing down the back of your skull and unwrapping into one, unfolded piece.
                  7. Because of #6, you may get a better normal map render by selecting the UV border edges and Hardening them (because it will be a hard edge in the engine). In other words, try rendering a normal map with a low poly that 1) is 100% soft, and 2) 100% soft, but then select the UV shell border edges and Harden them (there is an option to Select UV Shell Borders in the UV Editor, convert your selection to edges); compare results to see what works best.
                  8. Try importing the ASE with bSingleSmoothGroupSingleTangent on and off when importing, compare results.
                  9. Yes, your #7 settings are correct in most instances and should be fine for your skull.
                  10. You can import normal maps as you did, but I'd recommend initially bringing it in as a NormalMapUncompressed so you can see it in the "best case scenario" without compression. Also, don't forget to set a good LOD group (for example try setting it to SkyBox so that it won't LOD it much).
                  11. When setting up the material, don't choose Texture, this kills me, go look at the Texture node options on the right side, there's one there explicitly for Normal maps.
                  12. Finally as mentioned, I would add more polys to that low poly, if that's a very very simple prop meant to be seen from a distance, then ok, but it needs more polys if you're going to look that closely at it.

                  Basically you need to do a lot of trial and error, I also had nightmares getting good looking models in with normal maps. The big take away points: (a) how you UV really, really matters, because your UV shell edges will become "hard" edges which translate into a seam; (b) how you set your smoothing groups (Soften/Harden in Maya) matters both for how it displays in engine, and how your normal map will be rendered, you will get a completely diffferent normal map rendering against a low poly with different smoothing groups.

                  Some "light" bed time reading for you:
                  http://tech-artists.org/wiki/Normal_mapping
                  http://www.svartberg.com/tutorials/a...ormalmaps.html
                  http://www.ericchadwick.com/examples.../byf2.html#wts
                  ^^ technical but REALLY worth reading, it will explain the instances where vertex splitting occurs in-engine, and a vertex split inevitably results in a seam, the primary 2 being UV's and Smoothing.

                  Cheers.

                  Comment


                    #10
                    nice one danimal.

                    Comment


                      #11
                      I wanted to thank you for posting those links. I saw them many months ago but I am revisiting them, because my normal maps never have looked good. I do have overlapping UV's most of the time. Is their and offset in Maya for this?

                      Comment


                        #12
                        normal map and uv map

                        Make sure you turn on shade uv's in the uv texture editor. It will help you identify the overlapping uv's. The Maya smooth uv tool with its unfold function is a very underrated tool and will help you ensure that the uv to texture ratio is correct. Also remember that any mesh that deforms needs a tangent space normal map. Until ptex is supported we are stuck uv mapping, but like danimal said it is incredibly important that it is done correctly. You will be surprised aat how much better your model turns out when the uv mapping is done well. Xnormal is an amazing program and it is free. A single uv set is all you should need.

                        Comment


                          #13
                          I just posted the solution elsewhere
                          http://forums.epicgames.com/threads/...8#post30089858

                          Comment

                          Working...
                          X