Maniphest T82463

Child bone erraticly flips to the other side of the parent when parent is tracking-to
Closed, Archived

Assigned To
None
Authored By
J-W. Versteegh (JWblender)
Nov 6 2020, 4:04 PM
Tags
  • BF Blender
Subscribers
J-W. Versteegh (JWblender)
Richard Antalik (ISS)

Description

System Information
Operating system: Windows-10-10.0.19041-SP0 64 Bits
Graphics card: GeForce GTX 1050 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 441.22

Blender Version
Broken: version: 2.90.1, branch: master, commit date: 2020-09-23 06:43, hash: rB3e85bb34d0d7
Worked: none

Short description of error
Child bone erraticly flips to the other side of the parent, when the parent crosses X while tracking to a moving empty.

Exact steps for others to reproduce the error

  • Load my blend file (with sourcefile Bereken locatie E.py).
  • Select Bone_F, disable Track-to (Axle_E).
  • Rotate Bone_F along X; Bone_F2 sticks to Bone_F the way I want it to, it rotates with it, keeping the angle with Bone_F steady.
  • Now run the code in the text-editor (with Bereken locatie E.py). It calculates the position of empty Axle_E with every frame-change.
  • Select Bone_F and enable Track-to (Axle_E).
  • The problem is emminent now: Bone_F2 flips to the side of Y where the head of Bone_F is too. I want it to retain its fixed rotation-position to Bone_F, so always pointing left in this case (without needing extra constraints of course).
  • I tried it also both in Blender 2.79 and 2.92.0 Alpha.

Thanks in advance,
JWblender.

Event Timeline

J-W. Versteegh (JWblender) created this task.Nov 6 2020, 4:04 PM
Richard Antalik (ISS) changed the task status from Needs Triage to Needs Information from User.Nov 10 2020, 8:46 PM
Richard Antalik (ISS) added a subscriber: Richard Antalik (ISS).

Thanks for report, but your code is quite complex. Can you simplify it as much as possible and tell us what exactly does not work as expected?

We don't provide technical support here. For support and technical discussions please use one of the community websites: https://www.blender.org/community/

J-W. Versteegh (JWblender) added a comment.Nov 21 2020, 5:37 PM

Thanks for reacting.
The code calculates the crossing point(s) of two circles. They are two distances point E must adhere to.
It works as expected and places object E (named axle_E) at the right location.
This location is where the head of bone Bone_F should be. Is working fine.
I want bone Bone_F2 to be exactly 90 degrees onto bone Bone_F.
When I rotate bone Bone_F with Track To disabled, bone Bone_F2 follows Bone_F correctly as I want.
But when I enable Track To for Bone_F, is seems to flip constantly.

Kind regards,
Jan-Willem Versteegh

Richard Antalik (ISS) closed this task as Archived.Nov 23 2020, 4:21 PM

Thanks for info, so the script doesn't play any role here - you need 2 bones and Axle_E to demonstrate this.
I had to google if this is known issue and apparently it is caused by Track To constraint. I guess this would be similar issue as T56176

If you replace Track To constraint by Damped Track, it works well.