Vertex Normal Toolkit

3 votes
Date Updated: 




This script can generate, manipulate and align vertex normals.

Everything is based on layer system.
It has 3 different generation algorithms:

  • topology based
  • using projection gizmo
  • projection normals from other mesh ( transfer normals )

Every mesh can be divided into up to 7 layers and each 'normal' layer can be calculated independently.

version history:

ver 1.20

-- it is possible to take projection gizmo and use it as regular projection mesh.
To make it right click on gizmo selector while setup ( tools ) button is active.
This way you can generate normals for one area using more than one projection mesh
combined as single object. Less layers are needed this way.

-- fixed bug where there was no any subobject level selection active and script was trying to assign it anyway from variable

-- fixed bug where mesh has more than one material applied (multimaterial) and selected
polygon was assigned to any layer. From this point entire mesh had first material from multimaterial applied.

ver 1.10

- assignment faces selection to layer has been improved. Now its ~ 60% ( 1,4 sec to 0.45 sec ) faster than before with no lag in between.
- now it is much easier to calculate normals for round and concave areas:
- plane projection gizmo can be bend with negative degree so its range is from -360 to 360 degree. See second screenshot attached below.


ver 1.05

- fixed normals direction when generation gizmo is set to plane and length bend angle is 0 ( angle bend upper spinner )
while width bend angle ( angle bend lower spinner ) is greater than 0, normals are generated incorrectly.

- fixed when changed material id on polygon ( when mesh is not in preview mode ) was lost when "preview layers"
button was pressed. If polygon id was changed when mesh was not picked by script all settings are preserved.

ver 1.03

 - fixed incorrect length of arrow helper for plane gizmo
 - when first bend angle of plane gizmo was set at zero degree and second was higher than 180 degree
preview arrow helpers had an incorrect direction. It had an impact on preview of those arrows as well as
final direction of generated normals using those settings.

ver 1.01

 - fixed crash where after generating normals using "GENERATE NORMALS" button
 - selected projection mesh has been deleted and normals were generated again
using the same button

ver 1.0 - initial release 

known issues :
edit mesh and editable mesh are a 100% blockers when used with this script.
workaround for this is to use edit mesh / editable mesh at the very end and use it on a copy of non instantiated object.

Version Requirement: 
works on 3ds max 2012+, probably will work on 2009 too
Video URL: 


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
BrettJensen's picture

Nice post.

I visited this page many times but I could not get required custom writing online tips which are a very disappointing thing for me. I need you to consider this.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.