- Home /
3D Tile Lighting
Hi,
I'm trying to build a scene with 3D tiles I create in Blender. For example a simple cube as floor tile. When putting multiple tiles next to each other in Unity, they are all separately lighted and you can see the borders between the individual tiles. I want them to look like one smooth surface.
For some reason, when using the default Unity cubes, it works as intended. Any ideas?
Just googled and tried for another day with no results. Combining the meshes at runtime does not help. Imported normals should be correct (at least they are in Blender). Flat Shading is used in Blender, not smooth shading. When generating the normals in Unity ins$$anonymous$$d of importing them from Blender, some of the seams go away, but never all. Changing the normals smoothing angle also changes the seams, but it does not get better. No ideas left.
Hello @anteevy I sent you an e-mail via the comment you posted on my blog. I suspect that this is an issue with the normals of your mesh, but if you could send me the troublesome Blender file then I would be happy to take a look for you :-)
Hi, thanks for your fast reply! (I'm replying here in case somebody else has the same problem)
I'm simply using a newly created blender file with the default cube and default material, so the normals should be okay (at least I checked them in Blender, but not in Unity). In Unity I just place some imported cubes next to each other with a light above them and I get the result from the screenshot above.
I think that you need to separate the faces of your cube. In Blender try using the "Edge Split" modifier. The default Blender cube vertices are shared, so there are 8 vertices. The default Unity cube has 24 non-shared vertices which gives hard edges.
Sounds good, I'll try when I'm home from work and report back. :)
Answer by anteevy · Nov 13, 2012 at 05:55 PM
Thanks to numberkruncher, who found the solution:
I had to use the "Edge Split" modifier in Blender. (It is not necessary to apply the modifier, just adding it suffices.) Letting Unity calculate normals instead of importing them AND setting the Smoothing Angle to 0 also seems to work.