Enabling "Smooth to Adjacent" in 3DS Max 2016's Chamfer modifier gives you perfect face weighted normals (1), however, adding any modifier on top or exporting to fbx breaks it and smooths only the chamfers (2). Collapsing the stack smooths the whole object (3).
Has anyone found a solution for this? Using a plugin is fine but this allows you to selectively chamfer edges and handles hard edges without any extra work.
Replies
I just tested this on 2018.1 and am having the same problems. Collapse to editable poly is fine, and maintains the normals. However, if I add an edit poly/edit normals/turn to poly/etc, the normals break. If I export to .fbx all the normals automatically average themselves to 1 smoothing group as soon as the file saves? The normals are definitely not being baked. It is strange indeed.
Edit: imported to S Painter. Normals not preserved.
Swordslayer
Thanks for testing in 2018. That's a solution I'll consider.
musashidan
Thanks for the link. I actually currently use the same script ^.^ I only have to do a little extra work if I want some edges flat (for optimization purposes) and untouched by the script because I can't always get the chamfer modifier to do the smoothing groups correctly. Interesting that adding an edit normal modifier gives you different results than Swordslayer.
This feature is so close to working, it's very frustrating! I'll keep on with ByteHazard's script.
there was a really speedy script for that popular here on the forums. it's been a while with max for me but this might have been called 'noors normal thief'.
Great, hopefully it's a simple bug.
thomasp
That's a good idea but noors doesn't seem to get the correct normals, it transfers fully smoothed normals (as if I had collapsed the source object). Thanks!
I didn't find a way to access the correct values through maxscript. I can only get the "default" normals, those you get if you add a modifier or whatever.
But as it somehow exports correctly as .obj, a dirty workaround is to export/import.
On the imported object, you can apply an edit normals modifier and copy/paste it over the stack of your original object.
And it seems to be fixed on later versions so...