在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);
本文介绍了SvrPluginAndroid脚本中通过调用DLL插件实现VR功能的方法。主要涉及初始化状态检查、运行状态检查、设备VR模式开启判断、帧数据提交及跟踪模式设置等功能。
4255

被折叠的 条评论
为什么被折叠?



