Search Unity

Blender 2.61 unsmooth normals in Unity 3.5

Discussion in 'Asset Importing & Exporting' started by Marnix, Jan 23, 2012.

  1. Marnix

    Marnix

    Joined:
    Sep 7, 2011
    Posts:
    11
    I am using Unity 3.5 beta 6 and blender 2.61. The normals do not look good when I import them, but they do when I let them calculate by Unity. This is how the imported normals look.

    It seems that it works to add an edge split modifier to the objects, but this will take a lot of time to add this modifier to all objects.

    How can I do a correct normal import?

     
  2. typane

    typane

    Joined:
    Nov 25, 2011
    Posts:
    297
    Depending on how many objects you made edge splitting only takes a short amount of time. Have you tried importing after recalculating normals in blender? Other then that, it may be a bit tedious to find a result. If you come to a conclusion please inform me, I have had the issue to, but I just resorted to edge splitting.
     
  3. Marnix

    Marnix

    Joined:
    Sep 7, 2011
    Posts:
    11
    I read the python script Unity-BlenderToFBX.py and it said: HQ Normals are not supported. But I don't know if this effect in the image is called HQ Normals.

    I found that Blender does not support Modifiers for Proxy objects, so even if I link an object into my scene, it does not remember the edge split modifier. I have to add the modifier again to the proxy as well. (yes I could press Apply, but I don't want to apply my modifiers just yet).
     
  4. Schlumpfsack

    Schlumpfsack

    Joined:
    May 30, 2010
    Posts:
    608
    if you export you can tick the box "apply modifieres". This way your egde split will be applied, but you can still fiddle around in blender with it.
     
  5. w00dn

    w00dn

    Joined:
    Apr 28, 2010
    Posts:
    275
    If you have multiple objects in blender and want to apply one or more modifiers to all of them, prepare the modifiers on one item, select all the other objects you want to apply to and then select the one with the modifiers last. then press Ctrl-L (Make Links) and choose Modifiers.

    Thats Assuming the objects are in the same file of course...
     
  6. Marnix

    Marnix

    Joined:
    Sep 7, 2011
    Posts:
    11
    I know, but I have linked proxies. The modifiers are not linked from the imported file and I have to set the modifier queue once more for that object.

    I will try that, but it is still a workaround that breaks the workflow from blender to unity. I actually don't want to have an edge split modifier on my objects.
     
  7. jake-gr

    jake-gr

    Joined:
    Oct 27, 2011
    Posts:
    93
    You need to either use an edge split modifier in blender, or use calculate normals in unity.
    A shader might be able to do what you want, but its the way unity does shading on faces (it uses vertex normals, where blender uses face normals by default)
     
  8. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    If you export files in .obj format from Blender, you can use set smooth/set solid for faces and it will import correctly.

    --Eric
     
  9. Marnix

    Marnix

    Joined:
    Sep 7, 2011
    Posts:
    11
    Yes and collada seems to do a good job as well. But still... I find it strange that this part of the pipeline is not fully optimized yet. I will export my objects to collada, so there will be no problem anymore. Too bad that I'll still have to do this myself.

    Thanks for the support anyway.