前言:本文并非原创,版权属于CGワールド所有,只是对其翻译了内容,不做商业安排,不接受转载,只提供与VFXNEWS平台供大家参考学习与讨论。
基于360度的CG与实拍合成
前言:活用圆顶(dome)实拍素材,愉快的制作一个从地面冲向宇宙的视觉体验CM.
VR的制作范围是360度的空间,较于普通的CG合成会多出大约4倍的工作量才能完成一个样片.因此本文介绍了如何活用cara vr的插件,让大家能够更快的制作一个VR与CG结合的成片流程.
TITLE:

[Y!mobile SPACE TOURS]
一起与ふてにゃん(Y!mobile的吉祥物,一只公猫)来一场原创的宇宙之旅吧!

专门为VR量身定制的工具CARA VR插件
2016年8月1日迎来了Y!mobile两周年的服务推广,在这个特殊的日子里,还专门为其公司绑定的吉祥物[FUTE喵喵]进行了精彩多样的宣传。其中有一环就是为其制作了一个原创的VR体验。这次的视频体验里,最精彩的看点就是从地面到宇宙的急速上升的部分,请有条件的朋友们务必体验一下下方的视频,本作在youtube上的Y!mobile专页中进行了4K的360°动画投放,大家可以用高端的Oculus Rift设备感受感受,也可以选择简易头戴式+手机体验,这两者都有分别对应的源。
这个动画分为了两个大部分来制作的,一个是细致的CG流程部分,另一个是VR球体的实拍到处理再到合成的部分。我们团队使用了maya中的全景渲染再加上nuke插件的活用加快了制作的进度。在全景拍摄中,我们对一个庭院进行了分段拍摄,再到拼接缝合完成这个实拍场景。
这算是一个较高质量的VR片源。但从制作开始到交货只花了两周的时间,我们团队都为此制作速度而感到惊讶。在之前,我们对nuke的beta插件进行好几次测试后,在放出正式版时正式使用了它。正式版的cara vr插件能够活用起来的话,那么制作一个vr小短片的速度能够得到大幅度提升!
VR的制作流程分为前期拍摄,素材颜色匹配,缝合再到CG合成与预览。一般工作室中也会拥有复数的软件和插件。在项目制作中,几乎都会是并行的状态。这里要提一点,不单止软件是复数状态。由于拍摄的不同,拍摄得到的素材也是复数状态的。按照以往还没开放cara vr套件时,制作方法都是单对单进行球面投射。现在拥有了这套高效的套件后,可以一次性将复数视频进行一个节点的操作。

VR空间中注重的CG外观环节

这个宣传片分为了四个大镜头进行制作.分别是未来空间站,从地面升起到宇宙的部分,太空场景.还有除开角色外的实拍拼接的场景.

开场空间的站的镜头由中村贵英氏担当,首先摄像机在正面做拍摄,然后用点光进行整个场景的照明.模型部分的光条来自自发光的材质.镜头一内容就只有LOGO介绍和猫呆在空间站中准备起飞的场景.下面来介绍一下光条的制作。
光条部分的制作是在maya中完成的,在输出的时候特地渲染了光条的遮罩通道.实际做球体转换时也是用了二维序列图层的合成方式进行合成的.在maya中渲染好的场景,在fisheye的效果下选择spherical模式,将二维画面进行球体转换的.(二维灯光的图层请细看A图与B图,A为灯光关闭时,B为灯光开启时)

能够配合着镜头运动的模糊通常能领镜头更加的真实,但大多数人说到模糊都会选择在二维图层里加上Blur节点进行模糊处理,但是这样的模糊就会太过平均.由于球体展开后,上下部因为远近关系而产生了形变.因此均匀的blur出来的效果往往不够真实,而cara vr里面就带了一个latlong blur的节点(经纬度模糊),这个节点可以针对球体展开后的数据进行一个计算,然后得到一个接近球体从远到近的模糊.在这个镜头中的GLOW数据就是用了这个方法,显得更加真实.【细看图C与图D, C为一般模糊 D为latlong blur. 注意光条的上下部分对比,图E为完成图】

用maya制作了地形和海面,用Fumefx创建了体积云
大津留拓负责了平流层与宇宙空间的镜头, 地面和海面是在maya里进行创建的,云的话则用了fumefx创建.为了让违和感变少,能更接近现实的场景,在云以外能见的部分,那些距离数值都经过了测量,也是为了更好的配合云雾中的拉伸感.我们还用了摄像机关联贴图,随着摄像机的位移,贴图的像素也会改变.并且成功的在这基础上,绘制了一个360度,广阔又不缺乏美感的背景,同时还保证了数据量不会过大.在地形凹凸感的表现中,我们用了三维置换(3d displacement),这样能很快的出效果…为了让海面看起来有质感,我们给海调了一个专门的材质.(见图C)

关于云的部分,近景细节的遮挡使用了card+贴图.外层包裹的云层则是用了三维的体积云.在这一个镜头里的云雾拉伸,其实是做出来的视觉欺骗, 因为经过压力的影响,周遭的云雾都会有股拉伸感,这个拉伸的制作也是为了降低违和感.(细看E图的云),这些镜头的移动都伴随着云层,所以制作的时候也是带着VR的技术转换思想,对其效果进行一些自然界中合理的转换.

** NUKE 3D空间里匹配视线角度**
在VR的空间中,观看者的视线位置与空间中物体的视线位置是有必要认真匹配的(观看者的位置等于摄像机的位置)。如果内容物体与视线位置有些少偏移,都会极大的削弱观看者的浸入感。本作登场的fute喵视线位置位于140cm处左右,我们把观众的视线位置定于150cm处,这个数据是由nuke 3D空间里的数据值进行统计的,0则是网格里的地线。
具体操作就是先建立一个card,然后把fute喵的Footage配置到card中,配合着摄像机的Y轴数值运动就可以了【card用表达式关联摄像机的Y轴 -(摄像机距离地面的当前Y值+10cm)】关于上方说的视线匹配差,它这次成为了客户严格审查的一部分。

** 充分活用CARA VR合成实拍场景部分**
从地面上升到拨开云雾的场景环节有实拍的部分需要处理,担当这个镜头的人是平嶋将成氏。利用cara vr直接进行了缝合,颜色匹配,水平角度调整与rotopaint。

** Dome的实景拍摄由7台Gopro完成**
做球状摄影的人为小松惠氏,顺带一提他除了担任360°拍摄的同时也参与了活动的配信。关于摄影的场地,监督选择了位于东京的德国小镇进行拍摄,
获得了拍摄许可后就正式启动拍摄了。三个摄影只用了一天时间就拍出了素材(包括小松惠司)。因为之前也有拍摄过类似规模的场景,有经验的他们选择了7台gopro进行拍摄。图片中就是七台同时拍摄素材时候的布阵了。

(头顶还有一台)

过CARA VR里进行简洁的操作得到高精度的缝合
现在,我们来介绍一下如何在CARA VR里,把摄影得来的素材按照顺序加工。首先是进行缝合,缝合则是能把多样的素材全部组织起来,拼接成一个全景的图像。使用cara vr的话,只需要经过简单的设定再进行摄像机的自动解算,很大程度会得到精度较高的缝合。
首先,我们得把素材给筛选出来查看一遍(前期匹配声音音轨剪辑这些做法就不强调了)。【A图为整理过的素材均在全选状态,之后选择c_cameraslover进行拼接与缝合.B图为加上了摄像机解算的状态,紧接着对解算后的经纬度(全景展开设定)进行设置转换】


我们这里用了7台gopro进行拍摄,因此在preset中选择[PRO7 - H3](7台相机 go pro-hero3的意思)。随后在上升过程中,相机角度因运动而产生了小晃动和畸变,我们为此要设置一下Analysis的参数。

我们最终在step中设置了每五帧抽出一帧来矫正。【详见上图】 再之后通过refine二次计算,基础的全景画面就被自动生成了。【D图为摄像机解算好后的3D View图的状态】

利用colormatcher来修正曝光
在解算过摄像机後,需要进行色彩匹配。在录像过程中,由于gopro在不同位置进行录像采集,所以在细节上的设定上会出现不完全同步的情况,这会造成了画面里的曝光度和色泽度都有各大小的差异。遇到这种情况使用colormatcher,他能自动匹配修复这组镜头里中,各种曝光补偿不对等问题。【A图为修复前,B图为修复后】

这个节点主要调节镜头颜色的匹配(color match)与曝光度(exposure),在这个图片举例中,我们只对曝光度进行了调整。这里有个小技巧,在进行摄像机解算拼接缝合时,需要比较细致的帧数,一般我们会将其设置为每隔5帧进行一次计算.但在colormatcher中,我们不需要进行这种太细致的解算,一般我们会以10帧每单位的取值来让colormatcher节点处理。【参考图C】在进行设置完成后,只需要等着软件解算完成,就会给你呈现一个矫正过后品质可达标的全景成品图了。(这里的成品只是大致的成品,后面还有细节要修正,不是最终效果)

使用CameraTracker进行水平稳定的workflow
为了去除相机的晃动给画面造成的不稳定因素,我们要要进一步对素材添加cameratracker进行稳定。【工程的流向请参考图A的树状图,在进行colormatch后对其lat/long经纬图进行proxy代理导出,之后为其添加C_SphericalTransform,选择rectilinear使球状展开图变成二维平面展开图,rectilinear是根据镜头取景角度切出来的画面,在这上面进行制作会更加简单。 进一步说,在cara vr中能随意的切换球状经纬图与二维平面图,是这个插件的最大的特征,它还能够根据二维的修改,直接在球状图中查看更改后是否有问题,所以特别方便快捷。】

【图B是经过了rectilinear转换之后,正在进行摄像机跟踪的画面】

在数据跟踪好之后,我们把数据导给C_MetaDataTransform这个节点,再连接至colormatcher下方,转换回lat/long经纬图。之后再添加C_sticher进行二次缝合。他能对画面里歪扭的线进行纠错处理,使画面有更高精度的缝合。【D为缝合前,E为经过colormatch与稳定之后的再缝合完成图】

** 用LatLong_Rotopaint擦除遮挡物**
最后我们要对映入了球体的遮挡物进行擦除。在这里我们使用了LatLong_Rotopaint进行擦除工作。这个工具是把球状图中,要进行擦除的那一部分,展开成相机取景角度的二维画面,再对其进行rotopaint的。在处理好后能及时的将二维画面转成球状画面,来检查它是否有擦穿帮,这样子的自动化转换擦除加快了工作的效率。【B图为rotopaint前/C图为rotopaint后】

** 在nuke中进行最终合成**
A为实拍场景与CG场景合成的全流向图。在gopro中把素材全部加工擦除完成后,再对制作好的云得CG素材进行合成。

我们在全景图的颜色里取样制作成了LUT文件,再把全景图的颜色进行了还原。之后对fute喵的素材进行合成与调色,之后再把lut颜色给添加回去。 为了给吉祥物添加幽默的动作表现,我们在绿幕里先拍摄了穿着宇航服的演员。然后让演员做一些幽默点的动作,再把fute喵的脸跟宇航服的动画素材进行合成。【参考图B与图C 两者都是通过绿幕来拍摄,然后进行比例缩放和二维合成方式合成到一起的】

最终将做好了的宇航员fute喵输出成一个序列,再将这个序列做成贴图贴在card上(这个card是先前提到过做过动画的card),通过scanlinerender渲染后加入spherical进行球体转换后,再合成。实际完成图就是图E了。

最后小提示:gopro拍摄时,记得选择RAW格式进行拍摄,这样在颜色校正和像素压缩上都会有更大的提高与帮助。(用mp4或者其他比较损画质的就不多提了)

本文(完)
翻译人:七色基围蝦(Finemeteor Yiu)