PDA

View Full Version : Normal seam


The Laughing Gnome
08-30-2011, 07:30 AM
Hey, I was wondering if anyone could tell me what might be causing this dark seam to appear around the top of this model of a capacitor I'm making?

http://dl.dropbox.com/u/5739555/Polycount/Normal%20seam.jpg

The seam is showing up around the edge where my uvs are split. I'm pretty sure it's not a hard edge, unless my smoothing groups got corrupted at some point while I was bringing the model into UDK.

This is my first attempt at normal mapping. I had a look at EarthQuake's normal mapping sticky first and noticed the geometry at the end of his barrel model is actually almost identical to what I've got, so I'm not sure where I've gone wrong with my normal map/uvs.

Thanks in advance :)

EarthQuake
08-30-2011, 07:39 AM
Where is this baked, and where is it being displayed? It might just need the green channel to be flipped, if for example you baked in max and are looking at it in marmoset.

The Laughing Gnome
08-30-2011, 07:54 AM
The image highlighting the seam is a screenshot from UDK. I baked the normals in xNormal with my swizzle coordinates set to X+, Y- and Z+ (which I'm pretty sure was the right setting to use for UDK, going by the Eat3D tutorial I was following).

ZacD
08-30-2011, 11:55 AM
Was there a hard edge on the low poly there before you baked?

The Laughing Gnome
08-31-2011, 03:36 AM
Okay, well I tried unplugging the normal map in UDK to confirm that the mesh definitely has no hard edges (I double checked to see if I had any hard edges before baking too, but both my high poly and low poly definitely had all soft edges).

I also tried rebaking the normals again in xNormal with the green channel flipped (X+/Y+/Z+) and managed to get a bake that works perfectly in Maya, but still causes the seam to appear in UDK :poly132:

Any ideas?

Thanks

passerby
08-31-2011, 03:55 AM
set your 2 UV islands to 2 different smoothing groups.

The Laughing Gnome
08-31-2011, 04:16 AM
Hey, thanks for the reply. Could you tell me how to do that in Maya? I thought assigning specific smoothing groups was something you could only do in Max. The way I assigned the edge normals in my low poly was simply to select all of the edges in the mesh and then perform a soften edge operation.

cptSwing
08-31-2011, 04:33 AM
afaik, you need to pick the edge loop between the two pieces and set it to hard edged. should yield the same result as changing a smoothing group, as it's just two ways of describing a break in the smoothing from polygon to polygon.

The Laughing Gnome
08-31-2011, 05:13 AM
I'm not sure I understand sorry. I've tried rebaking using a low poly with a hard edge assigned to the edge loop where the uv islands are separated, but this just makes the seam even more noticeable. I also tried assigning a hard edge to the same area in my low poly .ase file, but I'm pretty sure I don't want a hard edge there, as it ends up looking similar to the seam.

Ghostscape
08-31-2011, 06:36 AM
How much padding do you have/try increasing the padding?

EarthQuake
08-31-2011, 11:36 AM
This seems likely to be some sort of exporter related issue. IE: the vertex normals are being split at the UV seam or they aren't being read correctly in UDK.

If you have no hard edges, and your bake looks good in xnormal's viewer, maya's viewer etc, then the problem is with getting it into UDK.

It could be related to the lightmapping system in UDK or something like that, depending on how the mesh was imported. I've seen similar threads where that was the problem, but I dont know too much about UDK.

Padding almost certainly has nothing to do with this(but its always a good idea to increase padding, as you can never have "too much").

Ace-Angel
08-31-2011, 12:11 PM
Double faces?

Mesh has hole?

Run a STL Check on both high and low poly?

What format is it imported in UDK? Try both FBX and ASE.

Also, when importing, did you check/uncheck the "1 Smoothing group override" box?

Also, open mesh in UDK and check second UV channels (ID 1). They usually need user correction since I think last 2 version of UDK tampered with them.

The Laughing Gnome
09-01-2011, 02:51 AM
Okay, well one thing I'm pretty curious about is the fact that when I turn on UV overlay in the static mesh editor in UDK, the default UV channel (1) doesn't display my uvs, but channel 0 does. Is there some way to perminently change this? Just selecting the channel in the static mesh editor doesn't seem to actually alter the mesh.

If that's not the issue though, I checked out a few other things too.

For one, I do have a hole in the mesh. I deleted the faces on the opposite side of the mesh (because they won't be visible in the prop this is going into), but this doesn't seem to make a difference to the way the mesh renders in UDK or Maya. Apart from that, I've run both meshes through cleanup in Maya and I don't think there are any issues with either, double faces or otherwise.

Also, I originally had edge padding set to 8. I've since increased it to 32, but that didn't seem to have any effect. And the smoothing group override in the ASE exporter doesn't seem to change anything either.

I tried exporting with FBX too, but it seems like no matter how I export it from Maya, I can't get it to include my smoothing groups. I just keep getting a warning saying : "no smoothing group information was found in this FBX scene". Has anyone else run into this before?

Cheers

Jerc
09-01-2011, 06:05 AM
In UDK, the "default" UV channel (1) actually displays the UVs used for lightmapping. Your main texturing UV is in channel 0.
Changing the channel in the static mesh editor will only change which UV UDK will use to bake lightmaps.
Anyway I don't use Maya so I'm useless for your other issues :(

Funky Bunnies
09-01-2011, 03:07 PM
Not sure if you've already checked on this or if it's related, but have you made sure you imported the normal map into UDK using the normal map compression? When I was using UE3 if you used the default image compression it'd mess up your vectors.

The Laughing Gnome
09-01-2011, 09:41 PM
YES! That was it. Changing the compression type to normal map fixed it. Thanks again to everyone for helping me work this one out! :)