3DS Max 2010 to Unity object smoothing problem.

Hi, I have model a character and exporting it with both FBX and Obj file format but still there is something wrong with the smoothing in you Unity. I view and render it in 3DS Max with no smoothing problem. This is how it looks it Unity

http://img265.imageshack.us/img265/6328/whyk.jpg

Is there something that I must do in Unity to get the smoothing right?

Try to triangulate it in max (if you didn’t do it). As we triangulate polys - the bug might be in here somewhere.

Triangulate it in max? You mean I triangulate all my quads to triangle? I thought Unity can do that job?
Or I maybe be misunderstood you Alexey.

Hey, just try it out 8). Backup your model triangulate and re-import.
I’m just looking at possible problems.

I’ve tried it and it work. But the same problem happen again after I start to apply the normal map. If I only apply the diffuse map, its still ok. I must have screwed up the retopologizing the mesh loop and normal mapping process.

What a waste of time. So now I know, if it works in Max, doesn’t mean it gonna work in any 3D game engine. :frowning:
Wish I had known about this earlier.

That seems like a smoothing groups issue. Try to fix your smoothing groups so that it looks good in 3dsmax, then take it into Unity and make sure the “Calculate Normals” option is turned off.

Should work, but please keep us posted if it doesn`t.

Edit: You could also try to select all the vertices in your model and weld with a very small threshold. It could be that some edges are overlapping, so either do this or try to turn them manually in the editable poly modifier panel.

I have tried what asked me to do Brokenpoly, but it is not the problem.
I’ve tried putting a smooth modifier on top and collapse my model back to edit poly and when I export it in FBX or trough 3ds max auto conversion in Unity.

The low poly seem to be all smooth out fine, until I start applying back the normal map and the same error appear. Could it be the Error from the normal map?
If so, I tried to paint the normal where the problem is but still no luck.

Btw I’ve sent to Alexy the model and hope he can find the source of the problem.

so, in the very-very latest version it looks like this (imported from fbx as is - without triangulation).
So the simple answer is: if you are ok with slightly convoluted workflow - wait for 3.0 :wink:
the long answer - i can check what really was (could be) the issue. And i check if i can create for you special exporter version (maya plugin, or unity dll) to ease your life a little.

Also, brokenpoly really does have a point. Cause i get artifacts similar to yours if i check “Calculate Normals”. So you should have it turned off. (please, recheck).
And even if you want it on (it can mess with your smoothing) you can select smoothing angle manually in unity. But better - no “Calculate Normals” at all :wink:
I’ll look into possible problems with normal map later

Hey thanks Alexey,If you can spot the problem, it would be good so that I know next time what to look out for when modeling 3D model for games.
I didn’t use any of that calculate normal. I’ve tried it out and still not the solution.
I tried FBX and OBJ export and it seem that FBX gives good smothing, with OBJ the smoothing is much worst. But nevertheless, both still gives same problem when I applied my normal map.

ok, i’ll look, but just to clarify, your bad output was from fbx WITHOUT “Calculate normals”?
also

so for now problem only in normal map? or it is simply not that bad.

The smoothing from FBX is ok i guess. Its just that when I apply my normal map, it turns out like in the picture. So could be from my normal map? But can a normal map really do that kind of problem? If so then why when I view it in 3ds max 2010 or xnormal 3d viewer, it doen’t gives such error?
Forget about .OBJ. Maybe OBJ and unity has got some error in giving good smoothing.

A note. This is actually my 1st serious attempt in getting my finished character inside Unity.

Hey Bryan!

Could you by any chance send me that model + normalmap, so I can have a look at it? Would be interesting to see what`s going on with it, so feel free to send me a mail on:

roald [at] unity3d.com

Ok. I got the model now and after some magic it seems the model works just fine. Im not using 2.6 at the moment though, so I wont be able to test it in that version until tomorrow. Will keep you posted :slight_smile:

Sorry for late reply Brokenpoly. Yes!! that is exactly how I saw it in 3DS Max and Xnormal 3D viewer.
What version of 3DS Max you’re using? How do you get it to work just fine?
Could it be an incompatibility issues with 3DS Max2010 and Unity 2.6.1?

Can’t wait to see you result with Unity 2.6.1.
Thanks mate!!

Nope, it is exactly unity. It’s just current developer’s build. He’s talking with rendering guy right now, to better understand how ok-ish it that :wink:

Ok, thanks for the support guys. I’m glad there is nothing wrong with my workflow or 3DS Max.

Can’t wait for the fix. :smile:

Have you tried “Split Tangents” option in mesh import settings? That is specifically to split tangent space across UV discontinuities.

(I think that option should be the default… let’s see if I remember to do that for next Unity release :))

You mean the FBX Importer Split tangent setting in the Unity Inspector panel? Yup, tried and play all of the setting in the inspector but still didn’t fix the problem. I’m so curious as why 2.5 version has no problem about it.
Have you guys in Unity tried in 2.5 too?
What do Brokenpoly mean by this"Ok. I got the model now and after some magic it seems the model works just fine."
Did he somehow do some script tweaking?

ok, what brokenpoly did - just disabled tangents calculation. So it works but not really correctly (light artifacts will come), cause shader needs them. Split tangents in itself won’t help you much, simply because you have ugly stuff in continuous areas of uvs ;-). Ok, i found the best combination for you (at least for now - we better tune tangent space calculation for 3.x ;-)):
in (FBXImporter) pane of inspector
generation = all (tangents and normals)
calculate normals : on
smoothing: max (180)
split tangents: on
while these settings are far from perfect (read: you can lost some hard edges - depending on how they were created and handled by unity) - but anyway - you’ll get nice model :wink:

NOTE: i did this in current build - if something is absent in 2.6 - ping me