Yeah... that map is pretty bad dude.
Here's some tips:
- First of all, model your mesh with UV Mapping in mind. Obviously the more polygons you have, and the more conjested they are, the more time it will take to make a decent map.
- Your first goal is to try to create the least amount of seams possible. That means stitching edges together in the map wherever you can within reason.
- Your second goal is to cut down on having to re-draw similar textures, by overlapping UV's. For example objects that are symmetrical (like your gun) only need to be textured on one side and then the texture can be duplicated onto the other side. To do this you can either cut the mesh in half and then UV map it, texture it, and mirror the mesh back to it's original state, or you can just planar map symmetrical faces together (using your gun as an example, you'd select all of the faces on either side of the gun pointing sideways, IE the sides of the gun, and planar map that to cause the UV's of either side to overlap and line up with each other, making both UV's take texture data from the same portion of the texture image.
- Keep your UV map dimensions in multiples of 2! Eg; 128 x 128 or 512 x 512 or 1024 x 1024.
Probably stuff you already knew but I thought I'd throw it out there, as your current UV map has a LOT of problems.
-