.. _4 SDK接入快速入门: 4 SDK接入快速入门 ============================ Step1:新建工程 ------------------------ 打开Android Studio,新建工程如下: .. image:: _static/4.1.PNG 图4.1 创建新工程 Step2:导入SDK ----------------------- 添加SDK的aar包,修改gradle脚本,如下: .. image:: _static/4.2.png 图4.2 添加库文件 .. image:: _static/4.3.png 图4.3修改gradle脚本 Step3:使用SDK ----------------------- 新建Activity,继承自com.picovr.vractivity.VRActivity类,该类实现SurfaceHolder.Callback,通过Activity及SurfaceView生命周期回调,控制SDK核心线程的创建及销毁。 .. image:: _static/4.4.png 图4.4 创建新的activity 实现SDK的回调方法: .. image:: _static/4.5.png 图4.5实现SDK的回调方法 回调接口说明: 1) void onFrameBegin(HmdState var1) 其中参数为头戴状态,详细内容参考com.picovr.vractivity.HmdState类,每帧开始时执行一次,建议在该函数中执行与检测头戴位置朝向、更新画面内容等相关的操作。 2) void onDrawEye(Eye var1) 其中的参数可参考com.picovr.vractivity.Eye类,每帧执行两次,分别绘制左眼右眼图像,可在该函数内实现OpenGL绘制操作。Eye类中getType()返回0代表左眼,返回1代表右眼。 3) onFrameEnd() 每帧画面渲染结束时执行一次。 4) void initGL (int w, int h) 其中 w,h 分别为屏幕宽度和高度,当Surface对象创建完成,SDK初始化OpenGL完成以后,会回调该接口。 5) void surfaceChangeCallBack(int w, int h) 在Surface对象发生改变以后执行一次, w 和 h 分别为渲染内容(Render Texture)的 宽 和 高。 6) void onRenderPause() 渲染暂停以后执行一次。 7) void onRenderResume() 渲染重新开始以后执行一次。 8) void onRendererShutdown() 停止渲染,Surface对象销毁以后执行一次。 9) void renderEventCallBack(int event) 开发者可利用MsgQueue传递自定义事件,通过VRActivity类中的RenderEventPush(int renderEvent)方法向MsgQueue发送消息(renderEvent取值应大于100),通过该接口监听事件做相应操作。