Why when I import my blender house does unity mess everything up? It only renders certain faces. Is there a way to get unity to recognize that an object can have two sides?
I made every plane be a box for example the walls are all boxes, the stairs are just a slanted cube, but certain sides are not rendered and you can walk right through them even with a mesh collider. I noticed that even a plane created in unity has this problem.
All planes, in unity and blender, are made with a single sided face and the face that paints the texture is referenced as a “Normal”. Even a cube or Sphere is nothing but many planes made up to create the illusion of a Sphere. Each face of the object is a plane and each plane has 1 side of texture.
If your faces are facing the wrong way, in Blender, click your 3d object, go into edit mode, select the face, then click to open the Mesh menu, click to open the Normals menu, then click “Flip Normals”
This won’t solve your problem if your walls are made of planes and they are also used for the interior of your house model. You must use a cube object for a wall in order for both sides to get rendered. This can be easily accomplished without actually replacing your planes or much work at all.
Go into edit mode in your house model, make sure you have all 4 corner vertices selected of your wall, or all of the corners if you have more than 4. Now, simply press the E button on keyboard to use the Extrude function. This will auto-magically add not only the sidewalls of a new cube object, but the opposite wall.
If your 3D model is complex, you can select the entire model and in the Mesh > Normals menu in Edit mode in Blender, you can select “Recalculate Outside” or “Recalculate Inside”.
It’s not a problem, it’s intentional, for various reasons including performance. You can use a shader with “cull off” to render both sides (“cull back” is the default), however it will not have correct lighting on both sides if you do this. It’s theoretically possible to make a shader that renders both sides with correct lighting, but it’s far simpler if you just model both sides.
The way that unity renders the finished 3d models is that it uses the normals of the object to prevent it from rendering any unneeded surfaces. To counteract this problem you can add a solidify modifier in your 3d modeling program. What that does, is it adds another set normals without increasing your polycount so you can see both sides of a plane.
Hope this helps.
Do this, it creates far less polys than solidify. Select all of your faces that you would solidify…but instead of doing that, copy your selection, press w and select flip normals. Now you will be able to see both sides of your object.
To prevent the problem in the first place, you can turn on Backface Culling in your 3d program. In Maya it’s in each viewport window under Shading > Backface Culling checkbox.