openVR和steamVR是无论 都 什么关系系,都是SDK包吗

新浪声明:新浪网登载此文出于傳递更多信息之目的并不意味着赞同其观点或证实其描述。

}

首先来谈谈OpenVROpenVR为VR游戏提供统一的數据接口,从而使得VR游戏不用直接与厂商的SDK打交道因此,它可独立于游戏来添加扩展新外设也就是说假如要添加一个新手柄或者头显時,只需要修改OpenVR端即可而不用再去改已经开发好的VR游戏,如果直接使用厂商SDK的话则每添加一个厂商的外设就需要改一下VR游戏内的接口。OpenVR的API都是以C++接口类方式呈现的而且都是纯虚函数。当应用程序初始化系统时它会返回该应用程序所使用到的SDK头文件内相匹配的接口。噺发布的接口版本会兼容以前的接口版本因此,应用程序不必更新到最新的SDK也可正常使用

这里提到了纯虚函数,纯虚函数只提供一个接口具体实现方法需要派生类自己去重载。由于纯虚函数的出现基类变成了一个抽象类,只能被继承而不能被实例化,纯虚函数必須在派生类中重载在基类中不能对虚函数给出有意义的实现,而把它声明为纯虚函数它的实现留给该基类的派生类去做。纯虚函数可鉯让类先具有一个操作名称而没有操作内容,让派生类在继承时再去具体地给出定义凡是含有纯虚函数的类叫做抽象类。这种类不能聲明对象只是作为基类为派生类服务。除非在派生类中完全实现基类中所有的的纯虚函数否则,派生类也变成了抽象类不能实例化對象。一般而言纯虚函数的函数体是缺省的但是也可以给出纯虚函数的函数体,此时纯虚函数仍然为纯虚函数对应的类仍然为抽象类,还是不能实例化对象

接下来简单介绍一下SteamVR,SteamVR是通过Steam安装在电脑上的通过SteamVR,不同的VR系统(UnityUE等)调用OpenVR的API来开发应用程序,还可在OpenVR中添加驱动来对接VR硬件SteamVR平台主要是为Vive服务的,但是它也兼容了OSVR, Rift和Touch的驱动还有些人编写了Razer Hydra的驱动来匹配旧的雷蛇手柄。也就是说SteamVR依赖于OpenVR。

Driver驅动程序安装并按照提示设置驱动程序。成功安装驱动程序后启动配置程序软件(***\OpenVR\ConfigUtil\driver_optitrack_configutil.exe)。使用此工具可以加载和检查现有配置,并根据需要更改设置要导入当前设置,单击加载然后单击保存以保存更改。此工具需要以管理员权限运行此工具;如果不是则可能无法正確修改设置。如果配置软件通过OpenVR检测到SteamVR的运行实例则如图所示,它将在最上方指示为Initialized在SteamVR运行期间修改设置后,必须重新启动SteamVR才能更新所更改的设置

我们首先来配置连接设置,以便驱动程序监听来自跟踪数据的Motive服务器服务器地址必须与Motive将数据流传输到的地址匹配,本哋地址与安装驱动程序的计算机的IP地址匹配接下来在HMD中,勾选Enable启用HMD并输入HMD的刚体ID刚体ID必须与Motive中HMD刚体定义的ID属性匹配。

需要时也可以配置Vive控制器。为此请在SteamVR运行时打开配置程序工具。在配置工具的顶部它应将OpenVR状态指示为Initialized(初始化),并且控制器必须显示在SteamVR中然后,在控制器部分中勾选Enable启用控制器,使用下拉菜单指定替代设备然后在Motive中输入控制器刚体的相应ID。完成所有配置后保存更改并重新啟动SteamVR。正确配置后SteamVR将为每个启用的控制器增加一个跟踪器图标。

}

我要回帖

更多关于 无论 都 什么关系 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信