我们都知道现在玩vr,在外人看来,是这样的
但实际上,妹纸看到的是这样的
这就有意思了,在外人看来,玩vr的是有点傻。但对于在玩的人来说,ta就像在另一个世界,根本不知道真实世界是怎样的。那有什么办法能让没在玩的人也能感受到玩的人的心情和画面呢。今天我们就要介绍这种技术,最后你会看到妹纸是这样的。
好了,了解了这个是干嘛的,就进入正题吧~
一、器材准备
1、htc vive(含2个操作手柄)一台
2、电脑主机+4k显示屏 一套
(为什么要用4k显示屏?因为我们的画面会变成四分屏,想要1080p的,就需要4k显示屏,因为是1/4)
3、第三只htc vive操作手柄
额外的这只是作为游戏画面的摄像机使用,原理待会说
4、采集卡一枚
可使用内置插主机的,也可使用外置用usb连接的(我们买的是内置的,圆钢C985)
5、拍摄用的绿色幕布+架设幕布的架子(若直接贴在墙上也可以)
2面墙,一面地(根据实际房间大小购买尺寸)(我们买的3m*5m 2个,3m*3m 1个)
6、用来增强的摄影灯
根据情况购买(我们买的是2个,45w的)
7、摄像机一台
我们买的是索尼Sony HDR-cx405
8、相机HDMI 3m延长线1根
为了方便相机连接电脑后能随意移动
9、摄像机支架+固定器
为了固定摄像机和第三只手柄
10、Android充电延长线1根
同样是为了第三只手柄连接电脑后能随意移动
二、制作原理
要拍摄出MR视频的效果,我们需要:
1、游戏画面切换成第三人称视角
普通的Vive程序是在玩家头盔的位置摆放两个虚拟camera对应左右眼,分别生成左右眼的画面传给HMD,然后将其中一只眼的画面复制到PC屏幕上。 为了让屏幕上产生第三人称视角的游戏画面,就需要在和玩家一定距离外摆放一个额外的虚拟camera,并且镜头要对准玩家所在位置。之后PC上显示的不再是左右眼画面的复制,而是由这个额外的camera单独绘制的(会增加一定的渲染负担)。
2、拍摄玩家的动作,仅要人的动作,不需要背景
因为我们只需要玩家本人的影像,并不需要看到房间里的桌子、墙壁等背景。所以要用到抠像技术。 在录制的时候,让体验者在一个周围是绿布(或者其他颜色)的房间里,然后用一个摄像机 (webcamera或者专业的摄像机)录制他玩游戏时的影像。最后在捕捉到的视频中将绿色去掉,就只剩下人的影像了。
3、合成游戏画面和玩家动作
在1和2中分别提到了一个虚拟摄像机和一个真实的摄像机,为了让他们拍到的影像能实时的合成起来,需要保证他们的视角是一样的。也就是说,假如虚拟摄像机在游戏里的位置是主角左前方2米、朝向和主角的朝向成120度角,那么要保正现实中摄像机在体验者左前方2米,朝向和体验者朝向成120度角。这就需要借助第三个手柄来定位和定向。将额外的手柄绑在摄像机上,或者将手柄和摄像机绑在同一个位置上,原则是确保它们相对位置、相对朝向是不变的。这样当现实中摄像机移动时,游戏通过感知手柄的位置变化,也相应地改变虚拟摄像机的位置。
4、上图看个分明
三、哪些游戏支持拍MR视频
用Unity开发的游戏有支持 MR 拍摄的功能
如太空海盗训练:Space Pirate Trainer, 雇佣兵, 神奇画笔Tiltbrush,实验室the lab,雇佣兵,亚利桑那阳光...
四、场景布置
1、架设绿幕&放置摄影灯
2、固定第三只手柄和摄像机
在某宝上买了个手机固定支架,再用绳子将他们绑在一起
3、用HDMI线连接相机和电脑主机
4、安装采集卡和驱动
要看自己用的是外置的还是内置
五、调出游戏四分屏
1、放置配置文件
找到你想要录制MR的游戏目录(最好先选我上面推荐的几个游戏),在游戏主目录下,新建记事本文件,然后输入以下内容
y=0
z=0
rx=0
ry=0
rz=0
fov=60
near=0.1
far=100
sceneResolutionScale=0.5
保存后关闭记事本。再将文件名更改为「externalcamera」,格式更改为.cfg
(注意:更改格式后,会提示用哪种格式,一定要用cfg格式,不然后面不可能出现四分屏)。
2、打开steam vr查看状态
(1)首先确保2个主手柄处于关闭状态,第三只手柄未连接电脑
(2)打开steam vr
(3)打开2个主手柄
(4)用Android数据线连接第三只手柄和电脑主机
(5)steam vr出现以下画面即可
3、打开游戏
按住shift,打开游戏,会出现分辨率选择窗口,将分辨率设置为最高,点击确定
4、出现四分屏
游戏打开后,即可看到画面是四分屏(其中左上是我们需要的前景,左下是我们需要的游戏背景)
六、合成MR视频
1、打开OBS软件
请自行百度并下载安装
2、在场景一栏的空白处右击新增一个场景
3、在来源一栏的空白处右击新增3个来源-前景、玩家摄像和背景
注意:
(1)前景—空白处右击时,选择“获取窗口”这个选项
勾选色值,正式为了将黑色部分过滤掉
(2)玩家摄像—空白处右击时,选择“视频捕捉设备”这个选项
(3)背景—空白处右击时,选择“获取窗口”这个选项
4、调整顺序,从上到下分别是前景、玩家摄像、背景
5、编辑前景&背景
(1)选中来源中的前景,点击右侧的“编辑场景”按钮,会出现可拖动的标识(红框),按住“ALT”键,拖动后将画面截取只留下左上部分,再松开“ALT”键,拖动将画面充满OBS
(2)同理,对背景也做相同的处理,只留下左下部分画面
6、预览
点击右侧的“预览串流”即可查看最终效果
七、配置文件校准&位置调整
1、配置文件.cfg校准
y=0
z=0
rx=0
ry=0
rz=0
fov=60
near=0.1
far=100
sceneResolutionScale=0.5
根据上图,测量原点和摄像机镜头中心的距离,算出x、y、z的值(注意是以米作为单位)
若你的相机和第三只手柄都是水平放置的,则rx、ry、rz都为0,因为他们表示的是旋转的度数
fov的值和相机有关,提供以下参考
Sony HDR CX405: 42.7 (来源:V电影)
LogitechC920 或 C910: 43.3 (来源:SteamVR Mixed Reality 讨论串)
全片幅 (Full Frame) 搭上 35mm 镜头:27 (来源:SteamVR Mixed Reality 讨论串)
PS3 Eye (75FOV模式) : 45 (来源:SteamVR Mixed Reality 讨论串)
2、位置校准
若你发现前景、玩家摄像和背景的位置不对,可以通过选中来源,点击右侧的“编辑场景”进行位置的移动(鼠标移动到图像中间,再点击进行拖动),直到调整到你满意为止。
八、开始录制or直播
调整满意后,即可开始录制或直播了,这个过程,若你想要拍出更好的效果,建议根据玩家的动作移动摄像机,保证画面的可看性。
这里有一小段我们拍摄的《实验室the lab》MR视频