Saturday, April 17, 2010

Source of UV Mapping Problem

After speaking to my tutor Paul yesterday we were still unsure what was causing the problem with the UV map and texture in Maya but, had found that in blender the UV map worked perfectly. After some discussion we decided it would be better just to import the dodo into Unity and assign the texture there or use a different modelling program to redo the UV map and setup textures.

Fortunately this decision lead to my discovery of what the problem was. Last night after uni I decided to import the Dodo model into Unity and see how it looked and assign the texture that way as discussed in the tutorial. Upon importing the model into Unity I found there were several holes in the model, as can been seen in the screen capture below:















On further investigation in Maya I found I had several 5 sided polygons as you can see in the image below. I vaguely remember someone telling me 5 sided polygons are bad but, not why.















I fixed these two 5 sided polygons by remove the polygon altogether and recreating them as one four sided and one 3 sided polygon which, although not the neatest solution does solve the problem. The end result is as follows:
















This still didn't fix the UV texturing problem but I decided to see if there was a way I could find other 5 sided polygons quickly. Thats when I found this great forum post which explains bad geometry, how to find it and how to fix it:

After running a mesh cleanup to select 5 sided polygons as suggested in the forum post I found two more 5 side polygons (or nGons as I now know they are called) on the the legs of my Dodo. Now I have corrected all these nGons my the UV map now works but, I have to repaint all my skin weights again as I had to unbind the geometry to fix the nGons.

I'm glad I have finally fixed the UV mapping problem as this has been frustrating me for the best part of two weeks! The lesson learned here is that although other 3D programs don't seem to mind then 5 sided polygons are very bad, especial when importing the model into a game engine as these typically triangulate all models! Now I look back this reinforces my opinion that in future I should model the head in the same Maya file as the body as one piece instead of creating it as two pieces and joining. This would have avoided the miss matched number of vertices on the body and the head when I was joining the two which ultimately ended up in me unwittingly created two 5 sided polygons.

In the future I definitely be much more careful to avoid creating 5 sided polygons!

No comments:

Post a Comment