- Home /
blender to unity problem help!!!
I'm really confused on importing blender fbx files, and blender native files on unity today, last time I'm importing assets from blender to unity and it's just fine
but now when I import assets from blender to unity all is messed up
here is the problem please view the image
last time when I import assets from blender it's just fine looks like this
http://nazarenegonzales.files.wordpress.com/2011/12/ok.png
but this time it goes crazy like this image
http://nazarenegonzales.files.wordpress.com/2011/12/messedup.png
I'm using unity 3.4 thanks
what do you think is the problem, what is the possible solution for this?
Answer by syclamoth · Dec 22, 2011 at 11:22 AM
Look at your import settings- make sure that the normals and tangents are set to the correct value. If you haven't set anything up in Blender to do this, then you probably want 'Calculate' rather than 'import'. Mess around with those drop-downs, and see if you can work anything out.
do you mean the import settings on inside unity? but I can't find the import settings, where is it located?
and where is the option of 'Calculate'? thanks syclamoth I hope you can reply
yes this is somewhat of an import setting problem, when you select the file, there is an option for normals in the inspector. another way (and something i believe is recomended) use a an edge split modifier in blender (this way you do have more control over edges, as unity will just split apart every face)
the cause is blender has all the faces linked, and unity goes off the vertex normals for shading, when using "edge split" in blender, or "import normals" in unity, it separates all the faces (either way will make your vert count go up, there is no way around that)
Answer by cassius · Dec 25, 2011 at 06:53 PM
This looks like a 'normals' issue to me. In blender, in Edit Mode, press 'n' to make sure that the Transform options screen shows up (usually on the right). Within the Mesh Display area, place a checkmark for 'Face' in the Normals area. This will draw a series of lines pointing outward from your object. The lines represent the direction which your mesh will be visible from. In blender it renders mesh from both sides, but Unity only renders from one side, based on 'Normals'. If any point in the wrong direction they'll be invisible, so select the face, then on the left side of the screen in the 'Mesh Tools' (press 't' if it's not there), in the Normals area either select Recalculate or Flip Direction. You want the lines to be pointed in the correct location. Alternatively, you may be able to select all faces of your object (press 'a') and then use the Flip Direction or Recalculate options.
The second issue is that your model has changed from being Flat shaded to Smooth. So select your entire object in Edit Mode and on the left in the Shading area, press the 'Flat' option.
Export (or save) the model and within Unity it should be updated.
I'm quite certain this will take care of the problem for you.
Answer by cube · Dec 25, 2011 at 08:10 PM
If you used the subdivision modifier in blender then FBX files are not imported well . Try importing collada .
Answer by Cygon4 · Nov 24, 2012 at 09:26 PM
I'd also say that this is most likely a normals issue.
It looks like you haven't marked any sharp edges in Blender (remember that corners which are supposed to be sharp need to be split into 2 vertices or more so that each can carry a surface normal for the its face).
Try adding the "edge split" modifier to your model before the subdivision modifier, it can be configured to automatically mark sharp edges.
And it wouldn't hurt to hit "Smooth" on the model to recalculate its normals before or after doing that, just to be sure.