0
\$\begingroup\$

I know this topic comes up a lot in forums, however I have spent the last 2 hours googling it and can not find a solution for my specific problem...

I have exported this model from Blender, but when I import the model into Unity with normals set to "none" it appears as it does in Blender (see left image).

However, when I try to select import or calculate normals, it distorts the character mesh making it look less detailed and less human like (see right image).

I have tried messing with normals settings in Blender, tried changing quality settings etc. in Unity but I can not get it to look 1:1 with normals applied (obviously it needs lighting and shadows so I need it to have normals).

If anyone can provide assistance to fix this or a work around, I would really appreciate it a lot!

enter image description here

\$\endgroup\$
  • 1
    \$\begingroup\$ Can you enable per-pixel lighting in unity? Because it looks like the usual artifacts you get from per-vertex lighting. \$\endgroup\$ – PeterT Aug 6 '14 at 10:19
  • \$\begingroup\$ Hi PeterT thanks for the response. Yeh it does have per-pixel... although i'm using unity free so might not be as efficient as unity pro. That being said, the lighting doesn't have this effect other models i've imported into unity (assets that weren't created by me). \$\endgroup\$ – Bryan Aug 6 '14 at 11:14
1
\$\begingroup\$

The problem here seems, that you don't have lighting in blender. Add a light source and try rendering it there. You will probably have the same artifacts as in unity, because your geometry isn't ideal.

To prevent those weird shadows, you'll probably have to remake parts of the model. Especially stretched triangles can result in very strange lighting issues. For organic modelling you should always have a few rules in mind:

  • If possible, ONLY have quads in your models. They will be converted to triangles in unity, but the geometry will be more even and result in less artifacts.
  • The quads, or triangles if you have to use one, should not be stretched. If a part of the geometry is stretched, the lighting will bleed out on the whole part.

Generally the renderer in unity will be more unforgiving than renderers like cycles, because it relies more on approximations to gain speed. If you want to see the artifacts in blender, you could either use the blender internal renderer, or maybe the real time viewpoint shading. You can activate that by creating a light source and going into the textured view mode.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.