Navigation
API > API/Runtime > API/Runtime/HeadMountedDisplay > API/Runtime/HeadMountedDisplay/IMotionController
Description
Returns the calibration-space orientation of the requested controller's hand at the specified time for potentially improved temporal precision, particularly fetching the controller transform when a button was pressed on a platform that provides sub-frame timing for button presses. This is only intended to work with times very near the current frame. In general it should be called immediatly after receiving the button press. On many platforms this functionality is not supported and this function will set OutTimeWasUsed to false and then call GetControllerOrientationAndPosition, ignoring Time.
| Name | GetControllerOrientationAndPositionForTime |
| Type | function |
| Header File | /Engine/Source/Runtime/HeadMountedDisplay/Public/IMotionController.h |
| Include Path | #include "IMotionController.h" |
bool GetControllerOrientationAndPositionForTime
(
const int32 ControllerIndex,
const FName MotionSource,
FTimespan Time,
bool & OutTimeWasUsed,
FRotator & OutOrientation,
FVector & OutPosition,
bool & OutbProvidedLinearVelocity,
FVector & OutLinearVelocity,
bool & OutbProvidedAngularVelocity,
FVector & OutAngularVelocityAsAxisAndLength,
bool & OutbProvidedLinearAcceleration,
FVector & OutLinearAcceleration,
float WorldToMetersScale
) const
True if the device requested is valid and tracked, false otherwise
Parameters
| Name | Remarks |
|---|---|
| ControllerIndex | The Unreal controller (player) index of the controller set |
| MotionSource | Which source, within the motion controller to get the orientation and position for |
| Time | The time at which we would like to query the orientation. |
| OutTimeWasUsed | (out) If true the time was used somehow to give a more temporally relevant orientation. If false the time was ignored and a cached value returned. |
| OutOrientation | (out) If tracked, the orientation (in calibrated-space) of the controller in the specified hand |
| OutPosition | (out) If tracked, the position (in calibrated-space) of the controller in the specified hand |
| OutbProvidedLinearVelocity | (out) True if linear velocity was provided. |
| OutLinearVelocity | (out) The Linear velocity of the controller. |
| OutbProvidedAngularVelocity | (out) True if angular velocity was provided. |
| OutAngularVelocityAsAxisAndLength | (out) The angular velocity of the controller represented as an axis of rotation who's magnitude is the velocity in radians per second. See UHeadMountedDisplayFunctionLibrary::GetControllerTransformForTime2 for an example of how this can be turned into an FRotator without losing rotation speed beyond 180 degrees/second. |
| OutbProvidedLinearAcceleration | (out) True if linear acceleration was provided. |
| OutLinearAcceleration | (out) The Linear acceleration of the controller. |
| WorldToMetersScale | The world scaling factor. |