本文源自以下链接并对其中一些过时(2017.03.09)信息做些更新以及解释:

http://secondreality.co.uk/blog/how-to-create-mixed-reality-videos-for-the-vive-with-two-controllers/

 

首先,通过以下链接了解如何制作混合现实视频:

这些方法通常需要一个额外控制器,用于连接到相机,使物理相机与虚拟相机同步。

普通用户通常只有两个标配的控制器,本文介绍如何不增加控制器来拍摄MR或者录制第三人称视角。

 

SteamVR是个开放平台,并非HTC Vive专用,它允许用户使用自己的硬件。为了能够使用自制硬件,需要做以下几项工作:

1. 一个驱动(或模拟)硬件的模块。

本例即使用软件模拟一个VIVE手持控制器,点击这里下载。如需自己编译点击这里进入源代码主页下载,工程依赖boost和openvr需要事先下载。

从代码可知,这里并不复杂,主要实现并导出两个接口,如需更多功能,可基于以上的代码自行修改。

 

2.并把模块放置特定位置

在1中下载文件里面有一个名为virtualcontroller的文件夹,复制到SteamVR的driver目录。

例如完整路径可能是:

C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers\virtualcontroller\bin\win64\driver_virtualcontroller.dll

有些用户还使用了Viveport平台,这就需要在把它们复制到Viveport目录中SteamVR模块对应的位置。

使用Leapmotion、OSVR等设备作为外设的用户,这些硬件也会有对应的驱动文件夹在driver目录。

 

3.修改SteamVR配置

原文中指出需要编辑steam的config目录(C:\Program Files (x86)\Steam\config)中的steamvr.vrsettings文件,启用“activateMultipleDrivers”。如下:

{ ... "steamvr" : { "activateMultipleDrivers" : true } }
即在"steamvr"这项冒号后面加上一个参数。

不过当前来看,此设置很可能无效,在我自己的环境中,此目录已变为programdata目录(C:\Programdata\Steam\config)。

具体位置请参考SteamVR程序UI面板的"设置"->"开发者"->paths->设置配置目录。

 

以上步骤完成后,就多了一个模拟的虚拟控制器。如果希望虚拟控制器被SteamVR识别为第三个控制器,按以下顺序:

  • 退出SteamVR
  • 打开标配的两个物理控制器
  • 启动SteamVR,确保两个控制器被你的基站看到

第三个控制器将在几秒钟后出现。如果物理控制器进入睡眠状态,你可能需要重复这个步骤。

 

录制还需要一个externalcamera.cfg文件,在1中下载的zip里有一个名为cameraAlign的应用程序。

运行它并按照说明操作,可以更新目录中的externalcamera.cfg文件。

将externalcamera.cfg文件移动到要录制的游戏或APP目录,然后启动程序即可。

 

最后一点:并非所有的程序都可以启动第三人称视角, 目前主要支持的是Unity开发的集成了官方SteamVR组件的程序。

如果你是开发,想了解自己的程序是否支持这种录制方式,可以查看Unity工程里SteamVR的Scripts目录是否含有SteamVR_ExternalCamera.cs脚本。如果没有,需要更新下SteamVR组件的版本。

 posted on 2017-03-09 15:04  -hunt-  阅读(587)  评论(0编辑  收藏  举报