Page MenuHome

problem with turntable orbit
Closed, ResolvedPublic

Description

System Information
win7 64

Blender Version
Broken: 2.76

Short description of error

If you tilt view (shift+num4/num6) orbit for rotation remains world Z, not local. From tilted point of view that makes no sense and looks like its broken.

Exact steps for others to reproduce the error
press shift+num6 several times and try to rotate view horizontally

Event Timeline

item412 (item412) updated the task description. (Show Details)
item412 (item412) raised the priority of this task from to Needs Triage.
item412 (item412) added a project: BF Blender.
item412 (item412) set Type to Bug.
Bastien Montagne (mont29) triaged this task as Confirmed priority.Jan 29 2016, 4:04 PM

This is dead easy to fix (see patch below), @Campbell Barton (campbellbarton) any specific reason to have current behavior?

Patch:

diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c
index 0f40765..15fc4ca 100644
--- a/source/blender/editors/space_view3d/view3d_edit.c
+++ b/source/blender/editors/space_view3d/view3d_edit.c
@@ -4005,8 +4005,8 @@ static int vieworbit_exec(bContext *C, wmOperator *op)
 					angle = -angle;
 				}
 
-				/* z-axis */
-				axis_angle_to_quat_single(quat_mul, 'Z', angle);
+				/* View Y-axis */
+				axis_angle_to_quat(quat_mul, rv3d->viewinv[1], angle);
 			}
 			else {
 
@@ -4014,7 +4014,7 @@ static int vieworbit_exec(bContext *C, wmOperator *op)
 					angle = -angle;
 				}
 
-				/* horizontal axis */
+				/* View X-axis */
 				axis_angle_to_quat(quat_mul, rv3d->viewinv[0], angle);
 			}

Problem here is that you sometimes want current behavior, e.g. when 'looking down' without any tilt, rotating around global Z axis is most desired, we do not want to rotate around view Y axis then...

I agree, for modeling thats ok, but for sculpting/painting ability to tilt and rotate around view Y is very usefull. I think we need then switch (like in zbrush) in user preferences.

@Bastien Montagne (mont29), think patched behavior is more correct/consistent (none of the other orbit keys use global axis).
However I expect some users prefer current behavior.

Interactive orbit defaults to turntable, so think its OK to change this, so num-keys all use relative axis.

Why not make this an option? I used the old orbit behavior to quickly setup the camera for axonometric projection (useful for isometric games and tile rendering).
Now this is much more complicated.

Option to rotate also with middle mouse, not only nums. There should be two turntables: world Z and view Y

This breaks an existing, expected behavior. User should have an option somehow to choose the orbit behavior.

used NUM 4/6 sometimes on laptop if i don't have my mouse around. current behaviour is not really helpful in replacing the MMB function. I vote also for user preferences option.
Users even filed it as bug ^^

Wow, thats a drastic change for me after >15Years of Blender. I don't like it. Even Experienced user will rotate quickly into a view which is useless but not recoverable with turning back.

Please make a Preference for the old behaiviour.

Carsten

Consistency is one thing, but when it breaks an objectively useful behaviour I will argue against consistency in favour of some common sense.

This change is horrible and I want the 2.76 behaviour back.

Another vote for this being an option with the default set to the long-standing behaviour.

Kind of surprised this has suddenly changed considering the old way was expected and useful.

Edit: Just noticed the proposal to revert in D1868

D1868 was an attempt of mine to add an option for both cases.

It has however been decided today in IRC that best was to revert the incrimined commit.

I thus closed my revision and 2.77a will see good ol' behavior back.

D1868 was an attempt of mine to add an option for both cases.

It has however been decided today in IRC that best was to revert the incrimined commit.

I thus closed my revision and 2.77a will see good ol' behavior back.

Yep, I read the IRC backlog :)

Your patch looks like it would've been a good alternative.

'fix' was reverted. Not re-opening the task, since it’s not a bug but rather a design issue…