C4D Selection Grow command creates diamond shaped growth area, which is seldom useful. In most situations square shaped growth area is needed. In both Softimage and Maya selection growth creates square selection increments :
In case of edge selection growth C4D seems to do the same as Softimage, however when an n-gon edge is involved, C4D produces some unexpected, asymmetrical results, while Softimage creates a consistent selection pattern :
I suggest to keep old selection growth mode, and add a new square selection growth mode. It would allow user to assign a keyboard shortcut to both modes, or just the one he prefers. Personally, I don't see a point of old diamond growth mode.
Grow /Shrink Loops
Grow Loops / Shrink Loops could be used to extend / reduce selection
by one component. It should operate in points, edges and polygons modes.
For Grow Loops one selected edge is enough, while for points and polygons,
two adjacent points/polygons must be selected to define the direction
in which loop will grow.
If command called by keyboard shortcut, then reduce full loop from
component closest to mouse cursor. In this way, user could hover mouse
over a full loop, and call Shrink loop command, and have loop opened
Grow Loops / Shrink Loops should operate on multiple selections :
This is how it works in Softimage (example on polygon ranges) :
Notice that in Softimage segments adjacent to growing one, also start to grow, even if made of single polygon
Softimage allows to select the components of a specified type that are adjacent to the current selection.
To select adjacent components
1. Select some polygons, edges, points, or clusters on a polygon mesh object.
2. Choose one of the items on the Select Select Adjacent submenu on the Select panel: Points, Edges, or Polygons.
o If you choose a different type of component than the current selection, all components of that type that share or are shared by the current selection become selected. For example, if polygons are selected and you choose Points, then all points that are shared by the polygons become selected.
If points are selected and you choose Points, then all points that share an edge with the selected ones become selected.
If edges are selected and you choose Edges, then all edges that share a point with the selected ones become selected.
If polygons are selected and you choose Polygons, then all polygons that share an edge with the selected ones become selected.
What is it good for ?
Selection of adjacent components is very helpful when simultaneously performing modeling operations on multiple components. eg. It allows to select in two clicks all edges to bevel.
Perform modeling operations on sets of multiple
Alternate deselection should allow to remove every nth component from existing loop selection :
It should work with polygons, points, edges and especially with parallel edges loops.
It should provide real time preview when defining Keep, Remove and Shift values.
It should provide 3 parameters :
Alternatively, instead of Keep and Remove parameters, we could have an text
input box allowing to define the pattern for removing sequence : eg :
10 will create 1010101010101010...
1001 will create 1001100110011001...
1101001 will create 11010011101001....
10 should be the default setting
Two problems :
Eg. how to select and move a complex plane model on a crowded deck of a complex
Now when I click on the object, just the object clicked upon is selected (eg. a wing tip of the plane)
I can't use rectangle selection, because it will also select the objects in the background.
There should be an ease, direct way of selecting the top parent of the hierarchy, when clicking on one of its children. Now it is too convoluted in complex environments : you need to go into Objects Manager and find in the hierarchy the top parent object (finding it can be problematic on a very complex scene), or by using a script - I have such scrit, but C4D should provide such functionality.
Softimage solves this problem by assigning various functions to 3 mouse buttons
in Object Select mode :
LMB - selects only the node clicked upon (single object)
MMB - selects the branch (node + its children)
RMB - selects whole tree (all objects in the hierarchy)
When clicked upon, whole generator becomes selected
You can turn off generators, but it also turns off primitives, so it won't work if you want to select a primitive inside a generator.
You can Shift+RMB click to display a list of objects behind the cursor, but in a complex scene the list will be long and it can be hard to identify which one is the object you want.
Multiple clicking on the objects selects other objects behind cursor
How it can be improved ?
1 - when Shift+RMB list is displayed, highlight (select) the object below mouse cursor - so if mouse is moved through the list, each element of the list will be selected, and it will be possible to find the right object.
2 - use Softimage methodology - assign various selections upon each mouse
key. Eg. Alt key could be used to select only the object clicked upon in a
Selection of ranges and loops of components is probably the most often performed
operation when modeling.
- C4D provides in Move/Scale/Rotate tools range selection (Ctrl+Shift ), but loop selection (2 x click ) works only for edges.
Since this feature is designed to quickly select loops/ranges without switching the tool, I'll call it Quick Loops / Quick Ranges in short QL / QR. In this section I will provide suggestions how to enhance QL/QR in C4D
- Selection of ranges is usually more frequent than selection of complete loops, so range selection should be as easy as possible.
- It's unintuitive, that range/loop selection is implemented ony in transform tools, but not in selection tools. (In Softimage it is the opposite, QL/QR are implemented into all selection tools except brush selection, but not into transform tools)
- Loop/range selection algorithm shouldn't try to select nonsense loops at any cost, as C4D loop selection does - often it is faster to make a couple of shorter range selections, than struggle with C4D loop selection tool to force it to select what we want. Softimage QL/QR succeeds to select loops/ranges that make sense, and are what user expects, even in complex situations. Softimage uses various criteria for such smart selection of loops.
1 - Implement QL/QR in Live, Rectangle, Lasso and Polygon selection tools.
2 - Implement QL for points and polygons (now only edges are supported)
3 - Implement smarter algorithms for selection of loops/ranges (especially edge QL/QR needs fixing)
Bad performance of C4D Quick Loops/Quick Ranges : C4D edge loop / edge range
selection using double click / Shift+Ctrl click works on simple (clean) geometry
with quadrangles, but utterly fails on triangulated geometry.
Softimage performs well even on difficult meshes.
Below is range selection test : click on first edge, then Ctrl+Shift on the
last edge marked by red dots :
Softimage correctly selects the range between two selected edges, while C4D selects something "abstract".... and useless.
Below is loop selection test : double click on edge marked with red dot :
Softimage correctly selects a range between two sharp corners, while C4D fails to select anything except one edge
More examples of range selection tests in Softimage and C4D in following video :
Softimage range selection seems to select edges by looking for the shortest
path with minimal angle deviation.
Logics behind C4D edge range selection remains incomprehensible (it should be noticed that in R13 it worked better)
It seems that Softimage algorithm for quick range/loops selection uses various criteria, depending on current selection:
When an double-clicking on an edge between two squares, it uses 1st algorithm which selects middle edge between two edges :
(big dot represents an edge clicked upon, thick line represents the selected
edges, green color represents areas where edge is surrounded by squares from
both sides, yellow color represents areas where it does not occur )
Same happens when double-clicking on an edge directly preceding a section of edges between squares, then additionaly to edges between squares it also selects the edge on which it was clicked :
But when clicking on an edge which is not adjacent to two squares, but something else (eg, n-gon, triangle) then 2nd algorithm is used - it checks the direction of adjacent edges vectors, and select those which smallest angle difference to selected edge, it results in selection of whole line :
Notice the difference on right side. The 2nd algorithm selects the left edge, the best aligned with previous edge, while 1st algorithm selected the other edge, going up, but located between two edges.
2nd algorithm uses a limit angle : when it can find an edge that is within
this limit, it selects it :
but if angle is too high, it stops :
When selecting ranges/loops I would suggest to prioritize :
- paths going through visible components over those going through the invisible side of the object
- shorter paths
Softimage selection loop / range is smart to properly select the edge even
in following case :
Notice that if it selected the edge A instead of edges C and D the path would be shorter, with lower angle deviation, but then the angle between polygons on both sided of the edge wouldn't be maintained, edge A has polygons at 0 angle, while edges C and D have polygons at 90 angle.
In C4D R13 range selection selects edges A and B, which is wrong, but still looking better than R18 (next image):
In C4D R18 range selection looks as this....
I hope that Maxon will suceed and enhance Quick Loops / Quick Ranges, so C4D could even outperform Softimage :)