'View Navigation (Walk/Fly)' inserts Location only keyframes instead of the selected keying set. #70585

Closed
opened 2019-10-06 14:41:59 +02:00 by Likkez · 17 comments

System Information
Operating system: Linux-5.0.12-050012-generic-x86_64-with-neon-18.04-bionic 64 Bits
Graphics card: GeForce GTX 1080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 430.50

Blender Version
Broken: version: 22bdd08dfd
Worked: blender2.80 as well as 22bdd08dfd^

Short description of error
View Navigation inserts only Location keyframes making it really hard to animate camera objects.

Exact steps for others to reproduce the error

  1. Open attached file
  2. Execute 'View Navigation (Walk/Fly)'
  3. Look at the Graph editor and see there's only keyframes for Locations
    camera bug.blend
**System Information** Operating system: Linux-5.0.12-050012-generic-x86_64-with-neon-18.04-bionic 64 Bits Graphics card: GeForce GTX 1080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 430.50 **Blender Version** Broken: version: 22bdd08dfd Worked: blender2.80 as well as 22bdd08dfd^ **Short description of error** View Navigation inserts only Location keyframes making it really hard to animate camera objects. **Exact steps for others to reproduce the error** 1. Open attached file 2. Execute 'View Navigation (Walk/Fly)' 3. Look at the Graph editor and see there's only keyframes for Locations [camera bug.blend](https://archive.blender.org/developer/F7792693/camera_bug.blend)
Author

Added subscriber: @Likkez-2

Added subscriber: @Likkez-2
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

Cannot repro here (both in your version as well as current master).

  • Which keying set are you choosing (file is set to LocRotScale -- I am getting key for location and rotation)?
  • Have you tried this with Factory Settings? Go to File → Defaults → Load Factory Settings and then load your file to see if you still can reproduce this issue.
  • Please also try a fresh build from https://builder.blender.org/download/
Cannot repro here (both in your version as well as current master). - Which keying set are you choosing (file is set to LocRotScale -- I am getting key for location and rotation)? - Have you tried this with Factory Settings? Go to File → Defaults → Load Factory Settings and then load your file to see if you still can reproduce this issue. - Please also try a fresh build from https://builder.blender.org/download/
Author

I've downloaded today's build and reset it to factory settings. I've noticed it keys only location if i rotate it and apply but it inserts both location and rotation keys when I play animation while rotating it.
2019-10-07 15-54-04.mp4

I've downloaded today's build and reset it to factory settings. I've noticed it keys only location if i rotate it and apply but it inserts both location and rotation keys when I play animation while rotating it. [2019-10-07 15-54-04.mp4](https://archive.blender.org/developer/F7794612/2019-10-07_15-54-04.mp4)

Added subscriber: @Phigon

Added subscriber: @Phigon

"keyingset" is unrelated to the problem here.

The system that tells autokeyframe to insert keys, when something is changed, is faulty.
Blender recognizes that rotation was changed but the confirmation step where it sets the pose and insert the keyframe, doesn't.

"keyingset" is unrelated to the problem here. The system that tells autokeyframe to insert keys, when something is changed, is faulty. Blender recognizes that rotation was changed but the confirmation step where it sets the pose and insert the keyframe, ***doesn't.***
Author

This comment was removed by @Likkez-2

*This comment was removed by @Likkez-2*
Author

Added subscriber: @Mets

Added subscriber: @Mets
Author

I think me and @Mets have figured it out. This happens because it checks if the mouse is moving around before keying the rotation. It seems this is happening because of the playback keying working even when there's no playback going on. You can see in the attached video that when i apply rotation while the mouse is static it keys only location but when i apply rotation while the mouse is moving around it keys both. 2019-10-07 16-26-29.mp4

I think me and @Mets have figured it out. This happens because it checks if the mouse is moving around before keying the rotation. It seems this is happening because of the playback keying working even when there's no playback going on. You can see in the attached video that when i apply rotation while the mouse is static it keys only location but when i apply rotation while the mouse is moving around it keys both. [2019-10-07 16-26-29.mp4](https://archive.blender.org/developer/F7794643/2019-10-07_16-26-29.mp4)

Added subscriber: @dfelinto

Added subscriber: @dfelinto
Dalai Felinto self-assigned this 2019-10-07 17:43:47 +02:00

This is indeed strange. It worked fine in 2.80 though, so I need to find out when the issue was first introduced.

This is indeed strange. It worked fine in 2.80 though, so I need to find out when the issue was first introduced.

For the records, tried both with 2.80 official (bug is not there), and latest 2.81 HEAD/ad84f22628d7 (bug is there).

For the records, tried both with 2.80 official (bug is not there), and latest 2.81 HEAD/ad84f22628d7 (bug is there).
Dalai Felinto removed their assignment 2019-10-08 05:55:34 +02:00
Philipp Oeser was assigned by Dalai Felinto 2019-10-08 05:55:34 +02:00

Phillipp this was introduced in your patch, want to look at it? Otherwise assign it back to me

Phillipp this was introduced in your patch, want to look at it? Otherwise assign it back to me
Member

Fly is actually fine, I think 22bdd08dfd just exposed some quirk in the logic of walk moffset (or just doesnt play nicely with it anymore -- in that once your mouse comes to rest, moffset will be zero, so it is not suitable anymore for a check if rotation has happened at some point...), will check...

Fly is actually fine, I think 22bdd08dfd just exposed some quirk in the logic of walk moffset (or just doesnt play nicely with it anymore -- in that once your mouse comes to rest, moffset will be zero, so it is not suitable anymore for a check if rotation has happened **at some point**...), will check...
Member

Because for walk, the cursor is constantly warped (WM_cursor_warp in walkEvent), we cant do something reasonable with comparing mouse positions (to detect rotation) once the mouse comes to rest [this was only working prior to 22bdd08dfd because keyframes were inserted constantly]

So will need to think a bit how to resolve:

  • either get rid of warping and thus could compare "real" mouse positions vs. mouse start positions OR
  • compare View3DCameraControl::obtfm [thats the backup of the transform before walking] rotation with what the current status really is... OR
  • just remember if rotation has changed at any time (needs careful reset if keyframe was actually inserted...)
Because for walk, the cursor is constantly warped (`WM_cursor_warp` in `walkEvent`), we cant do something reasonable with comparing mouse positions (to detect rotation) once the mouse comes to rest [this was only working prior to 22bdd08dfd because keyframes were inserted constantly] So will need to think a bit how to resolve: - either get rid of warping and thus could compare "real" mouse positions vs. mouse start positions OR - compare View3DCameraControl::obtfm [thats the backup of the transform before walking] rotation with what the current status really is... OR - just remember if rotation has changed **at any time** (needs careful reset if keyframe was actually inserted...)

This issue was referenced by 7a1847f0e9

This issue was referenced by 7a1847f0e9fdeec8276ec3f274b4eb74b7956063
Member

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'
Thomas Dinges added this to the 2.81 milestone 2023-02-08 16:46:56 +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
5 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#70585
No description provided.