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