Home Technical Talk

3DS Max Custom Normals Tool

Hey Polycounters !

I recently made a new tool for the "face weighted" normals workflow in 3DS Max:
https://youtu.be/yzfgRYphbJs



A fast and non-destructive solution for real time hard surface modelling using chamfers and custom vertex normals.
This is a very versatile tool that will greatly help you dealing with "medium poly" workflow.
Using chamfer modifier allows you to focus on the main shapes only and gives you a real time preview of the final render.
Once you're done you calculate the normals in 1 click, It makes the iteration process very fast.
If you collapse the chamfer modifier, or don't use it at all, you can still calculate the normals with a "face weighted" approach or based on custom polygon selection.

Here is a Features overview / Tutorial video.
You can find the tool on Gumroad
And on ArtStation

Key features:

  • Non-destructive
  • Everything works on any modifier stack
  • Calculate normals from Chamfer modifiers in 1 click (very high accuracy)
  • Calculate normals based on face area weight (face weithed normals)
  • Calculate normals using custom polygon selections

Installation:

To install drop the .mzp file in the viewport (or click Scripting -> Run Script -> and select the .mzp file)

Then click Customize -> Customize User Interface -> Click on the Toolbars tab -> Select the N00BY category -> Drag and drop Custom Normals Tool from the list to the toolbar.

Notice: you can move the button in the toolbar using ALT + drag.


Disclaimer:

Since the chamfer modifier was first implemented in 3ds Max 2015 you can't use "Apply Chamfer" and the other functions based on chamfer modifier in any version before 3ds Max 2015.

The rest of the script should run fine though.

This tool was tested in 3DS Max 2014, 2015, 2016, 2017, 2018, 2019 and 2020 on a Windows 64 bit machine.


Special Thanks To:

Jack Kirkham, Josh Van Zuylen, Luan Vetoreti, Johann Bailleul and Wai-Hung Wan for the awesome feedback :)


Update 14/05/2019, Version 1.1:

- Made compatible with 3DS Max 2015.

- Fixed the bug that crash the Chamfer Unit rollout when clicking twice the same unit.

- Added the possibility to force ignore the chamfer modifier by pressing CTRL. It works on Faces By Weight and Compute Normals buttons.

So you can select faces by weight and calculate the normals based on face area weight instead of chamfer modifier even when you have a chamfer modifier in the stack, it's sometimes useful.


Update 03/11/2019, Version 1.2:

- Now handle curves way better (chamfers with more than one segment): flat surfaces adjacent to the curves now have their normals perpendicular when clicking "Compute normals". Make sure the chamfer modifier with one segment is on top.

- Select faces by weight improved when using chamfer modifiers: now select flat surfaces only , hold CTRL to select flat surfaces and curves.

- Now update chamfer options of the selected objects when changing the radio buttons and holding CTRL or SHIFT (All edges, Unsmoothed, Selected).

- No longer remove poly select modifier from stack after clicking "Compute selected faces".

- Undoing after changing chamfer size in the tool no longer require pressing CTRL + Z multiple times.

- Fixed button text for "Compute selected faces", "Poly select" and "Faces by weight" in 3DS Max 2017.


Replies

  • Millenia
    Offline / Send Message
    Millenia polycount sponsor
    Been loving this tool but was wondering; recently upgraded to Max 2020.2 and it doesn't seem to work now. Every time I launch the utility it flashes briefly and closes instantly. Would you be able to take a look? Cheers.
  • coven
    Offline / Send Message
    coven polycounter lvl 6
    Do you still have issues with normals not looking correct when exported with a chamfer modifier in 2020.2?
  • n00byzor
    Hi,

    @MilleniaGlad to hear you love the tool :)
    I've tested it in Max 2020.2 it works on my side.  Your issue sounds like the utility window is trying to spawn off screen, it can happen if you have recently changed your monitors placement or resolution.
    Try this: Close Max, open the file Custom_Normals_Tool_Settings.ini located in
    C:\Users\[Your Name]\AppData\Local\Autodesk\3dsMax\2020 - 64bit\ENU\scripts\N00BY_Scripts
    set DialogPositionCustomNormalsTool=[0,0] and hit CTRL + S.
    Then start Max and try launching the tool, the utility window should spawn at the top left corner of the screen.
    Hope it will fix it.

    @covenI've tested it in Max 2020.2 and I'm not getting issues.
    Can you give more info about the issue you're having so I can try to fix it please ? Like what modifier stack you have on your mesh in Max, what format you use, etc..
    Any screenshot would help a lot.

    Cheers.

  • kary
    Offline / Send Message
    kary polycounter lvl 18
    coven said:
    Do you still have issues with normals not looking correct when exported with a chamfer modifier in 2020.2?
    @coven
     AFAICT the chamfer modifier still doesn't have a 0 segment chamfer?  That'd affect the usefulness for medium poly work.
  • coven
    Offline / Send Message
    coven polycounter lvl 6
    @kary yes you are correct. The only mitering type that currently supports 0 segments is the Tri mode.
  • n00byzor
    @kary @coven Ok I think you're talking about quad chamfer, right ?
    You don't need it, just use the standard chamfer, the point of the medium poly workflow is to have 1 segment chamfer and custom vertex normals to have a nice smoothing on the edges.
  • kary
    Offline / Send Message
    kary polycounter lvl 18
    n00byzor said:
    @kary @coven Ok I think you're talking about quad chamfer, right ?
    You don't need it, just use the standard chamfer, the point of the medium poly workflow is to have 1 segment chamfer and custom vertex normals to have a nice smoothing on the edges.
    @coven and co. have done a lot to make the 2020 chamfer modifier pretty awesome.  FWN export out from it correctly and it has a lot of control on the chamfers.  Unfortunately a lot of the cool stuff has a segment on the chamfer, reduces the usefulness a fair bit.  

  • Millenia
    Offline / Send Message
    Millenia polycount sponsor
    n00byzor said:
    Hi,

    @MilleniaGlad to hear you love the tool :)
    I've tested it in Max 2020.2 it works on my side.  Your issue sounds like the utility window is trying to spawn off screen, it can happen if you have recently changed your monitors placement or resolution.
    Try this: Close Max, open the file Custom_Normals_Tool_Settings.ini located in
    C:\Users\[Your Name]\AppData\Local\Autodesk\3dsMax\2020 - 64bit\ENU\scripts\N00BY_Scripts
    set DialogPositionCustomNormalsTool=[0,0] and hit CTRL + S.
    Then start Max and try launching the tool, the utility window should spawn at the top left corner of the screen.
    Hope it will fix it.

    @covenI've tested it in Max 2020.2 and I'm not getting issues.
    Can you give more info about the issue you're having so I can try to fix it please ? Like what modifier stack you have on your mesh in Max, what format you use, etc..
    Any screenshot would help a lot.

    Cheers.

    Cheers mate, that fixed it for me - I'll nab a couple extra copies of the script for my mates for the help :)

    Excellent work with the tool.
  • n00byzor
    Glad I could help mate, and thank you so much for the support :)
    Very glad you like the tool.
    Btw I've just released version 1.2, check it out ;)
  • Stan01
    Offline / Send Message
    Stan01 polycounter lvl 4
    Hi, Im wondering if this tool can help copying normals from another mesh to the one placed on top so there is no visible seam, here is an example of my two meshes with different shading, the one on top is perfectly connected to verts of the other mesh

    https://i.imgur.com/s4xNawO.png
  • cptSwing
    Offline / Send Message
    cptSwing polycounter lvl 11
    ^ this might help: http://www.scriptspot.com/3ds-max/scripts/vertex-normals-stitcher


    @n00byzor Your convincing use of emojis in the video did offset the lack of generic dubstep beats, hence I've bought the script as well. Looking forward to playing with it ;)
Sign In or Register to comment.