Normal Tools

3 votes
Date Updated: 
Author Name: 
Shawn Olson

Wall Worm's Normal Tools make it easier to work with Normals inside Max. The tools fill the gap with some of the limitations with the current Edit Normals modifier included in 3ds Max.

The Normal Tools give you several way to set the Normals via type in values, using a tape helper for a vector, or pointing normal at a target.

As of Version 1.43, when the normal tools add or work with an existing Edit Normals modifier, it will add a new rollout to that Edit Normals modifier that has access to several of the Normal Tools functions, such as selecting normal by element, selecting border normal, and setting normal from object pivot or center, among other settings. This means that the modifier contains most functions and doesn't need the Normal Tools floater to use those functions.

Note that the compatibility was previously listed as Max 2008+. However, recently there are reports that it is not working in Max 2009. Because of this, I've updated the compatibility to 3ds Max 2012+ as that was the oldest version with confirmed compatibility.

Additional Info: 

normal tools for 3ds Max

Selection Functions

Selecting normals belonging to an Element or Border is made simpler with the selection functions.

Auto Align at Object Level

Quickly aligning normals out from the center or out from the pivot is easy. This can be helpful for several types of foliage geometry. There are also similar functions that work on the per-element level.

Installation and Updating

The instructions for installing Normal Tools comes with the download. But as of version 1.4+, you must always execute the LaunchNormals.mcr file (that comes in the download) via the MAXScript > Run Script... each time you update Normal Tools to a new version. If you do not do this, several of the functions will not work.

Version 1.51

  • Updated the code to fix some button event handlers that were causing the MAXScript to not properly run in some older versions of Max that did not support event blocks inside of Group UI blocks.

Version 1.5

  • Added new Out From Normal Selection Center function in the Normal Tools custom attribute. This function well set the out from point to the center of the currently selected normals. This function was added to the Edit Normals custom attribute but not the global Normal Tools floater.
  • Added new Out From Selection Center for the Face Normals functions in the Normal Tools floater. This will flip normals of selected faces that are pointing towards the selected faces' center. This function converts objects to Editable Poly and is not part of the standard Edit Normal tools in the Normal Tools.
  • Updated the Stitch Colocated Normals to work faster.
  • Added Unify checkbox for stitch functions. When on, replicated the Unify function in the main Edit Normals modifier except it will filter results based on the Apply To option as well as the Skip Explicit Option. The unify option is on by default.

Version 1.49 (updated with a Macroscript fix on 3-8-17 without a version # update)

  • Added new setting to automatically apply the Normal Tools custom attribute to any Edit Normals modifier added in the scene. This function can be turned on/off in the Normal Tools floater.
  • Updated the Normal Tools Custom Attribute to use an AttribID to reduce file size and make it easier to get updated functions in the custom attributes as the Normal Tools are updated.
  • Updated button functions in the Normal Tools custom attribute to check and see if the Normal Tools are installed before trying to run a function or macroscript. This removed MAXScript errors when sharing files with those who do not have the Normal Tools installed.
  • Added new Manual group of functions to manually set the normals in the Normal Tools custom attribute.
  • Added new setting in custom attribute that allows controlling whether the selection functions will replace the current selection, append to current selection or remove from the current selection.
  • Changed default Apply To setting to All Normals.

Version 1.48

  • Added Four new MacroScripts to flip Face Normals based on whether they are facing the object's Pivot Point or Center, and alternate functions to limit the function to the current face selection.
  • Added two new buttons in Normal Tools UI to run the new Macros. Right-click will use the Face Selection filter.

Version 1.47

  • Added new Pivot Node button into main Normal Tools UI and into the Normal Tools custom attribute. Allows setting arbitrary origin of normal vectors.
  • Added Undo to some functions that did not have it.
  • Added Pivot Offset settings in the Normal Tools rollout of an Edit Normals modifier.
  • Updated global Normal Tools UI to save last Normal Selection Apply-To state.

Version 1.45

  • Added ability to select Normals based on the face Smoothing Groups and the Face Material IDs.
  • Added buttons to select normals based on being Explicit or Not.

Version 1.44

  • Added new Stitch stitch threshhold setting in the Stitch tools (both in the Normal Tools floater and in the Edit Normals custom attribute).

Version 1.43

  • Added new Stitch function to average normals from colocated vertices.
  • Added new custom attribute that gets added to any Edit Normals modifier when using the Normal Tools. The custom attribute includes many functions found in the Normal Tools floater.
  • Converted several of the functions to Macroscripts so that you can bind them to keyboard shortcuts.

Version 1.42

  • Fixed bug with randomizing the normals.

Version 1.41

  • Fixed bug with picking normals from face.
  • Updated the Edit Normals modifier detection to do a class lookup instead of a modifier stack name lookup. This stops the tool from creating a new Edit Normals modifier on objects when the Edit Normals modifier was renamed.
  • Added last-scroll position to UI preferences.

Version 1.4

  • Added five new functions for aligning normals based on elements: Element Pivot Out, Element Base Out and Element Bottom Out, Element Vert Nearest Pivot Out and Element Vert Nearest Center Out.
  • Added new button to select all normals in same elements as currently selected normals.
  • Added three new Macroscripts: Select Element Normals, Select Border Normals and Select Border Normals from Selection.
  • Changed Normal Tools floater to require the new Macroscripts to be installed.

Version 1.3

  • Added a Randomize function to randomly deviate the normals.

Version 1.2

  • Added two new functions: Out from Pivot and Out from Center.

Version 1.1

  • Fixed bug where normals were not set correctly if the modified objects were not aligned to the world.
  • Added Face Center to Normal button that will set all normals to a vector defined by the face center and the vertex. Works best on normals that are not Unified (Break normal).

Version 1.0 - Initial Release

Version Requirement: 
Video URL: 


Comment viewing options

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

Great stuff!

question: can I point my normals to a location or target?
Tried the "from helper" but there is only an option to make the normals point away from this helper, not towards.
Also no way to target the normals from the pivot inward.

apologies if this is possible, I read the documentation but I might have missed it.

btw: Couldnt purchase due to json error in chrome, worked in firefox.

gulliwog's picture

Great Tool!

After reading this very interesting thread in the Polycount forums:

- google search "polycount explanation custom vertex normals" (link blocked) -

I realized the importance of being able to quickly and easily edit the normals manually on my models, however with the Edit Normal modifier quick is not always possible.

The WallWorm Normal Tools are great because they allow you to quickly and easily select and align groups of normals by either worldspace vector or a variety of fixed points (pivot, element center etc.) and as a result speeding up the process enormously.

A must for anyone who regularly uses Edit Normals on their models!

lightcube's picture

Thank you for that kind

Thank you for that kind comment.

There was an update to the tools today that should add even more value.


Shawn Olson

Developer of Wall Worm

Blackant Master Studio's picture

Worm Normal

Really amazing script !
it helps a lot to correct bugs from importing mesh that can be there sometimes, and cannot be solved by smoothgroups.

i recommand it !

Comment viewing options

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