Share via


Lean tracking

Lean tracking APIs make it possible to incorporate player lean, how much their body is leaning from vertical, into their experience. You might use this feature to have a player lean around an obstacle to see something for instance. The value returned is pre-filtered for an optimum combination of stability and latency and is packaged to resemble the thumbstick API.

Leaning left and right corresponds to X movement; leaning forward and back corresponds to Y movement. The values range between -1 and 1 in both directions, where 1 roughly corresponds to 45 degrees of lean.

Access the lean values from the body frame.

Get the X and Y lean values from the body frame

This code gets the X and Y lean values from the body frame.


IBody^ body = // Gets the body frame using NUI APIs.

Windows::Foundation::Point leanAmount = body->Lean;
float x = leanAmount.X;
float y = leanAmount.Y;

if(body->LeanTrackingState == TrackingState::Tracked)
{
  // Do stuff with lean values.
}
else
{
  // Use values from previous frame or default values.
}

See also

Body tracking