Jump to content
3DCoat Forums

3dCoat to Unity - Normals look messed up


asimpleart
 Share

Recommended Posts

  • Member

I'm exporting from 3d Coat to Unity and things are looking a little weird (see attachment)

Here's my process:

  1. 3d Coat - File>Export Objects & Textures (see attachment for settings)
  2. Drag 3d coat generated maps and model into Unity
  3. Apply the respective maps to the material, all according to the file name.IE: Head_Albedo gets dragged to Unity's Albedo in the materials Inspector window. (see attachment).  Something that's interesting in this step is when dragging Head_Normal into the materials Normal Map, I get a warning that says "This texture is not marked as a normal map" With a fix now button.
  4. Drag Model into scene, I see it obviously doesn't look right  (see attachment)
  5. Hit that Fix Now button, looks close, but if you look closely, the normals look weird in some spots.

Any ideas on what's going on and how to fix this?

3d-Coat 4.7.24
Unity 5.6.1

3dcoat.jpg

unity.jpg

unity_fixed.jpg

3dcoat-export-settings.jpg

unity_material.jpg

Link to comment
Share on other sites

It looks like you may have islands that over overlapping or flipped normals on those sections, in your first bakes. If you supply the original mesh file (OBJ or FBX), the 3B and your baked normal map. I can take a look at it.

For those auto unwrapped islands, just unmark the seams around the area you don't want them, and you should be good to go.

Link to comment
Share on other sites

  • Reputable Contributor

Auto Map in 3DC is planar mapping and will create lots of small uv islands. The tool tip for this method gives you this information. Sometimes the small uv islands will be place in areas that not the best for normal maps or as Javis said.

Auto Seams is a best guess approach on the shape of the model. You will still get more than the number of uv islands that are necessary and if the model is very complex you might get some uv islands with self intersection.

Best always to create your uv seams by hand if using it for a game engine.

According to the Unity docs, you as the user must tell Unity that the image is a normal map after importing. 

https://docs.unity3d.com/Manual/StandardShaderMaterialParameterNormalMap.html

Inspector panel---Texture Type---Normal map--- Press Apply.

You also are exporting the wrong workflow for Unity, Switch to Gloss / Metallness in the export panel.

normal map.png

Edited by digman
  • Like 1
Link to comment
Share on other sites

  • Reputable Contributor

I edited my post after you posted your last one here is it if you did not see it.

You are exporting the wrong workflow for Unity 5. In the export panel choose Gloss / Metalness. 

I use the simple export because I get to choose what maps I need to export depending upon the Model. The preset is fine but if I do not need all the maps of the presets, why generate them.

Deselect " use export constructor for per / channel packing

You can create your own preset as well.

Opps... as I was just showing this for you too see, I had forgot to change to export Low -poly mesh. The reason exporting mid-poly is in the selection list is that if you subdivided your model when baking to the paint room or import directly into the paint room. You have a choice to export the original low poly or subdivide poly model.

Capture88.JPG

Edited by digman
Link to comment
Share on other sites

  • Reputable Contributor
38 minutes ago, asimpleart said:

Thanks Digman I'll try those settings then. Another newb question: Since I have to redo my UV's, do I need to rebake? If so, does that also mean I need to redo my textures? Thanks again for your help!

You can retain your textures and normal maps using the below method but in your case with a bad normal map this might not work completely. you might have to redo your work...or a least the normal map work. 

Since you baked the model to the paint room already, I assume you are creating your new uv seams in the UV room. 

UV room.

Once done with the uv seam creation.

Left tool bar. look at picture and follow that order. 

You must not unwrap completely again as rotation or flipping of the uv islands will destroy your normal map. 

Upd. Islands will officially update the uv set to the new seam layout

PackUV2 will only scale the uv islands.  If you do not have enough separation after using packuv2 manually give the uv islands some more space.

Appy Uv -set only once. You be asked again when returning to the paint room, just close the panel. 

Side Note:

Just incase for your FYI.  In Unity be sure to have a reflection probe surrounding the area that your model is in to get correct PBR reflections.

https://docs.unity3d.com/Manual/class-ReflectionProbe.html 

Do some reading on light probes as well if you have not.

 

Capture66.JPG

Edited by digman
  • Like 1
Link to comment
Share on other sites

Once you perform a bake, the Retopo object will be transferred, with the UVs you created there, to a Paint object.

If you are meaning though if there is some way to transfer the work you've done UV seam wise, and only the seams. Not really. You'd probably need to redo it. But, if it's the same mesh in the Retopo room, baking is the easiest way.

  • Like 1
Link to comment
Share on other sites

  • Reputable Contributor

By now, I would chalk this up to a learning experience or go to the uv room and redo the seams there. The new ones in the retopo room 3DC will not used when updating from the uv room.

If you choose to Rebake and redo your textures. Generally you will be asked to delete the previous bake when starting to bake again. If you do not get the warning dialog then first go to the paint room and delete the paint object, the surface materials will be deleted as well. At the bottom of the layer panel on the far right click on the 'X' to remove the unneeded layers. Normally the curvature map is not deleted, just redo your curvature map in the paint room when you have your new baked model.

And last of all, enjoy learning the ends and outs of 3DC.

I edited may last post to include this information.

You can retain your textures and normal maps using the below method but in your case with a bad normal map this might not work completely. you might have to redo your work...or a least the normal map work. 

Edited by digman
  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...