Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(3)

原创 2018年03月22日 13:31:40

本文将继续介绍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模式。



Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(14)

public override void Shutdown() { IssueEvent (RenderEvent.Shutdown); base.Shutdow...
  • CONGLF
  • CONGLF
  • 2018-04-12 15:19:46
  • 95

Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(9)

public override void SetFoveationParameters(float focalPointX, float focalPointY, float foveationGai...
  • CONGLF
  • CONGLF
  • 2018-04-12 14:48:16
  • 101

Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(12)

本文将介绍SvrPluginAndroid脚本中的Submit方法,该方法的作用是渲染左右眼图像,是SvrPlugin中VR模式实现的核心代码。 public override void Sub...
  • CONGLF
  • CONGLF
  • 2018-04-12 15:08:57
  • 100

Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(15)

在SvrPluginAndroid中还提供了一些手柄的操作方法。Qcom VRSDK中手柄兼容的是Ximmerse手柄,方便开发这快速的连接手柄开发相关程序。具体的代码如下: //----------...
  • CONGLF
  • CONGLF
  • 2018-04-12 15:23:08
  • 84

Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(1)

SvrPluginAndroid脚本继承了基类SvrPlugin脚本,适用与Android的运行环境,实现了SvrPlugin中的关键方法,具体的代码结构如下:using UnityEngine; u...
  • CONGLF
  • CONGLF
  • 2018-03-14 14:10:43
  • 347

Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(13)

public override void SubmitFrame(int frameIndex, float fieldOfView, int frameType)  {         int i;...
  • CONGLF
  • CONGLF
  • 2018-04-12 15:15:31
  • 100

Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(8)

public override void EndVr() { base.EndVr(); IssueEvent (RenderEvent.EndVr); } pu...
  • CONGLF
  • CONGLF
  • 2018-04-12 14:41:00
  • 60

Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(16)

本文将对Qcom VR SDK中手柄相关的代码做简单的讲解。 //-------------------------------------------------------------------...
  • CONGLF
  • CONGLF
  • 2018-04-12 15:26:50
  • 85

Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(17)

到了本章节,SvrPluginAndroid脚本的全部代码已经介绍完毕。SvrPluginAndroid集成了SvrPlugin类,是SDK在Android平台上适配的VR模式相关方法和逻辑脚本。其中...
  • CONGLF
  • CONGLF
  • 2018-04-19 10:13:51
  • 11

Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(7)

本文将继续介绍SvrPluginAndroid的相关代码: public override IEnumerator BeginVr(int cpuPerfLevel, int gpuPerfLevel...
  • CONGLF
  • CONGLF
  • 2018-04-12 14:31:14
  • 78
收藏助手
不良信息举报
您举报文章:Qualcomm_Snapdragon_VR_SDK SvrPluginAndroid脚本简介(3)
举报原因:
原因补充:

(最多只允许输入30个字)