Extended Controls for Camera Gizmo #57234

Open
opened 4 years ago by WilliamReynish · 30 comments

Currently, when switching to the camera view, it’s not immediately clear to users how to manipulate it. The camera must be selected, and it requires some difficult multi-step actions to be able to rotate or move the camera.

Additionally, from a camera operation perspective, users usually need a more optimized and precise way to only affect the pitch, yaw, panning, tracking and zooming, separately.

We can make this a lot easier by surfacing optimized camera manipulation gizmos right in the viewport when viewing the scene through the camera view:

Screen_Shot_2018-06-13_at_18.21.42.png

Currently, when switching to the camera view, it’s not immediately clear to users how to manipulate it. The camera must be selected, and it requires some difficult multi-step actions to be able to rotate or move the camera. Additionally, from a camera operation perspective, users usually need a more optimized and precise way to only affect the pitch, yaw, panning, tracking and zooming, separately. We can make this a lot easier by surfacing optimized camera manipulation gizmos right in the viewport when viewing the scene through the camera view: ![Screen_Shot_2018-06-13_at_18.21.42.png](https://archive.blender.org/developer/F4937010/Screen_Shot_2018-06-13_at_18.21.42.png)
ideasman42 was assigned by WilliamReynish 4 years ago
Poster
Added subscribers: @WilliamReynish, @Znio.G, @DanPool, @Rawalanche, @zeauro, @A.Lex_3D, @CraigJones, @nokipaike, @JonDoe286, @DuarteRamos, @Djay

Added subscriber: @AdamPreisler

Added subscriber: @AdamPreisler
Owner

See: https://devtalk.blender.org/t/lock-camera-to-view-it-was-torture-to-find-it/5473/6 - maybe we should have a way to toggle 'Lock to camera view'.

See: https://devtalk.blender.org/t/lock-camera-to-view-it-was-torture-to-find-it/5473/6 - maybe we should have a way to toggle 'Lock to camera view'.
Poster

Sure, that could be added here too

Sure, that could be added here too

A popover menu to pick currently active camera would also be very welcome.
Something akin to what we can currently do from the Scene tab of the Properties Editor.
It is currently hard to quickly browse through all cameras views in a scene.

fbfa54b20a74889c9d369d3d73d5020e96d7080a.jpeg

A [popover menu to pick currently active camera ](https://devtalk.blender.org/t/blender-ui-paper-cuts/2596/328?u=duarte.framos) would also be very welcome. Something akin to what we can currently do from the Scene tab of the Properties Editor. It is currently hard to quickly browse through all cameras views in a scene. ![fbfa54b20a74889c9d369d3d73d5020e96d7080a.jpeg](https://archive.blender.org/developer/F6577800/fbfa54b20a74889c9d369d3d73d5020e96d7080a.jpeg)
Poster

@DuarteRamos: It's a nice idea, although almost completely unrelated to this design task. My original vision for this would be to not have a camera button here at all, but merge the camera selector with the active camera text on the top left of the viewport. This would also give you ability to switch cameras this way:

Screenshot 2019-02-11 at 11.34.11.png

(disregard old icons etc)

I still think that would be nicer, because the camera toggle is fundamentally different from the viewpoint gizmo. The other buttons are manipulation widgets, but the camera one is just a toggle button.

@DuarteRamos: It's a nice idea, although almost *completely* unrelated to this design task. My original vision for this would be to not have a camera button here at all, but merge the camera selector with the active camera text on the top left of the viewport. This would also give you ability to switch cameras this way: ![Screenshot 2019-02-11 at 11.34.11.png](https://archive.blender.org/developer/F6578002/Screenshot_2019-02-11_at_11.34.11.png) (disregard old icons etc) I still think that would be nicer, because the camera toggle is fundamentally different from the viewpoint gizmo. The other buttons are manipulation widgets, but the camera one is just a toggle button.

Just though it could also integrate to the camera view gizmos, but your solution is indeed a lot more consistent.
It also turns the viewport text into something functional, instead of static text.

Just though it could also integrate to the camera view gizmos, but your solution is indeed a lot more consistent. It also turns the viewport text into something functional, instead of static text.
Poster

@DuarteRamos Exactly right, that is the rationale.

Anyway, this design task is about something different: a new gizmo, specific to being inside the camera view, to manipulate the camera using camera/lens-controls.

@DuarteRamos Exactly right, that is the rationale. Anyway, this design task is about something different: a new gizmo, specific to being inside the camera view, to manipulate the camera using camera/lens-controls.

Added subscriber: @Jaydead

Added subscriber: @Jaydead
ideasman42 changed title from Camera Gizmo Todo to Extended Controls for Camera Gizmo 4 years ago

Added subscriber: @AcidRain0

Added subscriber: @AcidRain0

Bump

Bump
Poster

@AcidRain0 Appreciate the support for this, but please don't do that - this is not a forum. Hopefully this could be added for 2.83 if there is time. We'll see.

@AcidRain0 Appreciate the support for this, but please don't do that - this is not a forum. Hopefully this could be added for 2.83 if there is time. We'll see.

Since there is a discussion now and a hopeful horizon I would like to add that since we're talking about cameras it would be great to have Exposure & Contrast controls.

Also an ability to widen one edge of the camera like if we Crop in Photoshop would be helpful but probably a little tougher to implement. One would have to care about Offsets while changing Focal Length and also dimensions of the Rendered Image and to keep all these variables in check must be pretty hard to do.

It would be helpful though to be able to extend image or make a smaller crop of the image right from the viewport with simple controls.

Really looking forward to that quick camera change! Everyone I teach has problems with the current location in the Scene tab.

Since there is a discussion now and a hopeful horizon I would like to add that since we're talking about cameras it would be great to have Exposure & Contrast controls. Also an ability to widen one edge of the camera like if we Crop in Photoshop would be helpful but probably a little tougher to implement. One would have to care about Offsets while changing Focal Length and also dimensions of the Rendered Image and to keep all these variables in check must be pretty hard to do. It would be helpful though to be able to extend image or make a smaller crop of the image right from the viewport with simple controls. **Really looking forward to that quick camera change!** Everyone I teach has problems with the current location in the Scene tab.
Poster

@AdamPreisler This doesn’t add any extra affordance to switch cameras. This is about the ability to more easily manipulate the camera when inside the camera view, which is currently not so easy by default.

For easier switching of cameras, see the Outliner task here: #68498

@AdamPreisler This doesn’t add any extra affordance to switch cameras. This is about the ability to more easily manipulate the camera when inside the camera view, which is currently not so easy by default. For easier switching of cameras, see the Outliner task here: #68498

Personally I prefer simply Walk Navigation (where you can also fly with TAB) which is in Blender.

I think by default the shortcut is Shift+F although not 100% sure, I have it as Shift+5 meaning it is extended perspective mode. However I see the advantage of this clicky solution when using tablets and not having a mouse. I just wish I could hide it because it's often just better to go G > Z+Z to for example move camera forward / backward because then the operation runs on Local coords.

In 3ds Max people tend to use this exact similar function, also called Walk mode there. It's somewhere to be clicked in lower right corner.

I just wanted to give my input, I think there's lots of these little shortcomings that would be good to address.
Especially Exposure control in Render Result for example.

Also related is the default location for Color Management being at the very bottom of Render tab is just such a flawed default setting because Exposure affects virtually everything unless you don't want to save anything visual out of Blender. I always move these to the top of the list because Exposure is so important.

Personally I prefer simply Walk Navigation (where you can also fly with TAB) which is in Blender. I think by default the shortcut is Shift+F although not 100% sure, I have it as Shift+5 meaning it is extended perspective mode. However I see the advantage of this clicky solution when using tablets and not having a mouse. I just wish I could hide it because it's often just better to go G > Z+Z to for example move camera forward / backward because then the operation runs on Local coords. In 3ds Max people tend to use this exact similar function, also called Walk mode there. It's somewhere to be clicked in lower right corner. I just wanted to give my input, I think there's lots of these little shortcomings that would be good to address. **Especially Exposure control in Render Result for example.** **Also related is the default location for Color Management being at the very bottom of Render tab** is just such a flawed default setting because Exposure affects virtually everything unless you don't want to save anything visual out of Blender. I always move these to the top of the list because Exposure is so important.
Poster

The original design doc here has some issues I'd like to improve upon:

  • The icons for move/rotate were hard to distinguish
  • The gizmos were not very consistent with general move or rotate gizmos
  • We didn't use axis colors
  • When using Move/Rotate tools, no gizmos currently appears

Instead, we can simply tie this into the tool system:
Screenshot 2020-01-13 at 09.50.50.png

This way it's clearer how to show or hide these gizmos, and they will appear in a more consistent way, with consistent use of axis colors and more distinct difference between move or rotate gizmos.

Move tool enabled:
{F8275363, size=full}

Rotate tool enabled:
{F8275365, size=full}

Transform tool enabled:
{F8275371, size=full}

The original design doc here has some issues I'd like to improve upon: - The icons for move/rotate were hard to distinguish - The gizmos were not very consistent with general move or rotate gizmos - We didn't use axis colors - When using Move/Rotate tools, no gizmos currently appears Instead, we can simply tie this into the tool system: ![Screenshot 2020-01-13 at 09.50.50.png](https://archive.blender.org/developer/F8275369/Screenshot_2020-01-13_at_09.50.50.png) This way it's clearer how to show or hide these gizmos, and they will appear in a more consistent way, with consistent use of axis colors and more distinct difference between move or rotate gizmos. Move tool enabled: {[F8275363](https://archive.blender.org/developer/F8275363/Screenshot_2020-01-13_at_09.46.29.png), size=full} Rotate tool enabled: {[F8275365](https://archive.blender.org/developer/F8275365/Screenshot_2020-01-13_at_09.46.48.png), size=full} Transform tool enabled: {[F8275371](https://archive.blender.org/developer/F8275371/Screenshot_2020-01-13_at_09.52.01.png), size=full}
Poster

@AdamPreisler

In addition to these gizmos, we could offer a toggle here to switch into Walk Mode more easily:

Screenshot 2020-01-13 at 15.49.17.png

Walk mode is modal however, which has its own downsides - you must switch in and out of it. So it's not a replacement for making gizmos for manipulating the camera. It's also very keyboard-centric, which these gizmos are not.

@AdamPreisler In addition to these gizmos, we could offer a toggle here to switch into Walk Mode more easily: ![Screenshot 2020-01-13 at 15.49.17.png](https://archive.blender.org/developer/F8275787/Screenshot_2020-01-13_at_15.49.17.png) Walk mode is modal however, which has its own downsides - you must switch in and out of it. So it's not a replacement for making gizmos for manipulating the camera. It's also very keyboard-centric, which these gizmos are not.
Harley commented 3 years ago
Collaborator

Added subscriber: @Harley

Added subscriber: @Harley
Harley commented 3 years ago
Collaborator

Some silly comments...

I realize that the current look when viewing through the camera is meant to invoke the thought of looking through a camera viewfinder. But it has never worked that well for me as it just seems a bit too simple. Currently looks something like this, with a vignetting scrim all around:

CameraView1.jpg

I'd rather it add a bit more flourish to better mimic looking through a modern film camera or camera operator monitor. The darkest scrim at top and bottom masking off the area outside the camera sensor. Then a bordered area indicating the current crop proportions:

CameraView2.jpg

As for icons, I think they can be simplified. Basically there are only 6 major camera changes. They can be separated into two groups of three. And you can just use the same three icons twice as there is a nice symmetry between them. So a label for "Stationary" (or Tripod or similar) followed by three icons. Then "Movement" (or similar) followed by the same three icons:

zoom.png

Zoom

zoom.gif

Dolly (camera movement forward and back)

dolly.gif

pan.png

Pan

pan.gif

Truck (camera movement left and right)

truck.gif

tilt.png

Tilt

tilt.gif

Pedestal (or Boom up/down or Jib up/down)

pedestal.gif

Some silly comments... I realize that the current look when viewing through the camera is meant to invoke the thought of looking through a camera viewfinder. But it has never worked that well for me as it just seems a bit too simple. Currently looks something like this, with a vignetting scrim all around: ![CameraView1.jpg](https://archive.blender.org/developer/F8297367/CameraView1.jpg) I'd rather it add a bit more flourish to better mimic looking through a modern film camera or camera operator monitor. The darkest scrim at top and bottom masking off the area outside the camera sensor. Then a bordered area indicating the current crop proportions: ![CameraView2.jpg](https://archive.blender.org/developer/F8297370/CameraView2.jpg) As for icons, I think they can be simplified. Basically there are only 6 major camera changes. They can be separated into two groups of three. And you can just use the same three icons twice as there is a nice symmetry between them. So a label for "Stationary" (or Tripod or similar) followed by three icons. Then "Movement" (or similar) followed by the same three icons: ![zoom.png](https://archive.blender.org/developer/F8297380/zoom.png) Zoom ![zoom.gif](https://archive.blender.org/developer/F8297382/zoom.gif) Dolly (camera movement forward and back) ![dolly.gif](https://archive.blender.org/developer/F8297385/dolly.gif) ![pan.png](https://archive.blender.org/developer/F8297387/pan.png) Pan ![pan.gif](https://archive.blender.org/developer/F8297390/pan.gif) Truck (camera movement left and right) ![truck.gif](https://archive.blender.org/developer/F8297392/truck.gif) ![tilt.png](https://archive.blender.org/developer/F8297399/tilt.png) Tilt ![tilt.gif](https://archive.blender.org/developer/F8297401/tilt.gif) Pedestal (or Boom up/down or Jib up/down) ![pedestal.gif](https://archive.blender.org/developer/F8297404/pedestal.gif)

Added subscriber: @RobertS

Added subscriber: @RobertS

If the intent here is to place various control gizmos around the frame/border of a camera locked viewport, could you also please consider being able to resize the frame itself with a gizmo?

When the viewport is locked to a camera, it's not immediately apparent to a user how to resize the frame (because you either have to know a keyboard shortcut, or know to unlock the viewport and then use the scrollwheel). Ref, the following papercut:

https://devtalk.blender.org/t/blender-ui-paper-cuts/2596/3836?u=eobet

If the intent here is to place various control gizmos around the frame/border of a camera locked viewport, could you also please consider being able to resize the frame itself with a gizmo? When the viewport is locked to a camera, it's not immediately apparent to a user how to resize the frame (because you either have to know a keyboard shortcut, or know to unlock the viewport and then use the scrollwheel). Ref, the following papercut: https://devtalk.blender.org/t/blender-ui-paper-cuts/2596/3836?u=eobet

Removed subscriber: @RobertS

Removed subscriber: @RobertS

Added subscriber: @Romain-Lamothe

Added subscriber: @Romain-Lamothe
bent commented 3 years ago

Added subscriber: @bent

Added subscriber: @bent
Harley commented 3 years ago
Collaborator

Some misc mockups from the last time I was playing around in here, in case anyone wants to try improving on it.

Following shows the Active camera (orange corners) and with center guides enabled. The idea is that you could drag the camera by the (larger) corners. Top left is showing the current camera name and has arrows to jump to next and previous camera. Bottom left has buttons for fixed camera changes: tilt, pan, zoom. Buttons at bottom right are for camera movement: pedestal, truck, dolly.

Camera1.png

Following shows the camera as inactive (grey corners), locked (red border), and with safe areas and "thirds" guides enabled.

Camera2.png

Some misc mockups from the last time I was playing around in here, in case anyone wants to try improving on it. Following shows the Active camera (orange corners) and with center guides enabled. The idea is that you could drag the camera by the (larger) corners. Top left is showing the current camera name and has arrows to jump to next and previous camera. Bottom left has buttons for fixed camera changes: tilt, pan, zoom. Buttons at bottom right are for camera *movement*: pedestal, truck, dolly. ![Camera1.png](https://archive.blender.org/developer/F8753623/Camera1.png) Following shows the camera as inactive (grey corners), locked (red border), and with safe areas and "thirds" guides enabled. ![Camera2.png](https://archive.blender.org/developer/F8753625/Camera2.png)

Added subscriber: @elekmark

Added subscriber: @elekmark

Added subscriber: @RedMser

Added subscriber: @RedMser

Added subscriber: @lexfazio

Added subscriber: @lexfazio

Added subscriber: @JaumeBellet

Added subscriber: @JaumeBellet

Added subscriber: @Nika-Kutsniashvili

Added subscriber: @Nika-Kutsniashvili
lichtwerk removed the
legacy module/User Interface
label 3 hours ago
lichtwerk removed the
Interest/User Interface
label 3 hours ago
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/Collada
Interest/Compositing
Interest/Core
Interest/Cycles
Interest/Dependency Graph
Interest/Development Management
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/Modeling
Interest/Modifiers
Interest/Motion Tracking
Interest/Nodes & Physics
Interest/Overrides
Interest/Performance
Interest/Performance
Interest/Physics
Interest/Pipeline, Assets & I/O
Interest/Platforms, Builds, Tests & Devices
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
legacy module/Animation & Rigging
legacy module/Core
legacy module/Development Management
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/Triaging
legacy module/User Interface
legacy module/VFX & Video
legacy project/1.0.0-beta.2
legacy project/Asset Browser (Archived)
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/Code Quest
legacy project/Datablocks and Libraries
legacy project/Eevee
legacy project/Game Animation
legacy project/Game Audio
legacy project/Game Data Conversion
legacy project/Game Engine
legacy project/Game Logic
legacy project/Game Physics
legacy project/Game Python
legacy project/Game Rendering
legacy project/Game UI
legacy project/GPU / Viewport
legacy project/GSoC
legacy project/Infrastructure: Websites
legacy project/LibOverrides - Usability and UX
legacy project/Milestone 1: Basic, Local Asset Browser
legacy project/Nodes
legacy project/OpenGL Error
legacy project/Papercut
legacy project/Pose Library Basics
legacy project/Retrospective
legacy project/Tracker Curfew
legacy project/Wintab High Frequency
Meta/Good First Issue
Meta/Papercut
migration/requires-manual-verification
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 & Devices
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 Information 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

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#57234
Loading…
There is no content yet.