Author Topic: Odd Transfer of Normal Map Details to Unity 5  (Read 2466 times)

Hi everyone, would be very grateful for any insight on this... encountered a normal map issue that has me a bit stumped. I'm using the newest iteration of Designer and saved a normal map as a bitmap.

This particular normal map is a combination of both an averaged NM bake and a non averaged NM bake through a network. The results in both Substance Designer and in Substance Painter (I brought the saved bitmap into Painter to double check), are shown below in the first 2 attachments.

When I transferred the same normal map used in both Designer and Painter to Unity 5, some very serious distortion occurs (attachment 3), and I am unsure as to why this would be the case.

Both the low polygon object being used in Designer/Painter, is the same as the one being used in Unity 5 as well.

Perhaps I am overlooking something in the workflow process, does anyone have any insight on this?


The linked thread is a fantastic one, but it sounds like you're already a bit aware of that issue, and have managed to find a system that, mostly, works... but it only works in SD and SP.
Is that right?

One thing I notice here is that there may be a difference in triangulation happening. Is that object mostly made up of quads? I think the way Unity handles quads is often different from other programs. I've encountered it several times. It is especially problematic when you have pringle-shaped quads (two opposite corners up, the other two down), like with twisted objects such as this.

The way I deal with it is to triangulate my mesh in your editor, re-bake maps in SD for the newly-triangulated low poly, and replace both the maps and the object in your Unity project. This way, your modelling program decides which algorithm to use for triangulation, rather than leaving it up to both SD and Unity to figure out on their own.

@Cory, yes that could be the case now that you mention it. The low polygon object I sent over to SD was un-triangulated. (I created the object in Maya). I only now recall that Unity Engine handles the directions of its default triangulation process differently than Maya does, which might have caused this issue.

@matt, thanks for the links! I've seen two of them but not the one about skewed distortions beforehand and am glad to be pointed to it. Besides cages I usually add divisions to the low polygon object for the purpose of better baking for Normal Maps, and recently have been trying out some methods in Substance Designer as well.

Just an update to this, the problem was indeed in the triangulation. Unity's default triangulation on an un-triangulated polygon object caused the distortion. The issue was fixed as mentioned by @Cory, by triangulating the low polygon mesh in Maya and then exporting and baking normal maps in SD using that new mesh. The transfer to Unity occurs properly afterward.