Normal Tools

2 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.

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.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.
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'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.