Rotate drawing canvas (viewport) #67071

Open
opened 2019-07-16 18:48:57 +02:00 by Antonio Vazquez · 38 comments

This is a requested feature for all 2D artists, texture painters and sculptors.
We need a way of rotating the full viewport as other softwares do, because sometimes is easier draw from left to right instead of drawing vertical, especially for lines.

There are some add-ons already for that, but these are partiall solutions and only works in some situations. We need a more general solution.

This is general problem for any mode that need to use a pen for drawing.

This is a requested feature for all 2D artists, texture painters and sculptors. We need a way of rotating the full viewport as other softwares do, because sometimes is easier draw from left to right instead of drawing vertical, especially for lines. There are some add-ons already for that, but these are partiall solutions and only works in some situations. We need a more general solution. This is general problem for any mode that need to use a pen for drawing.
Author
Member
Added subscribers: @antoniov, @mendio, @pepe-school-land, @pablovazquez
Author
Member

Added subscribers: @fclem, @Jeroen-Bakker

Added subscribers: @fclem, @Jeroen-Bakker
Author
Member

@fclem @Jeroen-Bakker I'm sure we will need your help here.

@fclem @Jeroen-Bakker I'm sure we will need your help here.

Added subscriber: @brecht

Added subscriber: @brecht

Can you explain how this is different than View Roll (shift numpad 4 and 6)? I remember something about being able to do this in camera view.

Can you explain how this is different than View Roll (shift numpad 4 and 6)? I remember something about being able to do this in camera view.

Shift numpad 4 and 6 don´t work with camera view, basically in camera view is where you want to have this feature, you can make some hacks/rig creating drivers with the camera rotation channels to controllers but you don´t want this, just a simple way to rotate the camera view. If Shift numpad 4 and 6 work in camera view will be enough.

Shift numpad 4 and 6 don´t work with camera view, basically in camera view is where you want to have this feature, you can make some hacks/rig creating drivers with the camera rotation channels to controllers but you don´t want this, just a simple way to rotate the camera view. If Shift numpad 4 and 6 work in camera view will be enough.

Although not essential, if Shift-numpad 4 and 6 (in all views) could rotate the view in a more fluid way without steps, it would be more pleasant for the artist/user.
Maybe we can use other shortcut (Ctrl-Shift-numpad 4 and 6) for stepped rotation.

Although not essential, if Shift-numpad 4 and 6 (in all views) could rotate the view in a more fluid way without steps, it would be more pleasant for the artist/user. Maybe we can use other shortcut (Ctrl-Shift-numpad 4 and 6) for stepped rotation.

And of course incorporate the tilt navigation control for tablet users in the viewport would be a nice addition

Navigate.PNG

And of course incorporate the tilt navigation control for tablet users in the viewport would be a nice addition ![Navigate.PNG](https://archive.blender.org/developer/F7613559/Navigate.PNG)
Author
Member

About Shift + 4 or Shift + 6, if we solve the problem with camera view, still we have a big issue: Keymap

If you are drawing strokes with a pen, doing texture paint or sculpting, you need leave the pen, and use both hands to rotate.... this is not an option.

We need something like Key+Mouse to rotate viewport and Alt+Key to reset view to default orientation.

Reset orientation is critical for a good workflow also.

Also, it's important to define a key in the left side of the keyboard (the user can change it) because more people is right handed, so he keeps the right hand in the pen and press the rotate key with the left hand.

About Shift + 4 or Shift + 6, if we solve the problem with camera view, still we have a big issue: **Keymap** If you are drawing strokes with a pen, doing texture paint or sculpting, you need leave the pen, and use both hands to rotate.... this is not an option. We need something like `Key+Mouse` to rotate viewport and `Alt+Key` to reset view to default orientation. Reset orientation is critical for a good workflow also. Also, it's important to define a key in the left side of the keyboard (the user can change it) because more people is right handed, so he keeps the right hand in the pen and press the rotate key with the left hand.
Author
Member

Added subscriber: @WilliamReynish

Added subscriber: @WilliamReynish
Member

Added subscriber: @JulienKaspar

Added subscriber: @JulienKaspar
Member

To give my 2 cents: I find it very easy to roll the view when using trackball navigation instead of turntable. The reason why I would love a more fleshed out feature is definitely for the camera view.
When in the camera view it's one way to just select the camera and start rotating it but there's no way of rolling the view like a canvas without rotating the camera itself.

The tilt navigation button is a nice additon but I don't use those navigation gizmo buttons as a regular user.
One way I could see it is a toggle next to "Lock camera to view"saying: "Lock view to camera"
It's a similar result but the difference would be that instead of going out of camera view when rotating it rolls the view.
This would make it behave more like a canvas in 2D applications.
Exiting the camera view could still be done by hitting numpad 0.

What do you think? @antoniov @mendio @pepe-school-land

To give my 2 cents: I find it very easy to roll the view when using trackball navigation instead of turntable. The reason why I would love a more fleshed out feature is definitely for the camera view. When in the camera view it's one way to just select the camera and start rotating it but there's no way of rolling the view like a canvas without rotating the camera itself. The tilt navigation button is a nice additon but I don't use those navigation gizmo buttons as a regular user. One way I could see it is a toggle next to "Lock camera to view"saying: "Lock view to camera" It's a similar result but the difference would be that instead of going out of camera view when rotating it rolls the view. This would make it behave more like a canvas in 2D applications. Exiting the camera view could still be done by hitting numpad 0. What do you think? @antoniov @mendio @pepe-school-land
Member

Added subscriber: @PabloDobarro

Added subscriber: @PabloDobarro

In #67071#724444, @antoniov wrote:
About Shift + 4 or Shift + 6, if we solve the problem with camera view, still we have a big issue: Keymap

Agree @antoniov Even so, add Shift + 4 or Shift + 6 functionality to camera view is not a bad decision.

In #67071#724509, @JulienKaspar wrote:
The tilt navigation button is a nice additon but I don't use those navigation gizmo buttons as a regular user.

Sure, this is just to keep consistency in Blender viewport navigation

In #67071#724509, @JulienKaspar wrote:
One way I could see it is a toggle next to "Lock camera to view"saying: "Lock view to camera"
It's a similar result but the difference would be that instead of going out of camera view when rotating it rolls the view.
This would make it behave more like a canvas in 2D applications.
Exiting the camera view could still be done by hitting numpad 0.

What do you think? @antoniov @mendio @pepe-school-land

I think I understand your idea @JulienKaspar , it's possible and of course there could be many other solutions for Roll/tilt.

IMO what we are looking for here, is something more at the core of the viewport navigation like Ctrl for zoom, Shift to pan, MMB to Orbit.
Find a good key+mouse combination to Roll/Tilt the viewport as Antonio saids, would be the best solution.

> In #67071#724444, @antoniov wrote: > About Shift + 4 or Shift + 6, if we solve the problem with camera view, still we have a big issue: **Keymap** Agree @antoniov Even so, add Shift + 4 or Shift + 6 functionality to camera view is not a bad decision. > In #67071#724509, @JulienKaspar wrote: > The tilt navigation button is a nice additon but I don't use those navigation gizmo buttons as a regular user. Sure, this is just to keep consistency in Blender viewport navigation > In #67071#724509, @JulienKaspar wrote: > One way I could see it is a toggle next to "Lock camera to view"saying: "Lock view to camera" > It's a similar result but the difference would be that instead of going out of camera view when rotating it rolls the view. > This would make it behave more like a canvas in 2D applications. > Exiting the camera view could still be done by hitting numpad 0. > > What do you think? @antoniov @mendio @pepe-school-land I think I understand your idea @JulienKaspar , it's possible and of course there could be many other solutions for Roll/tilt. IMO what we are looking for here, is something more at the core of the viewport navigation like Ctrl for zoom, Shift to pan, MMB to Orbit. Find a good key+mouse combination to Roll/Tilt the viewport as Antonio saids, would be the best solution.
Member

I think a solution could be storing the viewport navigation configuration per workspace and not globally. I was looking to implement this in the sculpt branch because it is nearly impossible to design a navigation model that fits brush related workflows and navigating large scenes. Maybe the tilt rotation could be the default rotation behavior in the grease pencil workspace, leaving the 3D rotation available through the gizmo or a less accessible shortcut

I think a solution could be storing the viewport navigation configuration per workspace and not globally. I was looking to implement this in the sculpt branch because it is nearly impossible to design a navigation model that fits brush related workflows and navigating large scenes. Maybe the tilt rotation could be the default rotation behavior in the grease pencil workspace, leaving the 3D rotation available through the gizmo or a less accessible shortcut
Author
Member

@brecht I think this task is more general than GPencil only and we would move as subtask to a more general task an not as subtask of #63757. I don't know what is the main task for that.

@PabloDobarro What is sure is we must not do a solution for sculpt, a solution for Gpencil, etc... we need a solution for all.

@brecht I think this task is more general than GPencil only and we would move as subtask to a more general task an not as subtask of #63757. I don't know what is the main task for that. @PabloDobarro What is sure is we must not do a solution for sculpt, a solution for Gpencil, etc... we need a solution for all.

@antoniov, this could be added to #63726 (User Interface Module ) instead.

Different navigation controls per mode or per workspace would be problematic for muscle memory I think. I'd really only do that as a last resort, if we can't find a better solution.

@antoniov, this could be added to #63726 (User Interface Module ) instead. Different navigation controls per mode or per workspace would be problematic for muscle memory I think. I'd really only do that as a last resort, if we can't find a better solution.

In #67071#725384, @PabloDobarro wrote:

Maybe the tilt rotation could be the default rotation behavior in the grease pencil workspace, leaving the 3D rotation available through the gizmo or a less accessible shortcut

I don't think so, Grease Pencil is not only 2D painting on a flat canvas you have to be able to navigate the 3D space

> In #67071#725384, @PabloDobarro wrote: Maybe the tilt rotation could be the default rotation behavior in the grease pencil workspace, leaving the 3D rotation available through the gizmo or a less accessible shortcut I don't think so, Grease Pencil is not only 2D painting on a flat canvas you have to be able to navigate the 3D space

In #67071#725453, @brecht wrote:
@antoniov, this could be added to #63726 (User Interface Module ) instead.

Different navigation controls per mode or per workspace would be problematic for muscle memory I think. I'd really only do that as a last resort, if we can't find a better solution.

Totally agree

> In #67071#725453, @brecht wrote: > @antoniov, this could be added to #63726 (User Interface Module ) instead. > > Different navigation controls per mode or per workspace would be problematic for muscle memory I think. I'd really only do that as a last resort, if we can't find a better solution. Totally agree

Agree with the basic sentiment of @brecht and @mendio. We should try and find a generic solution to this.

We could add a gizmo, as already suggested. Finding an unused keyboard + mouse combo is the harder part.

We could implement this feature regardless, and later find a combo that works, or let users set it up for now.

Agree with the basic sentiment of @brecht and @mendio. We should try and find a generic solution to this. We could add a gizmo, as already suggested. Finding an unused keyboard + mouse combo is the harder part. We could implement this feature regardless, and later find a combo that works, or let users set it up for now.
Member

I think that options such as tilt rotation or constant zoom speed are not a user preference but a workflow design consideration. When people use different specialized programs for different workflow tasks, they have these navigation models build it, even if they share the fundamental concepts and shortcuts. Texturing programs that are designed to be used with a pen tablet usually have a slower rotation and constant zoom speeds, some of them even use trackball rotation by default, general-purpose 3D suites have faster rotation and variable zoom and panning to navigate scenes with a mouse and programs with a 2D view use tilt rotation. In my opinion, having a workspace designed for a task with an incorrect navigation model is worse than losing a bit of muscle memory when starting a new task.

I'm not sure how to solve this in the UI side, maybe we can add simple options in the workspace tab to control some viewport navigation options such as default tilt/orbit rotation, or use navigation configuration presets. I think that trying to fit architectural visualization, sculpting and 2D drawing, with both mouse and pen tablet support, into a single navigation model with global settings is not going to be the optimal solution for anyone.

But I agree, we can implement this feature first and then experiment with it for a while to see how it fits the navigation system in general.

I think that options such as tilt rotation or constant zoom speed are not a user preference but a workflow design consideration. When people use different specialized programs for different workflow tasks, they have these navigation models build it, even if they share the fundamental concepts and shortcuts. Texturing programs that are designed to be used with a pen tablet usually have a slower rotation and constant zoom speeds, some of them even use trackball rotation by default, general-purpose 3D suites have faster rotation and variable zoom and panning to navigate scenes with a mouse and programs with a 2D view use tilt rotation. In my opinion, having a workspace designed for a task with an incorrect navigation model is worse than losing a bit of muscle memory when starting a new task. I'm not sure how to solve this in the UI side, maybe we can add simple options in the workspace tab to control some viewport navigation options such as default tilt/orbit rotation, or use navigation configuration presets. I think that trying to fit architectural visualization, sculpting and 2D drawing, with both mouse and pen tablet support, into a single navigation model with global settings is not going to be the optimal solution for anyone. But I agree, we can implement this feature first and then experiment with it for a while to see how it fits the navigation system in general.

Added subscriber: @capnm

Added subscriber: @capnm

I think that options such as tilt rotation or constant zoom speed are not a user preference but a workflow design consideration …

Exactly. I needed the rotation for my workflow, so I made a proof-of-concept add-on (and tested with over 30 happy students):
https://capnm.github.io/b8RollViewport/
But we shouldn't be forced to implement this via the Python API.

> I think that options such as tilt rotation or constant zoom speed are not a user preference but a workflow design consideration … Exactly. I needed the rotation for my workflow, so I made a proof-of-concept add-on (and tested with over 30 happy students): https://capnm.github.io/b8RollViewport/ But we shouldn't be forced to implement this via the Python API.

Added subscriber: @Xorrito

Added subscriber: @Xorrito

Martin Capitanio's add-on is perfect, this should be in master.

Martin Capitanio's add-on is perfect, this should be in master.

Added subscriber: @ideasman42

Added subscriber: @ideasman42

Marking as incomplete until design is finalized.

Marking as incomplete until design is finalized.

Added subscriber: @ronsn

Added subscriber: @ronsn

This guy explains also why Shift + Num X isn't a good option for artists: https://youtu.be/6Q-w5ZBWIEk?t=1993 :)

This guy explains also why `Shift + Num X` isn't a good option for artists: https://youtu.be/6Q-w5ZBWIEk?t=1993 :)

Added subscriber: @AnityEx

Added subscriber: @AnityEx
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

Changed status from 'Needs User Info' to: 'Confirmed'

Changed status from 'Needs User Info' to: 'Confirmed'
Member

@ideasman42 : From your actions, I assume this can be confirmed then?

@ideasman42 : From your actions, I assume this can be confirmed then?

Removed subscriber: @AnityEx

Removed subscriber: @AnityEx

Added subscriber: @Anne40

Added subscriber: @Anne40

does this get fixed now? any update for the new version?

does this get fixed now? any update for the new version?

Added subscriber: @user1

Added subscriber: @user1

If it's all about being able to rotate the canvas in camera view mode, why not just adding a button beneath the camera window? Workflow: (Extra step for sculpting/texture painting: Lock "Camera to View",) touch that new button with the pen and drag to left or right to rotate the camera's local z axis ccw or cw, and drag down to reset. One-hand-solution. Maybe like a pie? Should work also for sculpting/tex.-painting, if you are willing to accept that you have to sculpt/stencil in camera view. You could set passepartout to 0% opaque.

If it's all about being able to rotate the canvas in camera view mode, why not just adding a button beneath the camera window? Workflow: (Extra step for sculpting/texture painting: Lock "Camera to View",) touch that new button with the pen and drag to left or right to rotate the camera's local z axis ccw or cw, and drag down to reset. One-hand-solution. Maybe like a pie? Should work also for sculpting/tex.-painting, if you are willing to accept that you have to sculpt/stencil in camera view. You could set passepartout to 0% opaque.
Philipp Oeser removed the
Interest
User Interface
label 2023-02-10 09:25:31 +01:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
15 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#67071
No description provided.