Unity-Technologies / arfoundation-samples

Example content for Unity projects based on AR Foundation
Other
3.06k stars 1.15k forks source link

[Bug] ARKit Body tracking neck joint(s) incorrectly reports rotation #920

Closed genereddick closed 2 years ago

genereddick commented 2 years ago

Unity bug report case number Case 1386787

Describe the bug When Body Tracking and using the code from the AR Foundation Samples project, it seems like at least one of the Neck joints is reporting an incorrect rotation. Looking to the side, left or right, instead causes a head tilt (as you can see in the attached image). This seems to be coming in specifically from the Neck4 joint. It is possible it is an accumulation of errors across all the neck joints.

My fix. to swap the x and y rotations sort of works, but feels extremely sketchy:

neck4.rotation = Quaternion.Euler(-neck4.y, neck4.x, neck4.z);

To Reproduce Steps to reproduce the behavior:

  1. Load the sample project.
  2. Open body tracking.
  3. Look left or right
  4. See error

Expected behavior The robot head should rotate not tilt

Actual behavior The robot head tilts

Smartphone (please complete the following information):

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

andyb-unity commented 2 years ago

We were able to reproduce visibly inaccurate neck tracking in a variety of body poses using ARKit; however, these values come from ARKit itself, and ARFoundation makes no modifications to the joint transforms. Please direct further questions to Apple for this issue.