No Branch/Tag Specified
main
asset-shelf
brush-assets-project
blender-v2.93-release
blender-v3.3-release
blender-v3.4-release
xr-dev
blender-v3.2-release
blender-v3.1-release
screenshots-manual
gltf_vtree
blender-v2.83-release
blender-v3.0-release
xr-controller-support
studio-sprite-fright
asset-browser-poselib
blender-v2.92-release
blender-v2.91-release
blender-v2.90-release
greasepencil-addon
xr-world-navigation
soc-2019-openxr
blender-v2.82-release
blender-v2.81-release
filebrowser_redesign
blender-v2.80-release
blender2.7
blender-v2.79b-release
blender-v2.79a-release
blender-v2.79-release
fbx_experiments
blender-v2.78b-release
collada-2
blender-v2.78-release
rigify_fixes
fbx_io_export_ignore_parents
v2.93.14
v3.3.3
v2.93.13
v2.93.12
v3.4.1
v3.3.2
v3.4.0
v3.3.1
v2.93.11
v3.3.0
v3.2.2
v2.93.10
v3.2.1
v3.2.0
v2.83.20
v2.93.9
v3.1.2
v3.1.1
v3.1.0
v2.83.19
v2.93.8
v3.0.1
v2.93.7
v3.0.0
v2.93.6
v2.93.5
v2.83.18
v2.93.4
v2.93.3
v2.83.17
v2.93.2
v2.93.1
v2.83.16
v2.93.0
v2.83.15
v2.83.14
v2.83.13
v2.92.0
v2.83.12
v2.91.2
v2.83.10
v2.91.0
v2.83.9
v2.83.8
v2.83.7
v2.90.1
v2.83.6
v2.90.0
v2.83.5
v2.83.4
v2.83.3
v2.83.2
v2.83.1
v2.83
v2.82a
v2.82
v2.81a
v2.81
v2.80
v2.80-rc3
v2.80-rc2
v2.80-rc1
v2.79b
v2.79a
v2.79
v2.79-rc2
v2.79-rc1
v2.78b
v2.78a
v2.78
v2.78-rc2
v2.78-rc1
v2.77a
v2.77
v2.77-rc2
v2.77-rc1
v2.76a
v2.76
v2.76-rc3
v2.76-rc1
v2.75
v2.75-rc2
v2.75-rc1
v2.74
v2.74-rc4
v2.74-rc3
v2.74-rc2
v2.74-rc1
v2.73a
v2.73
v2.73-rc1
v2.72
v2.72-rc1
v2.71
v2.71-rc1
v2.70a
v2.70
v2.70-rc
v2.68
v2.67b
v2.67a
v2.67
v2.66a
v2.66
v2.65a
v2.65
v2.64a
v2.64
v2.63a
v2.63
v2.62
v2.61
v2.60a
v2.53
v2.54
v2.55
v2.56
v2.56a
v2.57
v2.57a
v2.57b
v2.58
v2.58a
v2.59
v2.60
v2.69
Labels
Apply labels
Clear labels
good first issue
legacy module/Animation & Rigging
legacy module/Core
legacy module/Eevee & Viewport
legacy module/Grease Pencil
legacy module/Modeling
legacy module/Nodes & Physics
legacy module/Pipeline, Assets & IO
legacy module/Platforms, Builds, Tests & Devices
legacy module/Python API
legacy module/Rendering & Cycles
legacy module/Sculpt, Paint & Texture
legacy module/User Interface
legacy module/VFX & Video
legacy project/2.81
legacy project/2.82
legacy project/2.83
legacy project/2.90
legacy project/2.92
legacy project/2.93
legacy project/3.0
legacy project/3.1
legacy project/3.2
legacy project/3.4
legacy project/Add-ons (BF-Blender)
legacy project/Add-ons (Community)
legacy project/Alembic
legacy project/Animation & Rigging
legacy project/Asset Browser
legacy project/Automated Testing
legacy project/BF Blender: 2.8
legacy project/BF Blender: After Release
legacy project/BF Blender: Next
legacy project/BF Blender: Regressions
legacy project/BF Blender: Unconfirmed
legacy project/Blender 2.70
legacy project/Blender Cloud
legacy project/Code Quest
legacy project/Collada
legacy project/Compositing
legacy project/Core
legacy project/Cycles
legacy project/Datablocks and Libraries
legacy project/Dependency Graph
legacy project/Documentation
legacy project/EEVEE & Viewport
legacy project/Freestyle
legacy project/Game Data Conversion
legacy project/Game Engine
legacy project/Game Physics
legacy project/Game Python
legacy project/Game UI
legacy project/Geometry Nodes
legacy project/Good First Issue
legacy project/Grease Pencil
legacy project/Images & Movies
legacy project/Import/Export
legacy project/Infrastructure: Blender Buildbot
legacy project/Infrastructure: Blender Web Assets
legacy project/Infrastructure: Websites
legacy project/Modeling
legacy project/Modifiers
legacy project/Motion Tracking
legacy project/Nodes
legacy project/Nodes & Physics
legacy project/OpenGL Error
legacy project/Overrides
legacy project/Papercut
legacy project/Physics
legacy project/Pillar
legacy project/Pipeline, Assets & I/O
legacy project/Platform: Linux
legacy project/Platform: macOS
legacy project/Platforms, Builds, Tests & Devices
legacy project/Platform: Windows
legacy project/Python API
legacy project/Render & Cycles
legacy project/Render Pipeline
legacy project/Sculpt, Paint & Texture
legacy project/Straightforward Issue
legacy project/Text Editor
legacy project/Tracker Curfew
legacy project/Translations
legacy project/USD
legacy project/User Interface
legacy project/UV Editing
legacy project/VFX & Video
legacy project/Video Sequencer
legacy project/Virtual Reality
papercut
Priority › High
Priority › Low
Priority › Normal
Priority › Unbreak Now!
Status › Archived
Status › Confirmed
Status › Duplicate
Status › Needs Information from Developers
Status › Needs Information from User
Status › Needs Triage
Status › Resolved
straightforward issue
Type › Bug
Type › Design
Type › Known Issue
Type › Patch
Type › Report
Type › To Do
No Label
good first issue
legacy module/Animation & Rigging
legacy module/Core
legacy module/Eevee & Viewport
legacy module/Grease Pencil
legacy module/Modeling
legacy module/Nodes & Physics
legacy module/Pipeline, Assets & IO
legacy module/Platforms, Builds, Tests & Devices
legacy module/Python API
legacy module/Rendering & Cycles
legacy module/Sculpt, Paint & Texture
legacy module/User Interface
legacy module/VFX & Video
legacy project/2.81
legacy project/2.82
legacy project/2.83
legacy project/2.90
legacy project/2.92
legacy project/2.93
legacy project/3.0
legacy project/3.1
legacy project/3.2
legacy project/3.4
legacy project/Add-ons (BF-Blender)
legacy project/Add-ons (Community)
legacy project/Alembic
legacy project/Animation & Rigging
legacy project/Asset Browser
legacy project/Automated Testing
legacy project/BF Blender: 2.8
legacy project/BF Blender: After Release
legacy project/BF Blender: Next
legacy project/BF Blender: Regressions
legacy project/BF Blender: Unconfirmed
legacy project/Blender 2.70
legacy project/Blender Cloud
legacy project/Code Quest
legacy project/Collada
legacy project/Compositing
legacy project/Core
legacy project/Cycles
legacy project/Datablocks and Libraries
legacy project/Dependency Graph
legacy project/Documentation
legacy project/EEVEE & Viewport
legacy project/Freestyle
legacy project/Game Data Conversion
legacy project/Game Engine
legacy project/Game Physics
legacy project/Game Python
legacy project/Game UI
legacy project/Geometry Nodes
legacy project/Good First Issue
legacy project/Grease Pencil
legacy project/Images & Movies
legacy project/Import/Export
legacy project/Infrastructure: Blender Buildbot
legacy project/Infrastructure: Blender Web Assets
legacy project/Infrastructure: Websites
legacy project/Modeling
legacy project/Modifiers
legacy project/Motion Tracking
legacy project/Nodes
legacy project/Nodes & Physics
legacy project/OpenGL Error
legacy project/Overrides
legacy project/Papercut
legacy project/Physics
legacy project/Pillar
legacy project/Pipeline, Assets & I/O
legacy project/Platform: Linux
legacy project/Platform: macOS
legacy project/Platforms, Builds, Tests & Devices
legacy project/Platform: Windows
legacy project/Python API
legacy project/Render & Cycles
legacy project/Render Pipeline
legacy project/Sculpt, Paint & Texture
legacy project/Straightforward Issue
legacy project/Text Editor
legacy project/Tracker Curfew
legacy project/Translations
legacy project/USD
legacy project/User Interface
legacy project/UV Editing
legacy project/VFX & Video
legacy project/Video Sequencer
legacy project/Virtual Reality
papercut
Priority › High
Priority › Low
Priority › Normal
Priority › Unbreak Now!
Status › Archived
Status › Confirmed
Status › Duplicate
Status › Needs Information from Developers
Status › Needs Information from User
Status › Needs Triage
Status › Resolved
straightforward issue
Type › Bug
Type › Design
Type › Known Issue
Type › Patch
Type › Report
Type › To Do
Milestone
Set milestone
Clear milestone
No items
No Milestone
Projects
Set Project
Clear projects
No project
Assignees
Assign users
Clear assignees
No Assignees
12 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-addons#31392
Reference in new issue
There is no content yet.
Delete Branch '%!s(<nil>)'
Deleting a branch is permanent. It CANNOT be undone. Continue?
No
Yes
Project: Blender Extensions
Tracker: Py Scripts Upload
Blender: 2.63
Category: 3D View
Python: 3.2
Script name: Viewport Roll
Author(s): Jace Priester
Status: Open
%%%The viewport currently has pan and tilt but no roll ability. This script adds roll capability and uses the only remaining middle mouse + key combos to do so.
Alt + Middle Mouse allows you to use the mouse to roll.
Ctrl+Shift+Mouse wheel scroll allows you to roll via scrolling.
%%%
Changed status to: 'Open'
%%%Had a question about how this differs from trackball mode.
Trackball only allows you to approximate a pure roll by dragging near the edges of the screen. Currently the only way to do a pure roll of the viewport is by attaching a camera to view and R-Z-Z on the camera. This adds pure roll functionality.%%%
%%%Fixed a problem that caused processor usage to remain at peak after using the script. New version uploaded.%%%
%%%Very useful addon. Thank you!%%%
Added subscriber: @atorgon
Great addition, I was looking desperately for something like this! Thank you!
However, on my Blender (2.62 and 2.71) only the action Ctrl+Shift+wheel works, the other option (Alt+middlebutton) doesn't do anything...
Added subscriber: @BrendonMurphy
Changed status from 'Open' to: 'Archived'
Closing as archived, over 3 years old, broken.
Added subscriber: @1D_Inc
I have a question - this addon stopped working in latest Blenders (2.76)
Can it be updated for this versions?
(Personally, I would like to see it in the trunk)
space_view3d_viewport_roll.py
Updated. Tested and working as of 2.76.
Sorry, but I failed to enabled it on 4 win 7-8 machines
It writes
Traceback (most recent call last):
ValueError: validating class:: 'GRAB_POINTER' not found in ('REGISTER', 'UNDO', 'BLOCKING', 'MACRO', 'GRAB_CURSOR', 'PRESET', 'INTERNAL')
Added subscriber: @zoomzoooie
THIS ADDON IS STILL BROKEN IN 2.76
Please fix this addon ASAP!
Blender developers please add this feature to Blender! It is a feature that should have been in blender from the start. I don't know how others have managed without it.
Also note the viewport roll using crlt shift mouse scroll or 4/6 numpad does not give the precision this addon gives.
Version for 2.76. Sorry, looks like I uploaded the wrong file last time. This feature won't be added to Blender. I won't soapbox here except to say I was told by the developers it is "not useful" and "duplicates an existing feature" (it obviously doesn't). Good luck.
space_view3d_viewport_roll.py
Thanks so much!
It's hard to believe the developers would say it's not useful. I don't think they have even tried it because they would know it's no where near the function they have.
I hope you keep updating this addon as needed.
Wow, this was wrong file) That's why I failed to install it...
"not useful" O_o
Well, okay. I'm not developer (just platinum donator) so, who knows.
Will also hope on keeping updating this addon as needed...
Oh my gosh. It's working! Thank you so much for this!!
Added subscriber: @JoseDavidMorenoGonzalez
Thank you for your hard work Jace!
I wanted to add something to the conversation as well. I'm using v 2.75a and I found out what seems to be the "similar" functionality that you were told about, but as usual it is "almost" hidden for the normal blender user.
It certainly doesn't show up properly in the View menu, nor it works with the pre-assigned keyboard shortcuts. Though it is indeed related to how the currently known View Roll works (pressing NumPad 4 & 6 / CTRL + SHIFT + ScrollWheel for incremental roll).
If you look at the User Preferences > Input > 3D View then search for "View Roll" you'll get all the shortcuts assigned to this "View Roll" you can also see that they all share the same RNA code for python which is VIEW3D_OT_view_roll.rna_type
Anyway, afterwards I took one of the mouse shortcuts and changed the roll type from "Roll Left" to "Roll Angle" then configuring it to work with CTRL+ALT+Middle Press (Shift + NumPad 4 by default), and voila, it works beautifully.
One can also press Spacebar and search for "View Roll"
Despite that there's a catch, Blender native View_OT_roll works "best" while moving the mouse only from left to right, as opposed to your solution which feels more organic and allows the user to mimic the view roll to the mouse / stylus motion, which I feel has a special value especially if one is working with a CINTIQ, and for more specialized work like working with the Grease Pencil for 2D Animation.
Anyway hope this helps clear up to future people what are their choices regarding the "View Roll" functionality. Keep up the great work!
Added subscriber: @xan2622
https://blender.community/c/today/4cdbbc/ ("2D Roll View" addon provided)
https://blender.community/c/rightclickselect/j4dbbc/ (related feature request)
This addon is handy, it would be interesting to have this ALT+MMB hotkey (to roll the 3D view) enabled by default in Blender 2.81.
Roll ability is also useful for CAD/Architectural workflow
Added subscriber: @capnm
I've created a github repo for anyone who wants to roll ;-)
https://github.com/capnm/b8RollViewport
Currently the shortcuts are not optional, but you can tweak it in the source code.
Oh my gosh. It's working again!
You rock! Thank you!
Changed status from 'Archived' to: 'Open'
reopening
hi @1D_Inc I take it this function is still not in Blender? Is it something used frequently? I could add it to the 3dview Navigation addon as it relates to this script well. hot Key pref?
@capnm hi, are you ok if we do this?
@BrendonMurphy Good evening. I commented 3 years ago as a reply to the OP, that the view roll functionality was already present in Blender. You can currently configure it already in 2.8 as well. I'm not talking about the add-on, but the internal capability of the view roll using
VIEW3D_OT_view_roll.rna_typeSo it's already configurable via keymap callingview3d.view_roll. Please take a look at my prior comment for reference.Now regarding the add-on it seems to provide some extra functionality and of course everyone is free to use the add-on instead of remapping the shortcuts themselves. That said perhaps a pre-configured built-in set of shortcuts using existing functionality would definitely be better. Cheers.
Added subscriber: @martin-14
Sorry, the view_roll operator works differently in relation to the mouse position and is unusable for me in practice.
That's why I made (or actually resurrected) the add-on.
Sure, I just want something that is practically usable for me and my students, when it's distributed with Blender, the better.
@capnm Hi Martin. I understand what you're saying, and I have nothing but respect for you by bringing this add-on to light, however please understand I'm not against the add-on bundling per say. What I'm against is sidelining the existing functionality leaving it incomplete by default and patching it on top. Wouldn't it be better to try to improve the current core functionality to behave in the way the add-on works at least?
Currently as seen in the attachment GIF (below), I can emulate the continuous view roll with the core method using Roll Angle Source:
Roll.Angleusing even the same shortcut as the add-on, and the only key difference is that in the add-on one can roll the view by dragging around the view center so it feels as if the roll is tracking the mouse pointer (very nice!), while with the current core functionality you have to move the mouse horizontally left or right towards the view center to roll CW or CCW respectively, which is of course less intuitive.Now If you're saying the only way to get the improved behavior is by bundling the add-on, then so be it. By no means I'm undermining the hard work poured on this add-on, nor i'm against adding it, I'm merely questioning if it's really the only way to get an improved behavior built upon what we have.
Thanks again for everyone's hard work, and for your particular response, either way I hope this finds way of improvement in a future release. Cheers and good luck to your and your students :-)
Ok, I'll try in other words: Setting up the key map of the roll_angle operator
is a simple task, you can do it the way you want it (for example, by manufacturing
some Blender UI knob for it). However, this operator wasn't designed for a pointing device
and therefore does not provide a viable solution for people with hand muscles trained to draw like me.
(English isn't my native language and I would rather spend my time elsewhere than in long discussions, sorry.)
I will try to explain what this is about.
Well, in terms of view navigation's flexibility, Trackball = Turntable+Roll ability.
We can't afford Trackball, because it does not respect horizon as turntable does, but in architectural modeling horizon/gravity direction is pretty much significant.
Turntable + Roll is a solution, that mathematically provides the same flexibility/freedom as Trackball, but keeping horizon untouched most of time.
It isn't needed most of the time, but in cases when it's needed, you need it hard.
Just wow, would never have guessed)
Well, indeed, it seems to be a default keymap problem all this time...
Also, I love smoother behaviour of the addon )
At some point I dropped the idea of continuous roll, it was more confusing than useful.
Added subscriber: @nokipaike
can be add, in the configuration the use option for those who use "emulate 3 button mouse"?
Oh my ;) that leaves only bad options.
The RMB is also generally used for modal operator cancel, any suggestions?
Currently:
ctrl-alt LMB zoom, was roll
ctrl-alt MMB nop, was roll
ctrl-alt RMB reset roll z-axis
alt LMB rotate
alt RMB
shift-alt RMB pan
shift-alt RMB
ctrl-shift-alt LMB dolly
ctrl-shift-alt RMB
Oh, I see. If you haven't tried the add-on, you probably will not understand
what I'm talking about. Here are screenshots to make it clearer:
roll_angle operator:

add-on

My explanation was addressed to Brandon Murphy's question, which was quoted at the top of my post:
About difference between addon and default roll I said
That means, that I tried an addon, compared it with default roll, and figured out, that addon behaves better and smoother.
Good job!
I meant 'you guys', there is a big stack on my work-desk, I read and write the comments way too fast;)
I'm glad you like it. It makes together with the Pablo's sculpting cursor finally a more fun for me to work in Blender, but let's stay here more technical.
I see the add-on as "works for me", but using input events in the Python API is not efficient. Ideally, the responsible developer in the foundation could implement the functionality internally. I looked at the add-on that Brendon mentioned, I don't see a use case for the side bar, but I think if someone will maintain and implement the roll functionality there, it would be certainly better than an external add-on.
I'm thinking about switching the roll key map automatically, for example, by detecting "right/left-click select" and as Noki suggested "emulate 3-button mouse", instead of making it user configurable.
Removed subscriber: @JoseDavidMorenoGonzalez
It will be nice if default roll will behave smooth like addon.
I think that addon's paradigm is useful both as smoother roll, and as ability to set preferable keymap.
Addons have higher degree of freedom this way.
I thought this thread was long dead until I started getting a few email post notifications and this morning there was 16 posts. I just wanted to mention my previous request experience to have view port roll built into blender.
I been using the View Port Roll Add-on ever since I start in Blender and discovered the add-on. I use it all the time!
So...several years ago I asked the developers if they could build it into Blender. They said no, it was not useful...
I don't know all the complexities of building view port roll into Blender, but it seems if an add-on works it should be possible.
I have not started using 2.8 yet and I'm not sure when I will, but when I do I'm glad this add-on will still be there for me! Thank you!
I think for the inconvenience, that you need to reset the turntable axis, before you can start rotating the turntable again.
Anyway, I'll do my best to keep it working outside the Blender. I'm open for help with the documentation, suggestions for better usability or to improve the Python code, but please use the Issues tab https://github.com/capnm/b8RollViewport/issues this task addresses the Blender's internal issues. Thanks!
I think I can remember that.
They said that "it was not useful, and duplicating existing functionality" ... and then removed QCD (Layers slots) from 2.8, killing almost every complex creative workflow.
That's the game rule - devs never know what is actually useful, until you will not prove it.
hi, thanks again for the submit. I don't think there's much we can do here. Limited spaces for addons, not everyone seems sold on usefulness.
Hotkey issues?
The only thing I can think of would be to add a checkbox into the 3dNav addon in it's addons preferences to activate this function and list the hotkey.
Other than that, I think we should close this task and move the discussions to rightclickselect or devtalk and attempt to have a built in function.
@capnm what are your thoughts here?
Whenever tread will go the link should be posted here to make us know where we can find it.
Added subscriber: @Blendify
Changed status from 'Needs User Info' to: 'Resolved'
Hi thank you for submitting a patch, unfortunately, we no longer use the task subtype "Patch" please submit new patches through the differential tool: https://developer.blender.org/differential/
Removed subscriber: @capnm
Added subscribers: @capnm, @Vyach
@capnm
Link is dead. Can you up it, or should I?
Addon still work with latest builds.
@capnm
Also, is there way to donate to you? This addon is very useful, not gonna lie.