Edit product


Vertex Normal Toolkit for 3ds Max

Vertex Normal Toolkit. Script for 3ds Max 2012 - 2020 which can edit vertex normals.

It calculates normals based on: topology, using projection gizmo and can project normals from other mesh. Everything is based on layer system.

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

This script supports any topology and any chamfer type including quad chamfer with unlimited subdivisions.

To see it how it works click here:


to see how it looks like, you may download some examples here:


If you are unsure if this script will serve you well with your meshes, you can send me some example to try it out. I will gladly test it for you for free and send back :)

This script is provided "as is" which means I take no responsibility whatsoever for any damage this script may cause. But because it was tested on people, I don't think it will cause any problems :)

Still I would like to encourage you to make first tests on copies of your meshes / scenes... just in case :)

If you think this script lacks some cool features let me know, I'm open for ideas :)

You can use this script in all your commercial products without any time limit.
All updates are free forever.

Script is not encoded into mse.

You may not publish any fragments ( or whole ) of code anywhere.

To install it, as usual, drag and drop mzp file into viewport and all will be correctly setup. Restart 3DS Max is not required because all scripts will be run at least once, all icons will be refreshed and new macro will be ready to be added to any toolbar.
Macro button can be found under SCG TOOLS category.
This zip file contains two files:
mzp is to make first installation or to make an update of existing files.

second file is 'raw' script file and it will NOT work as standalone file.
Use it only if you made a custom installation and want to make an update manually.

ver 1.22

generating normals from gizmo supports hard edges between layers
generating normals from projection supports hard edges between layers
generating normals using topology where faces are sorted by area and normals are calculated form smallest to biggest faces
this version does not contain a separate vnt.ms file in zip as it is not backwards compatible with the rest of the files.

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 bent with negative degree so its range is from -360 to 360 degree.


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 state

Contact info:


polycount topic:

This script contains part of great script written by Martijn Buijs.

"My' version of this script has been  improved ( it is ~3x faster than the original ) and half of it was removed due to optimization.

Original code is available here :


Optimized version is here :


You've purchased this product

See it in your library

View in Library
Sorry, this item is not available in your location.
Sold out, please go back and pick another option.

0 ratings

  • You will get AAA nurbs shading quality for polygonal meshes.


Vertex Normal Toolkit for 3ds Max

Enter your info to complete your purchase of licence for 1 to 5 seats


···· ···· ···· 4242
Test card



Use a different card?


pp paypal

or pay with

We do not keep any of your sensitive credit card information on file with us unless you ask us to after this purchase is complete.

or pay with

You'll be charged US$20.

Your purchase was successful!

We charged your card and sent you a receipt

    Gumroad Library

    Download from the App Store or text yourself a link to the app

    Thank you ! I appreciate your purchase.

    If you will encounter any problems with VNT, or you will ( of course not ! :D ) stuck on some asset or result is just way too far from expected output, please let me know. I will gladly help you as much as I can.

    If VNT will meet your expectations please rate it with 5 stars.

    However if there is something which makes your eyebrows higher than usual let me know ;)

    Thank You and have fun ! :)

    All the Best



    Good news! Since you already have a Gumroad account, it's also been added to your library.

    Powered by Gumroad