Selection of components :

Square selection grow :

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.

Grow Loops extends the selection by one component in both directions if possible.

Shrink Loops
reduces the selection by one component in both directions, until only one component remains. If a closed loop is completely selected, then an arbitrary component is deselected.

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 below cursor.

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

Selecting Adjacent Components

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.

It allows to select patterns :


Perform modeling operations on sets of multiple components :
On right image you can see another example, thanks to select adjacent edges command applied twice, all corner edges could be selected for beveling. In C4D, without such functionality, it would require to perform parallel edge loops on all fragments, which would be much longer.




Alternate deselection :

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 :
Keep : number of consecutive elements to keep
Remove : number of consecutive elements to remove (after those kept)
Shift : should allow to move the deselection range within the defined range.

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


Objects Selection - hierarchies :

Two problems :

1. How to select a complex object in a complex scene ?

Eg. how to select and move a complex plane model on a crowded deck of a complex aircraft carrier?
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)

2. How to select an object inside generator in a complex scene ?

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 generator.





HTML Comment Box is loading comments...





Quick Loops, Quick Ranges

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.

Suggestions :

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)


Problems :

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 :

Cinema 4D

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 :

Cinema 4D

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 :

How works Softimage Quick Range ?

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 :)