Announcement

Collapse
No announcement yet.

Skeletal Mesh Reversed Normals Problem

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

    Skeletal Mesh Reversed Normals Problem

    So, Im still fairly new to UDK. Im working on a project with classmates for a Course Project. One of the items in our game is a Candelabra. I have modeled the candelabra in 3DS Max. I have the middle stem and the arms as separate models, as well as the two Skinned to the same bone structure (the candelabra is going to be a pickup "weapon").



    In Max you can see everything is fine with the model. However, upon Importing it into UDK, the arm model consistently has its normals reversed to point inward.



    I've read about smoothing groups, doesnt fix it; Ive read about Max's Edit Normals, Tangents and Binormals, and Explicit Normals, doesnt fix it. The only real odd thing I did with the model was using the Bend modifier to create the 90 degree bend in the arm model, followed by mirroring and welding the middle vertices together.

    If I have to I'll remodel the thing from scratch, but Id hate to waste a perfectly good model I spent a good time creating. Any help will be most appreciated!

    PS Yes I know that the model is super high on the poly count, but at this point the amount of polygons doesnt matter (as Ive adjusted it up and down too), I just need the normals to be facing the correct way!

    #2
    You don't have to redo the model, there should be an option to "recalculate" the face normals in Max (a Max user can tell you the correct procedure). Tools like Max usually draw polygons regardless of the direction their normals are facing, but game engines use the direction to avoid drawing polygons that face away from the camera. Essentially, the polygons on this area of your mesh are 'inside out' and just need their normals flipping.

    There may be an option for back-face culling to visualise this in Max.

    Comment


      #3
      As Spoof says, you don't need to redo anything, the fix is really easy, but I'll tell you why this happens so you know what to expect in the future.

      So, the reason why your normals got flipped in the first place was that you used mirroring. When you mirror a mesh, it also mirrors the normals, in other words, points them inward in stead of outward. This isn't directly visible in Max because Max will assume you don't want flipped normals and render the mesh as if it's correct, even though its not underneath. As soon as you reset xform on that mesh, it'll then be visible, because resetting the xform is like get the mesh to it's actual state and not the sort of layered state that Max would keep it in while you're modifying it.

      You get similar stuff happening with scaling and things where Max would remember the original scale, unless you reset xform, to tell Max, this now is the mesh's default state.

      The other thing is with Max, when you have mirrored a mesh and now attach another mesh to it, that whole mesh now is in the mirrored state. So even if the mesh that you attached was correct to begin with, it won't be anymore after you attached it to a mirrored mesh.

      So, the correct way to do things would be, if you have mesh A then copy and mirror that to mesh B, to attach these two together and avoid any mirroring issues, you select mesh A and attach mesh B to it. This of course being sure that mesh A is correct to begin with. The point is, select a non-mirrored mesh and attach the mirrored mesh, will negate mirroring issues. If you do it the other way around, you end up with incorrect normals.

      To fix a problem where you have flipped normals, you can do this in one of two ways. First to visualize the problem, you need to reset xform. Do this from the Utilities menu. It's the hammer icon on the top of the right hand tools panel. Then after the reset, collapse the resulting model into an editable poly. Right click it go to Convert To and then Convert To Editable Poly. You will notice it looks wrong although you will still see faces on there. If you want to only see the faces according to the normals, then switch on Backface Culling for that mesh. Select the mesh and in the Display menu, the little screen icon there on top right panel, in the Display Properties, check Backface Cull.

      Then, with editable poly, go into the Polygon sub mode so you can select faces, select all faces, and then flip the normals. There's a button called Flip, it's in the Edit Polygons menu there on the right hand tools panel.

      Another way is to apply a Normal modifier and check the box, Flip Normals in there.

      Sorry, a long post for a simple fix but I think it's worth knowing what causes the problem to begin with.

      Comment


        #4
        It seems to never fail, I always overlook the most obvious solution! Flipping the polygon normals was what I knew needed to be done but I didnt put together to look in the Polygon selections Edit Poly parameters for the Flip tool.

        Thanks so much for the help!

        Comment

        Working...
        X