Skip to main content
 首页 » 资源教程

如何用HTC Vive拍摄Mixed Reality视频(绿幕技术)

2016年08月17日 22:56:1921570

也许你是一位开发者,想为自己的Vive游戏制作酷炫的宣传片;或者你是游戏主播,想为观众带来高品质的VR直播体验;也许你是一位VR和爱好者。无论如 何,如果你对Mixed Reality感兴趣,请继续看下去。本文将介绍如何用HTC Vive拍摄高品质MR视频。 

======================================================== 

什么是Mixed Reality视频? 

======================================================== 

Mixed Reality视频就是VR影像+人的影像合成的视频。相比普通方法录制的VR视频,Mixed 

Reality视频更适合用来做游戏直播和制作宣传视频。 

http://v.youku.com/v_show/id_XMTUzNDY4NDk1Ng==.html?from=s1.8-1-1.2 

以 上这个视频就是来自一个Mixed Reality视频,大家可看到本文图一画面中的草地、狗、木棍都是VR游戏的画面,而人的影像是由一台摄像机实时捕捉的。因为人的影像摆放的位置和玩家 在虚拟场景中的位置一样,摄像机拍摄画面中手的位置和游戏画面中手的位置是完全一样的,看起来就像体验者走进了一个虚拟世界,并用双手直接和环境互动。 

======================================================== 

MR视频的原理 

======================================================== 

普通的VR视频是将体验者左眼看到的影像录制下来。这样的第一人称视角录制带来两个问题,一是因为视角原因看不到体验者的全身,二是即使低头看到了,也只是看到虚拟的模型,甚至多数时候只能看到两只漂浮的手。要解决这两个问题。就需要 

1. 切换成第三人称视角 

2. 将体验者的影像也录制下来 

3. 将游戏画面和摄像机影像合成 

下面逐个解释如何实现。 

1. 切换成第三人称视角 

普 通的Vive程序是在玩家头盔的位置摆放两个虚拟camera对应左右眼,分别生成左右眼的画面传给HMD,然后将其中一只眼的画面复制到PC屏幕上。为 了让屏幕上产生第三人称视角的游戏画面,就需要在和玩家一定距离外摆放一个额外的虚拟camera,并且镜头要对准玩家所在位置。之后PC上显示的不再是 左右眼画面的复刻,而是由这个额外的camera单独绘制的(会增加一定的渲染负担)。 

2. 将体验者的影像录制下来 

因为我们只需要玩家本人的影像,并不需要看到房间里的桌子、墙壁等背景。所以要用到抠 

像技术。在录制的时候,让体验者在一个周围是绿布(或者其他颜色)的房间里,然后用一个摄像机(webcamera或者专业的摄像机)录制他玩游戏时的影像。最后在捕捉到的视频中将绿色去掉,就只剩下人的影像了。 

3. 将游戏画面和摄像机影像合成 

在1.和2.中我分别提到了一个虚拟摄像机和一个真实的摄像机。为了让他们拍到的影像能合 

成起来,需要保证他们的视角是一样的。也就是说,假如虚拟摄像机在游戏里的位置是主角左前方2米、朝向和主角的朝向成120度角,那么要保正现实中摄像机在体验者左前方2米,朝向和体验者朝向成120度角。这就需要借助第三个手柄来定位和定向。 

将额外的手柄绑在摄像机上,或者将手柄和摄像机绑在同一个位置上,原则是确保它们相对 

位置、相对朝向是不变的。这样当现实中摄像机移动时,游戏通过感知手柄的位置变化,也相应地改变虚拟摄像机的位置。然后,把游戏中的物体按位置分为两类,一类是前景,位置在摄像机到玩家之间,另一类是背景,位置在玩家之后。最后把背景、体验者影像、前景合成成视频。 

======================================================== 

需要准备什么? 

======================================================== 

硬件部分: 

1.        摄影棚:墙和地面铺上绿布,5m*5m。(图二) 

2.        摄像机:两种方案 

a)        低成本:是webcamera,例如Logitech Webcam C930e 

b)        高成本:专业摄像机+视频采集卡。例如Sony A7S II 

3.        高性能主机:因为同时需要运行Vive游戏和录像,对配置要求较高。显卡推荐980ti,CPU推荐i7-4790以上。 

4.        第三个手柄:目前Vive只能连接两个无线手柄,所以需要用一个长一点的USB线来连接第三个手柄。 

5.        4K屏幕:为了合成1080p视频,屏幕需要能放得下多个1080p窗口。 

软件部分: 

1.        Unity3D + SteamVR:目前只有Unity3D制作的程序支持MR模式。只要游戏用的SteamVR版本是1.0.8或以上,就可以用于拍摄。否则需要开发商升级SteamVR后再发布一个版本。 

2.        OBS或者其他视频合成软件。 

======================================================== 

如何拍摄 

======================================================== 

1. 为游戏开启MR模式 

2. 安装摄像机和第三个手柄 

3. 调整视频合成软件 

下面详细解释。 

1. 为游戏开启MR模式 

a)  Unity SteamVR插件版本升级到v1.0.8或以上 

b)  在游戏的根目录(如果用的是Unity3D工程而不是发而好的游戏,就放在工程根目录)下加上externalcamera.cfg新建一个空白文件,重命名为externalcamera.cfg,在其中加上如下内容: 

x=0 

y=0 

z=0 

rx=0 

ry=0 

rz=0 

fov=60 

near=0.1 

far=100 

sceneResolutionScale=0.5 

            (*要注意的是,以上参数只是默认值。最终要用什么数和摄像机的参数及摄像机和手柄的摆放有关。) 

c)        连接第三个手柄:通过USB连接第三个手柄。 

如果这三个条件都准备好了,点击开始游戏,PC上的游戏画面会分成4块,具体见下面的"OBS合成"。 

2.        安装摄像机和第三个手柄:(图三) 

a)        硬件安装如果有相机肩架或者手架,将摄像机和手柄都安装在架子上。如果没有架子,就把手柄绑在相机上。确保在移动架子(或者相机)的时候,相机和手柄相对位置和相对朝向不变。 

b)        计算出摄像机和手柄之间的偏移,也就是得出externalcamera.cfg中的参数。x,y,z是摄像机和手柄的相对位置,rx,ry,rz是相对 朝向。比较方便的做法是通过特制的校准软件来实现。另外也可以手动调externalcamera.cfg中的数值。 

3.        用OBS合成视频或视频流 

如果准备好Mixed Reality所需要的条件,PC上的游戏画面会分成4块:(图四) 

其中, 

Foreground: 合成视频的前景 

Foreground alpha: 前景的alpha 

Background: 合成视频的背景 

Gameview: 正常游戏画面,不用于合成mixed reality视频 

最终输出的影像和图五展示的一样,是由三个影像合成的: 

摄像机捕捉人的影像,覆盖在背景上(山和太阳),前景(花)覆盖人和背景上。 

因此要在OBS中添加以下三个视频源: 

a) 前景 

I. 视频来源选择裁剪游戏窗口,裁剪区域和4分画面的左上角画面重合。 

II. 设置黑色为色键,抠出前景画面 

b) 摄像机捕捉 

I. 视频来源选择webcamera或者视频采集卡 

II.设置绿色为色键(和绿幕颜色一样),抠出人像 

c) 背景:视频来源选择裁剪游戏窗口,裁剪区域和4分画面的左下角画面重合

 如何用HTC Vive拍摄Mixed Reality视频(绿幕技术) 资源教程 第1张

 如何用HTC Vive拍摄Mixed Reality视频(绿幕技术) 资源教程 第2张

 如何用HTC Vive拍摄Mixed Reality视频(绿幕技术) 资源教程 第3张

 如何用HTC Vive拍摄Mixed Reality视频(绿幕技术) 资源教程 第4张

 如何用HTC Vive拍摄Mixed Reality视频(绿幕技术) 资源教程 第5张


评论列表暂无评论
发表评论