[Addon] Recalc Vertex Normals

Great addon,

I have just started using it to correctly shade my lowpolys… How it would be your workaround to solve the following problem?:



I want a vertex normal to move only in Z so that it matches the shadowing in the central part (the “cylinder”).
How would you do it?

Thanks in advance

Its sadly a pretty complicated operation :frowning:

Select the object, save normals, go into editmode and select the vertex with the normal to be copied.
Leave editmode, reload normals, copy normal, go to editmode and select target vertex.
Leave editmode, reload normals, paste normal, save normals.
Repeat …

If you turn on autosave you can omit the save operations.

Currently I’m trying to implement an autoreload normals function to the addon,
so if I succed, the procedure should be lot more comfortable.

I have seen that when using the “XYZ angles”, it updates the three angles even if you edit just one of them. I think it’s not much logical, may confuse the user and, why not, if they update individually it would solve the problem I exposed in my previous post (because if I just edit the Z value it will directly end where I want it to point).
But maybe the problem is that it’s not possible to update them individually…

wow this is a very old problem in blender which needed attention… cant believe its been more than 7 years, and blender still havent implemented vertex normal editing. Kudos to you sir.At least you’re making an effort with a solution.

I wish Campbell would come to this thread and join in the discussion ; I’m sure he’s more than capable implementing this feature. The studio i work for uses smoothing groups extensively and I know the benefits of it, and how it can make a difference.

Blender developer community please hear us; calculation of vertex normals and shared vertex info is not so computation sensitive anymore; its 2013. Please implement this; we will support you…

+1000
Game development needs this kind of features to correctly shade the models…

There is a problem; the addon works but it doesnt update the normals in viewport.If you switch between GLSL view and Multitexture view it sometimes updates.Anybody know how to fix this ? Thanks. By the way the version is official 2.66.1

I have seen that when using the “XYZ angles”, it updates the three angles even if you edit just one of them. I think it’s not much logical, may confuse the user and, why not, if they update individually it would solve the problem I exposed in my previous post (because if I just edit the Z value it will directly end where I want it to point).
But maybe the problem is that it’s not possible to update them individually…

The XYZ angles aren’t angles at all, it’s a vector and the normals align to it. The degrees were misleading.

To remove an edge like in the capsule example you can copy the normals from each vertex of the lover edgeloop
to each vertex of the upeer edgeloop, there is no other way at the moment.

There is a problem; the addon works but it doesnt update the normals in viewport.If you switch between GLSL view and Multitexture view it sometimes updates.Anybody know how to fix this ?

Which normals don’t update? The normals which are drawn by the addon or those that are drawn by Blender in editmode?
The normals drawn by the addon should update properly.

I’ve added an autoreload button to the addon, so it’s possible to work completly in editmode when autosave and autoreload are toggled.

hi adsn ; Its the addon normals that dont update on the viewport.When i render the normals render fine.here’s a screenshot.


Fantastic add on well done adsn, editing normal vector is crucial to get billboard tree and foliage the perfect look!

@yii7:

With the recent version of the addon blender shows the addons generated normals only in object mode.
The best way is having autosave and autoreload on, so you can always tab to object mode for visual control
without loosing the edited normals.

Sadly I can’t figure out a way to fix this properly…

adsn : Ok i understand its only editable in object mode however what i meant that it doesnt update the shading of the normals in solid view or textured view.It only updates the shading of the edited normals if you click “shade smooth” from the tool shelf in object mode.

So each time you make a change you have to go and press shade smooth to see the update on the viewport. Its unfortunate that this cant be updated on realtime. :frowning:

By the way i think people need to support this thread and inform the devs of this development achieved by adsn. With the coming of GSOC (Google summer of code) i think this is a important feature which all of the 3d packages (including milkshape 3d) have except Blender.It is really embarressing that this feature is lacking.Because we still need more functionality like editing multiple vertex normals without spliting the vertex to 2 and normalization tools and fast smoothing groups selection and assignment.

Agree, so, how can we inform Blender coders?

This is info from www.blender.org

" You can contact us via our developers mailing list

http://projects.blender.org/mailman/listinfo/bf-committers

Or via IRC

irc.freenode.net #blendercoders

You can also use our wiki.blender.org, your private page, to write down proposal drafts for discussions.

For matters you prefer to discuss more in private, mail Ton Roosendaal: ton at blender.org."

Thanks yll7, I surely will =)

First, thanks for your hard work on this. I just discovered your add-on and have yet to try it. But it seems it goes in the right direction.

I would really love to see something like this implemented into Blender by default.
Most of the people here get excited about all that Cycles eyecandy, but stuff that is really needed (like proper vertex normal editing and exporting) is overlooked since years.

I’m willing to donate $50 or more, if we can get that into Blender natively and in a proper way. Maybe we should open a fund to pay a coder for that?

Agreed ! I’m a gold member for “Blender Development Fund” but I will try to help if the project is some how organized with development targets and fully functional tools for editing normals / creating smoothing groups.

But it should be noted that its ridiculous to support projects which are remade from scratch.What i mean by that is it shouldn’t end up like “calipher” add-on.

The “Calipher” add-on was basically a ruler for measuring point in 3d space.The community gathered around $1100 before it was released.Now in 2.67 Campbell developed a better measuring tool (which calculates angles and has multiple rulers and has snap options ) which is in the trunk by default. All that funding and time is wasted,not to mention the other developers work.

Now we know Blender Devs can do this, and we know they should have done this (a long time ago).The question is shouldn’t we at least try to talk and reason with the Devs before wasting time and resources ?

Good point.
So someone should talk to the official Blender devs, or Ton first, before we take any action.
I mean, that is really desperately needed. Mostly for people that work professionally with Blender. And thus people who willing to donate back to the BF. So it should be in Ton’s own interest. A lot more game artists would use Blender if we had vertex normals editing and proper smoothing groups export.

He doesn’t need to take that money from the official development fund, if we can raise a certain amount for this task.

Any ideas how to proceed? I’m not that good at organizing such things but I have a strong interest to keep this alive and push it even further with a financial support.

I wholeheartedly agree with the community’s sentiment here: both for game dev, as well as product/design/architectural/cad rendering this is absolutely essential and actually prevents adaption by a slew of people - it really IS a show stopper for this type of work.

It is the one thing I totally not get: why is this still an issue for the Blender Foundation? WHY ON EARTH would someone NOT want vertex normal editing?!? If this is an issue for them, why not merely add a preference that turns this on or off depending on your workflow?

More crucially: even with generous users who do offer their time and effort to try to create a solution, this is not even conveniently an option with Blender’s current hard-wired approach to vertex normal recalculation.

Truly maddening.

I hope this will be solved for once and for all in the upcoming months. Here’s hoping :slight_smile: I’d be willing to invest some spare change in this.

David : Thanks! Yeah this is just the case. I use blender daily on a studio which is dominated by 3dsMax, we have artists with Xsi , Maya and Modo background.Yet the choice was made and the current pipeline cant be changed.So everybody uses max in the studio.Yet everybody complains at the random crashes, unforeseen limitations, slow processing and not to mention financial strain of yearly subscriptions.

I managed to convince my employers to use blender , because of its versatility and incredible usability.However I cant even export an obj file without splitting vertices on different face normals (edge split modifier) and i dont have the face to request our lead graphics programmer working overtime to write a add-on to a 3d software which its API is unfamiliar to him. :frowning:

Herbert123 : yes herbert from what is seems Blenders logic bricks seem to break down and fall when it comes to normal calculations.Im not a coder but from my point of view this can only be solved with a modifier. Like in max; theres the “edit normals” modifier which lets you do complex normal editing /splinting which is independent of smoothing groups.The problem with blender is (like you pointed out ) recalculation of normals on edit mode.

The problem is more complex than we make it to be unfortunately.The joint vertex and multiple normals per vertex effects every aspect of blender. Shading,Weight painting, edge crease,sharp edges,edge bevel weights,bmesh operations,sculpting ,blender internal,cycles etc etc. im sure there are more which i didn’t thought of.

So it is a huge task , I say maybe fit for a GSOC project. But what I really would like to show Ton and Campbell is that as long as this is postponed it will diminish the future of blender, its a chocking point which creates a loop hole making the new comers and veterans lose their enthusiasm and lean towards other tools for managing smoothing groups. With the lack of proper FBX import its a game breaker. :frowning:

Agree with all you’ve said.

It’s indeed not an easy task, as more as I think about that.

Right now, coder can apply for the upcoming GSOC. Would be the perfect time to bring that to the table with our arguments.

And sorry for derailing this wonderful thread. Maybe we should open a new one for that and see if we can find a coder, or support from the official side of Blender.