在SvrPluginAndroid脚本中大量的使用了[DllImport("svrplugin")]的语句:
[DllImport("svrplugin")]
private static extern IntPtr GetRenderEventFunc();
[DllImport("svrplugin")]
private static extern bool SvrIsInitialized();
[DllImport("svrplugin")]
private static extern bool SvrIsRunning();
.......
该语句的作用是加载SDK底层的dll插件,如图所示:
之后可调用dll中的VR相关方法。
由于SvrPluginAndroid中使用dll的方法比较多,因此本文集中介绍几个关键的方法及方法作用。
SvrIsInitialized方法作用是调用dll中的SvrIsInitialized方法判断当前SDK是否完成初始化。
[DllImport("svrplugin")]
private static extern bool SvrIsInitialized();
SvrIsRunning方法作用是调用dll中的SvrIsRunning方法判断当前SDK是否处于运行的状态中。
[DllImport("svrplugin")]
private static extern bool SvrIsRunning();
SvrCanBeginVR方法作用是调用dll中的SvrCanBeginVR方法判断当前设备是否可以开始VR模式。
[DllImport("svrplugin")]
private static extern bool SvrCanBeginVR();
SvrSubmitFrameEventData方法是想dll中提交当前帧数据参数,包括当前帧数、fov以及帧图像类型
[DllImport("svrplugin")]
private static extern void SvrSubmitFrameEventData(int frameIndex, float fieldOfView, int frameType);
SvrSetTrackingModeEventData方法的作用是设置当前VR的跟踪模式,包括3Dof和6Dof。
[DllImport("svrplugin")]
private static extern void SvrSetTrackingModeEventData(int mode);