it’s been a long time since my last post on this forum. I prepared simple addon with operator for recalculation of normals by principle of “Weighted Normals” similar to one that Maya has.
Operator can be used on any mesh object, auto smooth and properties needed for it, will be set upon execution.
oh my good!, dude this is so amazing, been trying to do this for a while, this type of normals work sooooo much better for game models with normals maps.
Could someone explain me what does this addon does and which are the major uses in the modelling pipeline? I remember reading about face wighted normals some time ago, but wasn’t very clear then,and since Blender had no script i did not care about it. Thx.
@mzprox: Well Blender by default calculates normals as average of faces normals shared with the vertex. Instead of average, by weighted normals the amount of donated face normal is calculated by it’s area. So bigger faces will donate more of it’s normal to vertex then smaller faces.
Thanks for the explanation. So if I get it right using this script on a low poly before normal map bake could result in cleaner normal map. I assume these modified normals are exported with the fbx format, right?
Btw I was testing it, extruding some sides of a beweled cube, adding edgeloops to it etc, and getting some weird results in shading which stays even after I put on an edgesplit modifier to make the edges hard)
@mzprox: That is correct. This script is operator, so it’s one time action only. This means if you change the mesh itself after you use weighted normals you should use it again to recalculate split normals
I am experiencing crashing when I bake normal after running the weighted normal add-on. Steps:selecting low poly mesh>run weighted normal>cycles bake normal, selective to active with cage. Only way I can restore baking is to clear custom split normal data on low poly.
After more testing it seems the cage must also have the weighted normal applied prior to bake. Everything works then. Bake does appear to give better results. Thanks!
The script linked in the body of the OP is the most recent, and the additional code is support for sharp edges. The script included as an attachment is the previous version. But you have probably figured that out by now.
hi, im getting error
File"C:…\weighted_normals.py", line 148, in execute curr_n = calc_weighted_normal(bm, curr_loop.vert.index, e_i)
NameError: name ‘calc_weighted_normal’ is not defined
this is an amazing addon! 1 click and it does a super cool result!
just geussing if it is possible to achive a result like this in the picture, thanks!
on the left is what I got with your addon, on the righet is what I got with the blend4webaddon.