SteamVR-OSVR(build 342)

新版本SteamVR-OSVR驱动。


修改点:

该版本包含以下修改点:

1.OpenVR版本更新到V1.0.7

2.将客户端update调用移到一个独立线程中处理。这将减少追踪数据的不稳定性。如下:

vr::EVRInitError ServerDriver_OSVR::Init(vr::IVRDriverContext* driver_context)  
{  
    VR_INIT_SERVER_DRIVER_CONTEXT(driver_context);  
  
    Logging::instance().setDriverLog(vr::VRDriverLog());  
    OSVR_LOG(notice) << "SteamVR-OSVR version " << STEAMVR_OSVR_VERSION;  
  
    settings_ = std::make_unique<Settings>();  
  
    // Verbose logging  
    const auto verbose = settings_->getSetting<bool>("verbose", false);  
    Logging::instance().setLogLevel(verbose ? trace : info);  
    OSVR_LOG(info) << "Verbose logging " << (verbose ? "enabled" : "disabled") << ".";  
  
    // Client loop update rate  
    standbyWaitPeriod_ = settings_->getSetting<int>("standbyWaitPeriod", 100);  
    activeWaitPeriod_ = settings_->getSetting<int>("activeWaitPeriod", 1);  
    OSVR_LOG(debug) << "Standby wait period is " << standbyWaitPeriod_ << " ms.";  
    OSVR_LOG(debug) << "Active wait period is " << activeWaitPeriod_ << " ms.";  
  
    context_ = std::make_unique<osvr::clientkit::ClientContext>("org.osvr.SteamVR");  
  
    trackedDevices_.emplace_back(std::make_unique<OSVRTrackedHMD>(*(context_.get())));  
    trackedDevices_.emplace_back(std::make_unique<OSVRTrackingReference>(*(context_.get())));  
  
    for (auto& tracked_device : trackedDevices_) {  
        vr::VRServerDriverHost()->TrackedDeviceAdded(tracked_device->getId(), tracked_device->getDeviceClass(), tracked_device.get());  
    }  
  
    client_update_thread_quit.store(false);  
    client_update_thread_ms_wait.store(activeWaitPeriod_);  
    client_update_thread = std::thread(<strong>client_update_thread_work</strong>, std::ref(*context_));  
  
    return vr::VRInitError_None;  
}  

3.当开启追踪预测时,将线速率和角速率的值传给SteamVR。
4.添加OSVR摄像头模型。该摄像头模型在SteamVR的混合器中是可见的(一个灰色的格子世界)。(摄像头模型当前会有一点点跳动,还没有找出是什么原因导致的,但是不影响VR世界本身的显示与跟踪。当运行一个VR游戏的时候,摄像头模型是不可见的,因此这不会是一个麻烦。)

5.更新摄像头追踪路径,为了与新的追踪系统工作方式达到一致。

Note:如果使用以前的追踪系统,需要添加以下内容到steamvr.vrsettings文件:

"cameraPath": "/org_osvr_filter_videoimufusion/HeadFusion/semantic/camera"  
6.2017-05-06.该版本还提供了一个配置选项:ignoreVelocityReports

若发现追踪器不稳定,可以试着添加以下入口到steamvr.vrsettings文件的driver_osvr字段:

"ignoreVelocityReports": true

它使OSVR驱动不上报追踪器速率数据到SteamVR。对一些人来说,这可能会提高追踪器稳定性,可能也有人改了之后几乎察觉不到有什么改变。

因此,这还个稳定性问题还在优化解决中。


安装SteamVR-OSVR驱动:

手动安装SteamVR-OSVR驱动:

1.下载最近版本的SteamVR-OSVR驱动包

2.解压文件

3.打开目录:SteamVR-OSVR\lib\openvr

4.拷贝osvr目录到C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers

5.运行OSVR server

6.首次运行OSVR sever时,将OSVR头显切换到扩展模式。SteamVR会提供它本身的直连模式支持,并且SteamVR-OSVR驱动需要OSVR头显处于扩展模式以检测属性的设置。

7.运行SteamVR

8.若SteamVR提示需要开启直连模式,则开启它

9.运行房间设置(Room Setup),只在站立状态体验的一个应用程序

10.若有需要,还可完成SteamVR指导流程

11.当SteamVR显示器显示Ready时,即可运行SteamVR游戏

若以前还安装过其他SteamVR-OSVR驱动,需要卸载它,防止它干扰新安装的驱动,方法如下:

1.打开Windows Explorer

2.找到目录:C:\Program Files (x86)\Steam\steamapps\common\SteamVR\bin

3.左手按住键盘Shift键,在Win32目录上右击鼠标,并选择“在此处打开命令窗口”

4.在命令行窗口,输入命令:vrpathreg,按回车。在显示底部会看到已经注册过的SteamVR驱动路劲

5.若需要注册驱动,则输入命令:vrpathreg adddriver driver path.比如以下两个例子:

vrpathreg adddriver "C:\Program Files\HDK-Software-Suite\OSVR-SteamVR\osvr"

vrpathreg adddriver "C:\Program Files (x86)\OSVR\OSVR-SteamVR\osvr"

6.输入命令:vrpathreg查看驱动路径

7.输入exit关闭命令行窗口

需要注意的是安装在目录C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers下的驱动不是必须要手动注册的,因为它会自动被SteamVR加载。若不想它被自动加载,则可以重命名或删除它。比如,将osvr子目录重命名为osvr-do-not-load。重命名后,会在vrserver.txt中看到一个warning提示,但是它不会对SteamVR的 APP有任何不利影响。

若有任何问题,请email到support@osvr.org。 并且记得附上C:\Program Files (x86)\Steam\logs\vrserver.txt文件。


以下是网友的留言:

1.问:在哪儿能找到streamvr.settings这个文件以及怎么添加"ignore..."

答: treamvr.settings文件在C:\Program Files (x86)\Steam\config目录。若不存在,可自己使用Notepad创建一个.

举个设置ignore的例子:

{
    "driver_osvr": {
        "ignoreVelocityReports": true
    }
}

2.问:使用HDK2进行试验,步骤如下:
1>.卸载Beta 7软件
2>.安装Beta 8(使用exe安装)
3>.按照以上指导手动安装最新的SteamVR驱动 
4>.首先在扩展模式运行HMD
5>.启动一个Steam VR游戏。
 结果:从一开始就上下抖动,不是很剧烈,但是足够干扰到正常玩游戏了
6>.随后,添加字段“IgnoreVelocityReports”:非常肯定已经添加到SteamVR的设置文件。
 结果:一开始抖动减弱了很多(几乎无法察觉到的程度),但是随后又开始慢慢的抖动起来直到最后都无法再继续玩游戏了(大概20~30分钟之后)
答:抖动看起来是来自新追踪系统的速率数据引起的。也许追踪系统正在上报乱数据,是由于在将数据转换成SteamVR格式时出错导致,或者是SteamVR的追踪预测出了问题。

2017年6月30日---------------------------------------------------------------------------------------------------------------------------------
若要删除一个驱动:则 类似如下:
vrpathreg removedriver "C:\Program Files\HDK-Software-Suite\OSVR-SteamVR\osvr"


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值