Addon: User Normal Translator clone

Hi,

I’m starting a clone of the Softimage plugin called “User Normal Translator”.
The goal of the script is to allow the artists to perform some operations on the custom normals in an easy way.

Right now only the layout has been done so all the logic is pending.
However to do that I will need some extra information because I don’t have Softimage or the plugin itself.
For starting, in the Offset area there are 3 sliders for the vector. In “Add” mode I suppose the slider has a limit (-1,-1). However what’s the limit in the “Multiply” mode?

Meanwhile all I can post is a picture of the layout(WIP):


I’ll post any news here.

1 Like

Little update:

Version 0.9: Not a “release” yet, but I’ve attached the working file here in case someone wants to start doing some tests.


How to use it: Sorry I don’t have time for making a video.
You load this python file in the text editor (in blender) and click on “Run”. Next time you have a mesh object selected and you are in Edit mode you will see a new tab in the tool shelf called “misc”. Go there and you will see the new panel called "User Normal Editor. This panel will work only in edit mode, if you change to object mode it will disappear.
Then you need to do 2 things to be able to use the panel:

  • In the Properties/Data panel, activate “Auto smooth”
  • In the 3D view, in the properties shelf, go to Mesh display and activate the second icon on the Normals section, called “Display vertex-per-face normals as lines”

Optionally could be convenient that the object have Smooth shading (Tools/Edit/Shading/Smooth)

Eventually these 2 steps will be added to the panel as a button, for convenience.

Workflow:
Now you can freely choose the vertices that you want to operate with. (Eventually support for vertex groups will be added). And then click on the button that you want in the panel and it should do something (in some cases).

What is working:
Offset section

  • Offset Add mode should be working fine.
  • Offset Multiply mode need some fixes.
  • Axis, values and numeric buttons should work.
  • Reset is working
  • Absolute value and World space are NOT working
  • Apply is working

Spherize section

  • Everything is working.
  • Also I added 3 new features:
  • you can select any object as center of the effect
  • if the object selector is empty it will take the cursor as the center (could be convenient sometimes if you are working on X,Y or Z views.). - Also a “1.0” button has been added.

Normal Editing tools

  • Normalize is working
  • Invert is working
  • Reset is working (or I think so, I’m not sure what this button is doing in the original panel, I will check it later)
  • Smooth is NOT working
  • Remake is NOT working

Edit values

  • Nothing is working here

Attachments

usernormaltranslator_v090.py.zip (3.54 KB)

1 Like

version 0.9.1
Little feedback focused pre-release:

  • added Auto smooth button
  • added Draw split normals button
  • added Normal Size value
  • Offset/reset applies only to the selected vertices.

Also I detected a new bug/issue. Sometimes the mesh normals for the whole object get “broken” and they go to a flat modes where you can not change anything. I’ll investigate this.

More soon

Attachments

usernormaltranslator_v091.py.zip (3.83 KB)

1 Like

This is absolutely AWESOME news to hear that you are working on this MUCH needed feature for blender. I’ve hoped blender would get a tool similar to that of the one in SoftImage for years now. Thank you, THANK YOU! I hope you choose to see development through, and users like myself and T.K., LightBWK can try to get this accepted into trunk as a core add-on for blender!

I have one far off request (after this core tool is done)… if you happen to have free time… the ability to store a set of normals, and animated through them, say normalized angles, ala shapekeys, would allow for easy driver-based custom normal animation (think one set for viewing the profile of a character, another for the front, etc). I tend to prefer to drive them with my camera’s forward normal… anyhow… just a thought :wink:

Again though, Blender really needs this tool… if you need support, a kickstarter, a donation threshold, whatever, let it be known. :slight_smile:

Hi 3Duaun.
Thanks for the comments.
So basically you want animated custom normals, right? Well, not easy, and not 100% sure it’s even possible. But I think it can be done and yes, I can see that it can be useful for some situations (i.e. rotating camera around the character). So yeah, probably I’ll give this a try after I finish the panel.

version 0.9.2

  • Fixed “Multiply” mode in offset.
  • Added initial support for Normals2Vertexcolors.
  • Minor changes

Ok, now Multiply mode should work fine. However I recommend you to not use negative numbers because the normals will be inverted with each click, and that’s very counter intuitive and basically useless.

And also there is support to convert normals into vertex colors. HOWEVER, right now you have to manually create a Vertex Color layer in the properties panel/ Data/Vertex Layer. I didn’t have time to implement that part but I’ll do in the next release.
Please note that only “Normal to VertexColor” works. “VertexColor to Normals” is NOT working.

Attachments

usernormaltranslator_v092.py.zip (4.05 KB)

Thank you for the fixes! Testing time :slight_smile:

I just realised the Normal->Vertexcolor implementation is wrong. I’m clamping normal values at 0, so all negative normals are simplified to 0 = black component of color.
I’ll fix that later.

vicentecarro, this is a great addon but could you please look at incorperating the functions of the panel of Blend4Web “B4W Vertex Normals Editor”. It’s more user friendly then yours because you can also set with “custom sphere” by dragging you mouse in stead of setting it numerically.
what’s better then their inplementation is that your addon works with armatures, theirs does not!
what is not good is that your addon doesn’t work in Blender Game Engine, theirs does.
If you could incorperate their panel and make it work in the game engine, that would finally solve years and years of frustration of blender not having a decent normal editor!

I’m looking forward to your next update of this very useful tool :slight_smile:

this should be a part of blender. Very useful!!

You wrong about an armature, blend4web works fine with armature, in BGE and any other modification, even with vertex animation. You can see it in special demos in SDK called code snipets, or just ask on the blend4web forum if you have problem with armature, may be it’ another reason that you can see edited vertex normal with armature mod.

Hi guys I’m back.
I have been doing some tests with the latest version of the script and the current (and GIT) blender. Sadly there are a few problems that I’m afraid are out of my reach.
Anyway I’ll check with the devs to confirm those and to see if there are solutions or workarounds.
Between others, the most annoying problem for me, is that the subsurf modifier ignores the custom normals.

Meanwhile this is the repository of the script, just in case you want to be updated (currently still on version 0.92).


or directly:
git clone https://github.com/vicentecarro/usernormaltranslator.git .

Awesome! I will have to give this a shot. I tried the Blend4Web UI and found it a little bit too fiddly. I am currently trying to write my own tool that applies normals based on selected faces, but hit a small problem (see: http://blender.stackexchange.com/questions/39764/how-do-i-stop-vertex-normals-getting-overwritten-when-i-enter-edit-mode). Your addon looks pretty full-featured, so maybe it supports the features I need.

Will post feedback once I’ve tried it out. Right now it’s bed time though!

Please continue with this, even if at first look it doesn’t seems like the most important feature i actually think this is pretty much the root of many problems in 3d shading, continue your excellent work and try to propose to the blender developers the addition for this plugin as an official one into blender, it’s that necessary.

FINALLY!!! BEAN LOOKING FOR SOMETHING LIKE THIS ALL WEAK!!! One thing I noticed however, was that this plug-in doesn’t work properly when used on a mesh with topology modifiers active, e.g. ‘triangulate’ modifier. Not a huge deal since you can always disable the modifier before editing the normals but it’s still something worth baring in mind for any who made the same mistake I made and thought that this plug-in was a dud because of it.

Edit: So after testing it out for a bit I found that topology modifiers (Triangulate, Subdivide, etc) CANNOT in fact be used with this plug-in. Still not a big deal for me but it could be a problem for others depending on what they are trying to do.

Has this been abandoned? I downloaded iy specifically for the vertex colors > normals function, but it looks like it hasn’t been implemented it.

It’s awesome! Very Useful.

I tried blend4web normal editor and yaine, and this is by far the best. It deserves and add-on of its own.
To use the vertex colors, you must create them yourself in the mesh tab in the properties before using them.

How? I created them in vertex color tab. Can you show a screenshot if you can pls?