Page MenuHome

'View Navigation (Walk/Fly)' inserts Location only keyframes instead of the selected keying set.
Closed, ResolvedPublic

Description

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: rB22bdd08dfd08
Worked: blender2.80 as well as rB22bdd08dfd0^

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

Event Timeline

Philipp Oeser (lichtwerk) lowered the priority of this task from Needs Triage by Developer to Needs Information from User.Mon, Oct 7, 1:43 PM

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/
D. O. (Likkez) added a comment.EditedMon, Oct 7, 2:59 PM

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.

"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.

This comment was removed by D. O. (Likkez).

I think me and @Demeter Dzadik (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.

Dalai Felinto (dfelinto) raised the priority of this task from Needs Information from User to Confirmed, Medium.
Dalai Felinto (dfelinto) edited projects, added BF Blender (2.81); removed BF Blender.

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).

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

Fly is actually fine, I think rB22bdd08dfd08 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...

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 rB22bdd08dfd08 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...)