4 SDK接入快速入门

Step1:新建工程

打开Android Studio,新建工程如下:

_images/4.1.PNG

图4.1 创建新工程

Step2:导入SDK

添加SDK的aar包,修改gradle脚本,如下:

_images/4.2.png

图4.2 添加库文件

_images/4.3.png

图4.3修改gradle脚本

Step3:使用SDK

新建Activity,继承自com.picovr.vractivity.VRActivity类,该类实现SurfaceHolder.Callback,通过Activity及SurfaceView生命周期回调,控制SDK核心线程的创建及销毁。

_images/4.4.png

图4.4 创建新的activity

实现SDK的回调方法:

_images/4.5.png

图4.5实现SDK的回调方法

回调接口说明:

  1. void onFrameBegin(HmdState var1)

其中参数为头戴状态,详细内容参考com.picovr.vractivity.HmdState类,每帧开始时执行一次,建议在该函数中执行与检测头戴位置朝向、更新画面内容等相关的操作。

  1. void onDrawEye(Eye var1)

其中的参数可参考com.picovr.vractivity.Eye类,每帧执行两次,分别绘制左眼右眼图像,可在该函数内实现OpenGL绘制操作。Eye类中getType()返回0代表左眼,返回1代表右眼。

  1. onFrameEnd()

每帧画面渲染结束时执行一次。

  1. void initGL (int w, int h)

其中 w,h 分别为屏幕宽度和高度,当Surface对象创建完成,SDK初始化OpenGL完成以后,会回调该接口。

  1. void surfaceChangeCallBack(int w, int h)

在Surface对象发生改变以后执行一次, w 和 h 分别为渲染内容(Render Texture)的 宽 和 高。

  1. void onRenderPause()

渲染暂停以后执行一次。

  1. void onRenderResume()

渲染重新开始以后执行一次。

  1. void onRendererShutdown()

停止渲染,Surface对象销毁以后执行一次。

  1. void renderEventCallBack(int event)

开发者可利用MsgQueue传递自定义事件,通过VRActivity类中的RenderEventPush(int renderEvent)方法向MsgQueue发送消息(renderEvent取值应大于100),通过该接口监听事件做相应操作。