Page MenuHome

Edge Center Snapping Does Not Respect 'Align Rotation to Target'
Closed, ResolvedPublic

Description

System Information

Blender Version
version: 2.82 (sub 7), branch: master, commit date: 2020-03-12 05:06, hash: 375c7dc4caf4, type: Release

Short description of error
Edge center snapping does not respect 'Align Rotation to Target' when moving the cursor

Exact steps for others to reproduce the error

  1. Rotate the default cube so that some edges are off axis
  2. Go to edge selection mode and select one edge.
  3. Activate snapping and in the snapping menu select 'Edge Center' and check 'Align Rotation to Target'
  4. Shit + RMB drag to move the 3D cursor and snap it to edge center selected in step 2.
  5. Notice that the 3D cursor is not aligned to the edge.
  6. Switch 'Snap to' to Edge instead of Edge Center and try again.
  7. Note that the cursor is now properly aligned to the edge.

Event Timeline

Alaska (Alaska) changed the task status from Needs Triage to Confirmed.May 17 2020, 7:44 AM
Alaska (Alaska) added a subscriber: Alaska (Alaska).

I can reproduce the error in Blender 2.82a, 2.83 rBe5ace51295b9 (2020-05-15 17:29) and 2.90 rBeaf7d36d66e5 (2020-05-15 19:12) on Linux.

Two possible solutions:
a. Make normal to be the direction of the edge (as in snap mode for Edge only)
or
b. Change the snap API so that it returns to normal as Quaternion and not a simple v3 vector.

I am tempted to implement the solution a. since it is a simple change and does not complicate the code.
And also because there is no reason why the normal the snap mode Edge is different from the normal Snap mode Edge Center.

@Germano Cavalcante (mano-wii) the patch seems to fix this issue, however I've noticed that the direction the 3D cursor faces when snapping to the same edge over and over again can change by up to 45 degrees depending on the position of the viewport camera. Is this intentional? I've just noticed that this also happens in the old version of 2.90 before your patch.

I hope you can see the issue I'm describing in this video (notice how the 3D cursor rotation changes as I snap it to the edge over and over again):

It is not a bug. The alignment considers the current rotation of the object or cursor.

Would it make sense in this case to align one of the cursor axes along an adjacent edge?