So I'm baking normal maps for the first time. In the background is the source mesh, a briefly made corridor section, and in the foreground is a low-polygon copy with the exact same dimensions.
I super-imposed the two over each other and baked 2k tangent-space normals at the highest quality setting.
This is the result. The horizontal normals are completely invisible unless viewed at extreme angles. There are strange lines on the ceiling.
I have no idea why some of the details from the source mesh is presented on the normal map, while other parts are completely omitted.
Run it through some normal map generation program like crazybump and be sure to set your nodesetup or whatever material setup your software provides properly.
Normal maps don't capture depth information, they capture curvature info. If you've cut lines into the surface that are completely perpendicular, they won't show up in your normal map.. They have to be angled outward like the two sides of that main section you have at the top.
That explains a lot. Is there any kind of map I can use that will translate into depth rather than curvature? Perhaps bump maps?
Parrallax occlusion map if you want something faster but less accurate, or else displacement mapping. Both can be used in games, but it's a bit of extra work to set up and obviously incurs a larger performance hit.
Try to get away from over-optimizing your poly count. If you need to get a straight cut into a surface like that, just make the cut in the low-poly, the extra 8 or so vertices is like a drop in a lake for modern GPUs, hell even ones from 2006. It's becoming common practice to even added simple bevels to many edges to get a better normal-map bake and shading in general on very visible edges.
Also, watch these two short videos about surface normals and normal maps, as this is essential stuff to understand for asset creation.
The total poly-count for the source model is 229 faces. I've duplicated it 20 times for this corridor. I don't suppose it would be possible to just use it as it is? I don't know what an optimal poly-count is and I want to use it in UE4.
Those portions are going to be instanced in Unreal, it's not anywhere near the same performance hit as having 20 different models with 229 faces each. They will also all be grouped into the same draw-calls because they share the same material. Also, you don't duplicate it before putting it in Unreal, you import the source piece and instance it in Unreal using the grid system (hopefully you've built the seams to meat up with grid lines).
Though, 229 faces is a lot for such a plain piece of hallway... Or did you mean all 20 combined equals 229 faces?
if its baked you could literally have 9 polys and be fine
>you don't duplicate it before putting it in Unreal, you import the source piece and instance it in Unreal using the grid system (hopefully you've built the seams to meat up with grid lines).
I know, I just wanted to see what it looked like when completed. The grid-lines match up perfectly.
>229 faces is a lot for such a plain piece of hallway... Or did you mean all 20 combined equals 229 faces?
For each individual piece. So, not counting the end piece, what you see in the image will end up being 9160 triangles.
>if its baked you could literally have 9 polys and be fine
That's what I've being trying to do but it just won't work. I've seen single-plane sci-fi panels with the lines just normal-mapped on, but this one just won't bake properly for some reason.
About all I can thnk of now is to just get the low-poly model and manually place the panel-lines in substaince designer or ndo or whatever.
I really just wanted to bake the details into a low-poly mesh straight from the source.
All you have to do is make the lines get a bit narrower the deeper it gets so that the normal map transfer has something to pick up on when projecting the surface to a flat plane. Otherwise just make those few cuts you have, then bake onto that low poly from the high. Could you post your wireframe perhaps?
>All you have to do is make the lines get a bit narrower the deeper
I'll have to give this a try, thanks
>Otherwise just make those few cuts you have, then bake onto that low poly from the high.
Those few cuts are literally the entire model aside from an eight-poly frame.
Here's the wireframe - I tried to get it at a decent angle so that you could see the detail on the side and the ceiling.
It's hard to tell what a lot of those lines are for without getting a hands on look at the model, would you mind uploading it?
I'm trying to post the link but 4chan is being a pain in the ass. It's pic related.
Noob here, what is baking normal map? I know normal map, but i dont know what baking means
Imagine taking an extremely high-polygon object, and then placing a lower-poly version over the top without as much detail. When you "bake" normal maps, the program is essentially taking the normal data from the high poly model and then placing it over the low-poly model in the form of a normal map.
This same process can be done with occlusion, diffuse etc.
Alright, well, I see why your polycount is so high. You made sure to stick with all quads, which you don't need to do for hard surface models like this that are going into a game. I reduce your hall section from 230 tris to 117 by simply diverting edges to corners and removing some redundant loops you had going on.
You'll want to add bevels to your full-quad version, add a smooth modifier onto it, then bake it to this lower version.
Make sure you make UV cuts on the low-poly where needed, watch this video to learn more.
Got a partial success here by just bevelling the edges a little. Now all I want to know is this strange distortion on the ceiling?
Thanks man, I'll keep that in mind. I bevelled the edges to get the result posted above so, aside from the distortion, I guess the problem is solved.
Thanks for your help, I really appreciate it.
The distortion is likely caused by baking in 8-bit space. Large hard-surface objects like that can result in floating point errors during baking. If you use xNormal (it's free), you can bake in 16bit space to avoid the banding issue.
Also, I notice a weird line at the top of the large edge.. did you not set the "fill seam" setting higher in Transfer Maps? Always increase that. If you do a 4k texture, it should be set to around 14-16, 2k texture 10-12, 1k 6-8 and so on... It extends the baked information an amount of pixels past the UV borders, so that when information is sampled from those areas, it doesn't sample flat unrelated colors.
I'm going to hold my hand up and say I don't know what the hell "fill seam" meant when I was doing this. I'll try it again.