0
$\begingroup$

I have been using a super powerful script in maya created by Etienne Nadeau called the Normal Toolkit. Basically it allows you to pick out your chamfers manually and run the script on your mesh to weight the normals based on said selections. There is also a second set for 'fillets' which are bevels with more than one side, here is the documentation :

https://gentools.etiennenadeau.com/docs/normaltoolkit-overview/

My question is does anything like this exist in blender? I am aware of the weighted normal modifier but its simply not good enough for complex models that may have fillets crossing each other. I have used a proprietary tool where you could select up to 4 selection sets and weight the normals according to those for complex cases too which was really nice.

I've been looking around and there doesn't really seem to be a 'manual' process for this, and everyone is using super basic examples for the modifier where in reality this would almost never be useful on its own.

This is the sort of logic I am currently used to while working with a tool at my job :

enter image description here enter image description here enter image description here

Maybe I am misunderstanding something but making selections like these using vertex groups is not possible as the single chamfers share verteces and are therefore considered part of the same 'set' and are therefore ignored when setting up a vertex group.

See here :

enter image description here enter image description here

Anyway I took the mesh in question and added the blender weighted normal to it and played with the settings, the closest i can get is just using the defaults but its still incorrect. I took the mesh into maya for comparison of the shading result :

enter image description here

Thanks in advance for any tips or suggestions.

$\endgroup$
4
  • $\begingroup$ Thank you for adding more pics. I'm still confused why you would need to use different groups. I think the workflow in 3ds max is different and you shouldn't try to replicate it in blender. Usually you need only one weighted normal modifier and place sharp edges where you want to separate the "groups". Again I might be wrong, if that's the case could you show us how using one weighted normal modifier is not working in your case. I'll edit my answer an try to be more clear $\endgroup$
    – Alex
    Nov 27, 2022 at 0:38
  • $\begingroup$ I've added the result shading comparison. It does not matter what settings I use on the weighted normal modifier as while one area might be fixed another will break, I just don't see the modifier as a 'one size fits all' solution and so that is why I ask if there is a way to assign face areas in a manual way as I am used to. If not that I suppose this will need to be a custom script/addon in blender too. $\endgroup$
    – AlexTSK
    Nov 27, 2022 at 11:07
  • $\begingroup$ I've just edited my answer, I think this is pretty much what you're looking for. Let me know if that's not the case $\endgroup$
    – Alex
    Nov 27, 2022 at 14:47
  • $\begingroup$ Thanks, yeah I have tried this, it still doesn't give me the same results so I think I will just have to give up for the time being and consider it as 'good enough' and perhaps fix some of the errors by hand. Perhaps there is another method I am unaware of but I think I'll need a custom addon to do exactly what I want. $\endgroup$
    – AlexTSK
    Nov 27, 2022 at 16:10

1 Answer 1

0
$\begingroup$

Have you tried using a vertex group which you put in the weighted normal modifier? That said, I'm not sure of what exactly is the issue with using the modifier alone. Usually all you need to is to place sharp edges to control the modifier's influence. concerning the script you sent, you can also use the transfer data modifier to transfer the normals of an object to another

Edit: You can separate your models into multiple "groups" that can then be controled with the weighted normal modifier.

The default shortcut to acces the menu is ALT + N. Then go to the set face strenght submenu

enter image description here

Also make sure the face influence in enabled in the weighted normal modifier

enter image description here

I've also foud this tutorial that explains all this more in detail https://www.youtube.com/watch?v=kexR7Eudvto

$\endgroup$
3
  • $\begingroup$ I have tried vertex groups but they are useless for this workflow as they cannot store face data but instead store verteces. And when you have a single chamfer as shows in the images it cannot differentiate between them and just ends up storing any face data shared by the vertex group. Ideally the 'face maps' could be used but there is no option in the weighted normals modifier to use face maps, only vertex groups. $\endgroup$
    – AlexTSK
    Nov 26, 2022 at 21:30
  • $\begingroup$ would you be able to update your post with screenshots from blender or a blender file that is having the problem you're facing? @AlexTSK $\endgroup$
    – Alex
    Nov 26, 2022 at 21:50
  • $\begingroup$ Sure thing , I updated the original post with some screenshots of the current logic that I am used to. $\endgroup$
    – AlexTSK
    Nov 26, 2022 at 23:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .