I need normals of border vertices on object A to match normals of vertices in same coordinates of object B, basically to fix the seam without affecting object B.
Tried noors normal thief and it does almost that, except there is still a small split that prevents smooth shading. Interestingly enough is that in-house tool produce same result with small normals deviation. Is there other ways to do this or maybe there is something about the mesh itself I need to check/change for scripts to work precisely?
Both objects are editable poly.
Replies
you could try adding an edit normal modifer to both objects
select the normals on both side of the seam
then use average selected
Unfortunately I can't - not allowed to modify object B.
If it's not a metric ton of verts you need to match you can do what Klunk said, select both objects, add an edit normal modifier but now instead just copy value and paste value from one normal to the other. It'll not be the best way if you need to do this a lot, since it only works by doing one vert at a time
Thanks. As a last resort it will do, hopefully will only have to do this in problematic areas where lightmap artefacts occur.
quick and dirty script, you'll need to edit the last line and then press ctrl-e
now you see it
added a basic interface
Takes a long time to process, but is totally worth the wait. Does exactly what I need. Thank you!
One question though. Can understand what code does in general, but not why. Why does it use mapping channel?
there are other ways to do it, storing the edge normals in an array would have been a better way to go but it was really just a cut and paste script I had code that worked that way. In general keeping normals in a mapping channels work well with scripting as you don't need the object selected and to be in the Modify Panel to work on them as with the Edit_Normals modifier.
quick note, another reason to use a map channel to store custom normals is that they are not lost when a modifier is applied, though specified normals can travel down the modifer pipeline most modifiers do not bother to implement it so they are lost where as map channels will travel unchanged and universally through the pipeline. This is true for both sdk and scripting.
another quick note most mesh attachment doesn't preserve specified normals but does preserve map channels.