Add mesh, align to view, un check align to view. not updating. #28805

Closed
opened 2011-10-04 20:33:09 +02:00 by Martin Lindelöf · 10 comments

%%%1. add mesh
2. check align to view (mesh aligns to view)
3. uncheck align to view (mesh doesn't refresh, neither does X;Y;Z rotation inputs)

revision 40789
mac osx 10.7 lion
%%%

%%%1. add mesh 2. check align to view (mesh aligns to view) 3. uncheck align to view (mesh doesn't refresh, neither does X;Y;Z rotation inputs) revision 40789 mac osx 10.7 lion %%%
Author
Member

Changed status to: 'Open'

Changed status to: 'Open'

%%%this is surprisingly not easy to solve since there are 2 settings which modify the object rotation and one overrides the other.

  • If rotation is set, view align is ignored.
  • If view align is set, rotation is set from view.

problem is that setting view align sets rotation so when its clicked off it just uses the rotation set by the view.

Not that fussy on how this is done but can see its a bit stupid.

I'm tempted to have an align to view operator and remove it from the add-object operators.

This way the user preference is used by the operator, and if the user wants to align to the view in any other context its an explicit action.

Another way to solve is to have the view align not initialize the operators rotation, so the object will be rotated to the view but rotation will read 0,0,0. this is confusing in a different way but at least clicking off 'View Align' will reset the object.%%%

%%%this is surprisingly not easy to solve since there are 2 settings which modify the object rotation and one overrides the other. - If rotation is set, view align is ignored. - If view align is set, rotation is set from view. problem is that setting view align sets rotation so when its clicked off it just uses the rotation set by the view. Not that fussy on how this is done but can see its a bit stupid. I'm tempted to have an align to view operator and remove it from the add-object operators. This way the user preference is used by the operator, and if the user wants to align to the view in any other context its an explicit action. Another way to solve is to have the view align not initialize the operators rotation, so the object will be rotated to the view but rotation will read 0,0,0. this is confusing in a different way but at least clicking off 'View Align' will reset the object.%%%
Author
Member

%%%and I just thought a update() function was left out ^^
because if you hover the inputs you see the X;Y;Z shows the view rotation as you said.

last mentioned solution, wouldn't that be confusing? the added mesh has a obvious rotation, but XYZ says all 0,0,0?

could a temporary 3d vector variable be created at operator call? this 3d vector has 0,0,0 rotation.
and if the align-to-view is un checked the mesh wil be rotated according to this temporary 3d vector ?

so rotation is never set, it's always read either from 3d viewport rotation, or this temporary 3d vector.%%%

%%%and I just thought a update() function was left out ^^ because if you hover the inputs you see the X;Y;Z shows the view rotation as you said. last mentioned solution, wouldn't that be confusing? the added mesh has a obvious rotation, but XYZ says all 0,0,0? could a temporary 3d vector variable be created at operator call? this 3d vector has 0,0,0 rotation. and if the align-to-view is un checked the mesh wil be rotated according to this temporary 3d vector ? so rotation is never set, it's always read either from 3d viewport rotation, or this temporary 3d vector.%%%
Author
Member

%%%and if user is inputing XYZ rotation, he's actually rotating this 3d vector, and mesh is reading it's XYZ rotation.%%%

%%%and if user is inputing XYZ rotation, he's actually rotating this 3d vector, and mesh is reading it's XYZ rotation.%%%

%%%I think align to view should be part of the operator, there's many operators that work this way, getting their default parameters from the user preferences. I think the problem is in ignoring align to view when the rotation is set. To make that more clear, the rotation values could be grayed out in the UI when align to view is enabled.%%%

%%%I think align to view should be part of the operator, there's many operators that work this way, getting their default parameters from the user preferences. I think the problem is in ignoring align to view when the rotation is set. To make that more clear, the rotation values could be grayed out in the UI when align to view is enabled.%%%

%%%@brecht, the problem with always using the view align option is the object will always snap to the view rotation, even when changing other settings, maybe this is OK though it used to do this and IMHO was odd/annoying.

Since you add the object (View align on in userprefs), rotate the view, change the location --- object faces view again.
%%%

%%%@brecht, the problem with always using the view align option is the object will always snap to the view rotation, even when changing other settings, maybe this is OK though it used to do this and IMHO was odd/annoying. Since you add the object (View align on in userprefs), rotate the view, change the location --- object faces view again. %%%

%%%Prepared patch for this issue: http://www.pasteall.org/25391/diff
IMO, storing rotation to prevent re-aligning when adjusting other settings reduces amount of confusing thing. So it was only issue of re-setting stored rotation when toggling Align To View option.

Prefer Campbell/Brecht to verify way of resetting rotation before commit.%%%

%%%Prepared patch for this issue: http://www.pasteall.org/25391/diff IMO, storing rotation to prevent re-aligning when adjusting other settings reduces amount of confusing thing. So it was only issue of re-setting stored rotation when toggling Align To View option. Prefer Campbell/Brecht to verify way of resetting rotation before commit.%%%

%%%Campbell, indeed, I didn't consider that.

Sergey, this looks like a good fix to me.%%%

%%%Campbell, indeed, I didn't consider that. Sergey, this looks like a good fix to me.%%%

%%%Patch commited to svn rev40831.
Thanks for the report, closing.%%%

%%%Patch commited to svn rev40831. Thanks for the report, closing.%%%

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'
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
4 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#28805
No description provided.