- Mentioned In
- rB9335daac2a36: Trasnform: Support for other snapping types on Edge Slide
T73993: Snapping & precision modeling improvements
T71425: Incoherent snap to face between tools
T66484: Snap Tools
T70351: vertex slide always uses increment snapping instead of what's selected in the snap options.
T66337: Snapping & precision modeling improvements
- Mentioned Here
- T66424: Transform Tools: Perform on a base point
D3440: Transform: Full snapping support for Vert Slide
I would love to see proper edge constraint in Blender, like Max has, where we can select and rotate an edge loop along other edges!
I have not found an easily/fast way to do this in blender yet.
You can use the Skew tool in blender, but that only works if the Cylinder/Mesh is more "flat".
If you were to rotate a cylinder and cut an edge loop in the center. Then try to rotate the edge loop and have it slide/stay constrained to the other edges, it gets crushed.
As it was told, more exact practical examples are needed to define "this works properly" state, unless you will force developers to iteratively guess what do you mean.
I know Arrimus, he was popular, but his methods are far from being the most effective)
Anyway, providing exact video timings to make this issue clear to developers is the best way to go.
There is no way for Blender to know along which axis you want to snap : in your last example, what you're trying to do is snap the edge along the Z (vertical) axis while moving it diagonally along a different, non-perpendicular axis. This patch only adds to edge slide the snapping functionality we already have for translation, which is orthogonal/perpendicular snapping. To support non-orthogonal snapping we'd need a way for the user to define an "intersection axis" so to say : global X, Y, Z or a custom one. But right now this isn't part of the patch. I believe there isn't even a design task for it, is there ?
I may have got too excited for this patch as well. But I will have to experiment with it more.
I still am hoping for a edge constraint feature where you can rotate an edge loop along other edges. Plus what people have mentioned otherwise.
Basically just stealing/replicating what 3DS Max has.
There is currently no way to use a constraint that I know of, to rotate an edge loop in blender along a cylinder type shape. You can Shear, but that doesn't work well often.
You can also do some interesting things like slide an edge loop against another one (in Max), to conform it. Although you sort of can do that in Blender maybe...
Last I heard, pictures and videos of other software are prohibited here for legal reasons - I think it's safer to remove it and take it to devtalk.blender.org/ or https://rightclickselect.com/p/ where there can be a lengthy design discussion about this particular feature.
I agree it would be nice. If we can come up with a design for it to work in Blender we may just be lucky enough to have a developer work on it.
Then again, not exactly : hitting X, Y or Z changes the axis of transformation, not the axis of snapping. Right now Blender only knows how to snap to elements that lie on the plane defined by the axis constraint. What you'd like it to do is define a different plane which to intersect during the transform.
The UI for this is not obvious to me, I really think it's best to mock it up on RCS before going further. Transform is undergoing quite a few changes these days so the best time to do that may be now (?).
Not to say that this isn't something that would be cool to simplify and streamline, but you can do it already with this patch. It requires another object (a plane) that intersects the geometry, then you can slide the vertices and snap them against the surface of the plane (with "face snapping" turned on).
I want active loop (edge, vert) sliding thrue inclined surface to be on one height (or in one of axis X,Y,Z) with vert to which I snapping https://www.youtube.com/watch?v=_3EHed20LHc
That's all )
Thats how it works in 3Ds max https://www.youtube.com/watch?v=GTJlT9a93yY
We are solving similar cases with the Polycross tool. It allow to reach pretty much flexible results, and is very useful in common.
slide an edge loop against another one (in Max), to conform it.
Yes, it is interesting functionality from 3dsmax, we are solving such cases with "Project edges to faces" tool, which is a bit slower, since you have to define faces, but more precise and flexible, because supports for multiple faces as projection input.
Please bear with me, but I'll try to be clear to avoid more noise:
Right now, the point of snap is determined by the intersection of the edge where the vertex slide is performed with the plane perpendicular to it and that contains the snap target, i.e., the shortest path. This is not so handy neither predictable in a lot of situations, especially with irregular meshes where you would prefer to snap to the intersection of the edge of slide with one of the three global planes (XY, YZ, XZ) at the target position, i.e., like moving with an axis constraint like when using G + X, Y or Z, but while sliding.
A proposal: shortcut options (X, Y, Z) for especifying during the running of the operator the direction of sliding, so the intersecting plane is the one that is perpendicular to this direction and contains the snapping target, and not the perpendicular to the edge of slide, which could remain the default.
Sounds like you mean snapping to intersecting to projections to XY planes instead of direct perpendiculars, like in Corner tool from 1D_Scripts.
Can you provide some images to make your idea clear?
I want to point out that the software, whose name I will not mention, that people are expecting this feature to perform similarly to also allows for snapping in a particular local or world axis. So, for instance, if I want to snap to only the z location of the target vertex, I will drag the z gizmo when sliding along an edge and the vertex will project the axis of motion along the edge to the z location of the target - the vertex slides until it reaches the xy plane that the target vertex lies on. The current state of things has the vertex snapping to the point where a ray perpendicular to the edge intersects with the vertex. So far, this has only been useful to me when the edge I'm sliding on is parallel to one of the primary world axes.
The image below depicts the current behavior of the edge slide snap which snaps perpendicular to the edge as shown in red. If I press the z key during this transform while having World Coordinates selected, I would expect the vertex to snap in a location that lies in the xy plane of the target vertex - shown in blue.
Can't say if all of this is possible, we made special subset of tools (like Polycross tool, Corner Edges tool, Project edges to faces tool) to satisfy conditions you want to put to Edge and Vertex sliding.
This is applicable to single vertex sliding, not to loop sliding, that will eliminate the uncertainty of calculations, because loops can have much more complex shape.
I think the snapping plane should be determined by an additional property rather than by the current transform orientation (global, local...). If not, then vertex sliding and regular transform would be handled in an inconsistent way : one (vertex slide) would use the current transform orientation to determine the snap plane whereas the other (regular transform) would inevitably have to use a different property, because it ultimately needs two different orientations 1. to pick a direction in which to move and 2. to pick a plane to snap to.
I believe we could introduce a new property to control the orientation of the snapping plane, which would default to "orthogonal" and behave like it does currently. Other options could be "global X", "local Z", and so on.
@Paul Kotelevets (1D_Inc) I'm going to study what your addon allows in terms of intersections, it seems to be rather complete
You're overthinking it. If you pick z direction with the world coordinates selected, the plane will be parallel to the world xy plane. That is enough to define a plane: a point in 3d space and an existing plane to reference for parallelism. The axis of motion is still along the edge that you're sliding. Your edge or vertex slides until it meets this plane.
This is already addressed in the "Snap with" settings, the pertinent options being Closest, Median, and Active. This will also be further addressed with the basepoint transforms.
It works in other software, so I know it's possible. I also know it is a huge timesaver and the exact reason people requested this feature in the first place.
Further discussion should probably be moved here: