[Bf-committers] Custom Transform Alignment

GSR gsr.b3d at infernal-iceberg.com
Wed Dec 26 21:48:47 CET 2007


Hi,
theeth at yahoo.com (2007-12-23 at 1553.34 -0800):

You asked for comments and critics, here they go, even with a free bug
or two.

[...] 
> Custom Alignment can be added with Ctrl-Shift-C (not a
> definitive hotkey, suggestions are welcomed), this

Ctrl-Shift-Space seems to be free (it currently repeats Shift+Space)
and links nicely with Ctrl-Space and Alt-Space.

There is a bug, you hit the combo but change your mind... and it still
adds to the list. Same for the vertex case, even in the name popup it
will add instead of cancel when you shake the mouse instead of hitting
Ok button.

A related issue, the widget's limits are a bit arbitrary. Probably the
reason I never liked the it, if you want a small one, you get tiny
handles (I raised the limit to 90% from 40%, allowing a wider
selection, 90 is weird in some cases, but not so much in others, in
which 40 is just not enough, I guess it scales all without paying
attention to how important parts are compared to others); and having
one thing in pixels and other in tens of pixels is an artificial
complication (I changed the multiplicator to have a /10.0f and
adjusted the button limit to 20-400, was 2-40, it works).

Sorry, but these new align options are not very useful with the widget
off, so I preferred to point side issues I had found. I uploaded a
simple patch (no versioning, which is needed to handle old .B.blend
configs, and no comment about the magic 10.0f) so you can see the
changes faster than above explanation, they are simple:
http://www.infernal-iceberg.com/blender/widget-limits-basic.patch

> adds and select the new alignment. Custom Alignments
> can also be added,deleted,selected from the Transform
> Space panel (View -> Transform Space).

I would keep all buttons in one side, or separate using "the safe way"
with delete away from others, for example "X Name ? >". Also I would
use letters like, S and A for select and activate instead of abusing
cryptic "icons" ("open something" and "help"? or maybe "move right"
and "unable to find icon image"?). As the panel is used in single
column mode, they could be "Sel" and "Act" text anyway.

Showing which is the active one would be nice too, and the other modes
could be placed in the same panel (renamed Transform Orientation to
match the area header drop down), so the feature is unified instead of
spread over multiple places. "Yet another panel to juggle around" *,
so make it really useful and complete on itself (put the transform
modes in panel too? basically clone the header controls).

* I still keep on thinking panels is pushing issues into user hands
instead of solving them... the "Blender is no overlap" motto is pretty
much invalid by now.

It whines when you have 3-4 vertices that form a face. It would be
nicer if it checked they form a valid face (or 2 form an edge, or 3-4
edges form a face) and just add, instead of complaining and requiring
you to change mode.

BTW what rules are used for vertex, edges and faces? Not too clear. At
most I can see vertices have a normal by themselves, but not so clear
in all cases what to do for the undefined axis (edge: interpolation of
the two vertex normals and edge as second axis? highly deformed quads
and future ngons cases sound even trickier). Think how you would write
the book section covering this to figure what I mean about being
clear.

> If you plan on using only a single custom alignment
> and don't really need a list, I suggest you use the
> hotkey as it adds and selects at the same time (adding
> objects already in the list don't add them a second
> time).

Add a button to quickly clean the queue that will grow? The panel
would look something like:

        [ ][ ][ ][ ]           <- the on/off for widget and modes
[Global][Local][Normal][View ]
[Add sel][Save view][Del all ]
[X] Object1         [Sel][Act]
[X] Object2         [Sel][Act]
[X] Object3         [Sel][Act]
[X][Named1              ][Act]
[X] Object4         [Sel][Act]
[X] Object5         [Sel][Act]
[X][Named2              ][Act]
[X][Named3              ][Act]

Global, Local, Normal, View and all the Acts form a radio button
group, so one and only one will be pressed at a given time. Save view
lets you store views, as named type, for future use and should be in
the menu too.

> Custom Alignments are save in the scene and are
> selected per 3D view (like normal alignment).
> Alignment defined through an object will follow the
> rotation of the object if it is later modified while
> vert/edge/face use a snapshot at the time it was
> defined.

A conditional interface, more things to remember, longer manuals to
write and read. :[ Now way to track them at all so there are no
special cases? Manually adding parented empties could be a way for
faces (manual and non working for vertices or edges). The other option
is make all them fixed, tho that sounds like removing a feature.

OTOH people can "freeze" by adding an empty, copying rotation, and
then hiding it (which manual workflow and can become tiresome).
Keeping on with the brainstorm, having a button to convert from object
to named type or adding fixed kinds based in objects (button and menu)
could be interesting too.

Well, that is what I can think at first glance based in current
system, plan after instead of before, and without getting into
radically changing other things.

GSR
 


More information about the Bf-committers mailing list