2
$\begingroup$

So long story short, I'm trying to make a high poly from a low poly, add textures & materials to it, and then bake it out on the low poly for applying Normal/Diffuse/AO/Emission maps to an existing item (model) in a game called Rust (built in Unity).

As a test, I took the default cube, added a torus to it's top face and joined it (CTL-J). I then baked a normal map and a diffuse texture. While close, it's not quite right as some of the extra faces I've applied a material are not coming through. Everything else is looking good-ish. I'm getting my normals close.

My question is, and I have an associated blend file, what am I doing wrong as the diffuse map doesn't include all of the faces? I have in the high poly when baked to low poly.

These are default meshes from blender, so the UV's have been set, though I did unwrap the low poly cube via smart UV project.

As you can see, the low poly diffuse is short a few faces and the normal doesn't quite get everything. It's like I'm off by a little. Should I not use cage? I'm not sure what's wrong with my process.

So the money question is, how do I get the same results from my high-poly to line up with the low-poly. (Note: this is for a game asset in Unity that I don't have the liberty of modifying).

Should I be using a cage here? Or setting the max ray distance to 1m? Any thoughts or suggestions would be greatly appreciated.

Still new and learning, thanks for your time.

P.S. I do know that usually you make a low poly from high poly, but in this case, I can't modify the low poly and I'm trying to fake lighting via maps, and applying textures and materials for diffuse and emission. Just not sure what to do here?

High poly with some faces set with a different base color material: enter image description here

Here's the low-poly with normal from high->low bake applied as well as the diffuse providing the color data to the principled shader: enter image description here

Here's the blend file: https://pasteall.org/blend/a396643f5e84404ba32f8e1837d5ea43

$\endgroup$

1 Answer 1

3
$\begingroup$

Cage

Not in depth explanation, but if you change Max Ray Distance you can see it results in circles, so it looks a Cage Normal direction is calculated something like an average of two faces and not directly the face one.

enter image description here

Without Cage

In this specific situation is better do not use the Cage, so the rays are shot in direction of Normal. Use simply Selected to Active and adjust Extrusion value like 0.3

enter image description here

Probably better explanation here

enter image description here

Or...

Usually to bake this kind of normals (shapes on a flat surface), you go to Bake on Plane (placed above).

enter image description here

$\endgroup$
11
  • $\begingroup$ Oh I see, I understand. I wasn't aware that cage was taking the average of two normals but that makes sense. In this test case, I was using a simple cube, although I am trying to test a process for modifying a more complex shape and using some method of baking highpoly to lowpoly textures (normals/AO/diffuse/emission). I do not believe I could use a plane in that case to encompass the entire object. Do you have any thoughts on which approach would be best to do a full 360 degree projection from high to low poly to avoid the issue of having averaged normals? Thanks a bunch! $\endgroup$
    – Kessair
    Apr 21, 2022 at 14:57
  • $\begingroup$ I hear you there :) that we do. Thank you very much for your input, it has given me some good ideas $\endgroup$
    – Kessair
    Apr 21, 2022 at 16:36
  • 1
    $\begingroup$ One simple way to fix this issue without a cage is to add one or two subdivisions to a cube like this. Not that much more geo and it would dramatically improve the end result. I know this is just a test, but it's not at all uncommon to add a bit of geo in key areas to ensure a clean bake. $\endgroup$
    – Jakemoyo
    Apr 21, 2022 at 20:29
  • $\begingroup$ @vklidu - thank you! looking at the normals you baked it looks perfect without cage using extrude 0.3m - thank you very much :) $\endgroup$
    – Kessair
    Apr 21, 2022 at 23:34
  • 1
    $\begingroup$ @Jakemoyo OK leave it, this discussion is not moving forward. Sorry if it is my wrong english causing misunderstanding ... $\endgroup$
    – vklidu
    Apr 23, 2022 at 9:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .