A Maxscript to project vertex normals from one mesh to another.
So here it is
https://dl.dropboxusercontent.com/u/13762052/polycount/NoorsNormalThief.ms
I've found out there was room to optimize SlideNormalThief.
On my PC,
SNT is faster for source object<1000 verts (0,5 sec vs 1sec)
For a 2500 vert source object : SNT 8s, mine 1,5 sec
For a 150k vert (CAD object), mine took 25 minutes while SNT took all night and failed (which is the reason why i made this).
edit : realised i've ran tests with an already optimized SNT. The speed difference is bigger with original.
Also, i disable windows refresh during execution, which gives a bit gain of time.
Counterpart is, at the end, max needs to be refreshed manually (minimize, maximize window).Didn't find a way to refresh UI through mxs.
This behavior could be removed by removing both windows.sendmessage lines in my script.
Replies
Have you tried forceCompleteRedraw() inserted right after the last windows.sendmessage? Having a hard time reproing the need to refresh the uis to know if this fixes the issue or not because it only messes up ui on first run for me. I figured this command would only work in 3d viewports, not ui, but maybe.
In case it wasn't already on your roadmap I suggest a "if classof objmesh != editable_poly then messagebox "Convert target mesh to Editable Poly first" else......" to protect from script error.
Yeah it refreshes only the viewport, and i think i already perform that when updating the object.
You'll get artefacts if you start to move some window around while executing.
Yeah, i'll make a little protection for non valid objects. I'll adapt the script to make it usable with mesh too. It's nothing much.
edit : updated script with more protections and mesh support. I now force the UI to refresh.
@Noors you wouldn't happen to still have this, would you?
Ah man, sorry i didn't connect for a while.
It's on scriptspot :
http://www.scriptspot.com/3ds-max/scripts/noors-normal-thief
Tell me if you have issues with it.
http://wiki.polycount.com/wiki/VertexNormal#Noors_Normal_Thief_MAXScript