本文将继续介绍SvrPluginAndroid脚本中的其他代码:
public override int GetPredictedPose(ref Quaternion orientation, ref Vector3 position, int frameIndex)
{
orientation.z = -orientation.z;
position.x = -position.x;
position.y = -position.y;
int rv = SvrGetPredictedPose(ref orientation.x, ref orientation.y, ref orientation.z, ref orientation.w,
ref position.x, ref position.y, ref position.z, frameIndex);
orientation.z = -orientation.z;
position.x = -position.x;
position.y = -position.y;
return rv;
}
public override DeviceInfo GetDeviceInfo()
{
DeviceInfo info = new DeviceInfo();
SvrGetDeviceInfo (ref info.displayWidthPixels,
ref info.displayHeightPixels,
ref info.displayRefreshRateHz,
ref info.targetEyeWidthPixels,
ref info.targetEyeHeightPixels,
ref info.targetFovXRad,
ref info.targetFovYRad,
ref info.targetFrustumLeft.left, ref info.targetFrustumLeft.right, ref info.targetFrustumLeft.bottom, ref info.targetFrustumLeft.top, ref info.targetFrustumLeft.near, ref info.targetFrustumLeft.far,
ref info.targetFrustumRight.left, ref info.targetFrustumRight.right, ref info.targetFrustumRight.bottom, ref info.targetFrustumRight.top, ref info.targetFrustumRight.near, ref info.targetFrustumRight.far);
return info;
}GetPredictedPose方法的作用是获取当前帧的位置已经朝向的四元数数据。
传入的参数包括orientation position 以及frameIndex。
其中orentation被设置成ref类型的变量,调用该方法后会返回orentation的值。
orentation的值表示当前VR设备的头部朝向四元数数据。
position同样被设置成ref类型,表示当前头部的6Dof数据。
frameIndex表示的是当前运行的帧数。
根据这三个参数,GetPredictedPose方法会调用底层的SvrGetPredictedPose方法,并返回当前frameIndex帧数的头部朝向以及位置数据。
GetDeviceInfo方法是获取当前的设备信息,具体详细的代码逻辑在后续章节中介绍。
本文详细介绍了SvrPluginAndroid脚本中的两个关键方法:GetPredictedPose与GetDeviceInfo。GetPredictedPose方法用于获取VR设备头部朝向及位置数据,而GetDeviceInfo则用于获取设备信息。
21

被折叠的 条评论
为什么被折叠?



