Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(3)

本文将继续介绍SvrPluginAndroid中调用的SDK中dll方法及作用:

[DllImport("svrplugin")]
private static extern void SvrSetTrackingModeEventData(int mode);

[DllImport("svrplugin")]
private static extern void SvrSetPerformanceLevelsEventData(int newCpuPerfLevel, int newGpuPerfLevel);

在这段代码中方法SvrSetTrackingModeEventData的作用在上一篇文章中已经提到,是设置底层SDK的VR运行模式。

其中mode的值分为3Dof和6Dof两种。


而方法SvrSetPerformanceLevelsEventData的作用是设置SDK中VR模式运行过程中的CPU和GPU的运行等级,具体的使用在前面的文章中也已经介绍了。

    [DllImport("svrplugin")]
	private static extern int SvrGetPredictedPose(ref float rx,
	                                               ref float ry,
	                                               ref float rz,
	                                               ref float rw,
							ref float px,
						        ref float py,
							ref float pz,
                                                   int frameIndex);

方法SvrGetPredictedPose的作用是从SDK底层中读取当前头部的位置和朝向信息。

返回值int如果是1表示当前读取头部数据正常,如果返回为0代表当前读取头部数据异常。

而在传入的参数中rx,ry,rz,rw,px,py,pz的变量前都添加了ref标记,表示当前参数以引用变量的方式传入。

其中rx,ry,rz,rw表示当前头部朝向的四元数数值,可以直接在unity中用于Transform.rotation的赋值上。

px,py,pz表示当前头部位置信息的坐标值,可用于Transform.position变量的赋值上。

frameIndex表示当前SDK的运行帧数,方法的作用也是读取frameIndex当前帧的头部位置和朝向数据。

[DllImport("svrplugin")]
    private static extern bool SvrRecenterTrackingPose();

    [DllImport("svrplugin")]
    private static extern int SvrGetTrackingMode();

方法SvrRecenterTrackingPose表示调用底层dll中重置头部朝向数据的方法。

SvrGetTrackingMode返回的是当前SDK中运行的VR模式。



阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页