oculus-samples / Unity-Movement

Body, Eye and Face Tracking code sample.
Other
269 stars 45 forks source link

iobt lower body tracking question #56

Closed keyone957 closed 7 months ago

keyone957 commented 7 months ago

When performing iobt retargeting, is it possible to measure the user's height again and control avatar retargeting with a component?

For example, if a user sits down and takes off the VR device, full tracking of the avatar stops, but if the user stands again and puts the VR device on, the lower body will remain in a sitting state. Therefore, what I want to do is when the user puts the device on again, I recalculate the user's height and try avatar retargeting again.

Is it possible to use the proofreading API as shown on this site? If you know how to use it, please reply. ==> https://developer.oculus.com/documentation/unity/move-body-tracking/#calibration-api

sohailshafiiWk commented 7 months ago

You can trigger autocalibration at any time by calling ResetBodyTrackingCalibration as described in the API. We would suggest that you call this in the situation where the user stands up like you describe. Also, while sitting if you prompt the user to hold out their arm and move in a circle within 10 seconds of calling the ResetBodyTrackingCalibration, it will pick up the arm length and use that to calculate standing height. Alternatively, if you know the user’s height (e.g., manually entered), you can use the SuggestBodyTrackingCalibrationOverride(float height) call to set the height explicitly.

keyone957 commented 7 months ago

You can trigger autocalibration at any time by calling ResetBodyTrackingCalibration as described in the API. We would suggest that you call this in the situation where the user stands up like you describe. Also, while sitting if you prompt the user to hold out their arm and move in a circle within 10 seconds of calling the ResetBodyTrackingCalibration, it will pick up the arm length and use that to calculate standing height. Alternatively, if you know the user’s height (e.g., manually entered), you can use the SuggestBodyTrackingCalibrationOverride(float height) call to set the height explicitly.

private void Update() { if (Input.GetKeyDown(KeyCode.G)) { OVRBody.ResetBodyTrackingCalibration(); OVRPlugin.ResetBodyTrackingCalibration();

    }
}

When I press the G key on the keyboard, I want to run the ResetBodyTrackingCalibration() function. Isn't it possible to do it this way? I want to recalibrate the avatar by pressing the G key. I'm not good at coding... help!!...

image image

how can i use collibration api

keyone957 commented 7 months ago

SuggestBodyTrackingCalibrationOverride(float height) This function solved the problem, but is there a way to automatically obtain the approximate user's height?

sohailshafiiWk commented 7 months ago

Hello, The API does not currently support the export of height information. We will close this issue for now, please let us know if you run into other problems.

keyone957 commented 7 months ago

I'll have to retrieve the user's key manually. Thank you!