最近收到朋友虚拟拍摄中如何实现上屏透视准确的问题 ,这里队友VFXQH就技术层面做了一个解答和工程文件分享。
引行
LED多媒体大屏幕内容不是这几年的惯例,笔者九年前刚入行的时候就正在做这些。置信好几年前很多人都看过Magic Leap的“鲸鱼造假视频”,随着CG的实时技术,载体LED屏幕的不断进步,广告从展馆不断走上街头。国外很多实时的视效作品正在LED上演示,正在朋友圈也看到很多朋友主创制作过类似项目。
但正在大部分制作中会发觉类似透视这样的基础问题或多或少都是待进步。这里个人觉得可能的缘由是:
1、制作人员对于CG图形教和CV计算机视觉的摄影机和坐标变换的基础教问不熟悉,控制得不够。
2、甲方正在这方面的了解还有限,不能精确和脚够的提出请求和提供前后期制作音讯。
最后硬做出来的结果就是看起来是那么回事,但只需懂一点透视基础同教就会看出来国内这类广告具有不少的视觉错误。今天来解析一个标杆参考级项目核心过程,文尾附教程演示的工程文件。
如果你正在 2022 年 4 月正在纽约市时代广场抬头看,你可能会瞥见波巴·费特坐正在他的宝座上。超高清视频是ILM和LG Display合作的一部分,旨正在展现LG的OLED显现技术和广告牌。
(机翻字幕仅供协帮理解视频参考)
但这次头盔下的演员不是特穆拉·莫里森,这一荣誉属于Tippett Studio的高级艺术总监Mark Dubeau,他穿上动作捕捕(mocap)配备,正在绿屏前的临时“宝座”上表演了Boba Fett的角色。Tippett Studio 的老板菲尔·蒂贝特(Phil Tippett)老爷子是ILM的创始元老之一,也算是手办的鼻祖之一,家里奥斯卡奖杯和他做过出现正在电影里面的可动模型有一大堆。这个项目是ILM和Tippett Studio 共同完成的。Mark Dubeau这里做了大部分的概念艺术。还管理和设计了正在《曼达洛人》等星球大战项目中使用的定格木偶。
核心的制作过程
正在上文视频中展现了制作花絮,但核心的制作过程并没有指出,原广告视频只是简单的动作捕捕和角色场景渲染,技术并没有多少难度,三五个人就能够搞定。核心的过程是街头的实正在人眼透视到实际物理LED的抛影转换。
1、下图中我们能够看到边缘模型很粗糙,这是来自于无人机对于抛影所正在建筑的照片建模,这些软硬件处理方法现正在非常成熟,比如用大疆的无人机与NeRF 辐射场配合,就能够达到接近雷达工业级的现场物理模型参数。手机和PAD也能够完成,这里不精细引见了。
2、获取LED屏幕模型和其所依托的建筑模型很简单,下一步就是求解实正在人眼视角的透视。这个透视位放取决于大街的人流估算,也就是甲方最念让观众看到的位放,这当然有必定范畴。了解错觉抛影实际绘画的朋友都知道,这种视角大约只能正在一个范畴内。但是如果抛影的实际距离非常远,则顺当的观看角度范畴就越广,反之。也就是道LED屏幕越远越高,正在建筑下观看到的准确透视范畴就越大。国内这类广告由于大多数诉求方对这个基础教问了解的不够,导致制作中完整可能是猜距离,而不是实际物理距离。
3、求解到合适的观看透视角度,就是获取当前的位放和抛影角度,这也非常简单。高中的数教教问就教过我们怎样求两点距离,实际距离到建筑上LED的距离换算一下扫描的模型所正在的三维软件单位量纲即可。距离是最好算的,难的是摄影丈量的内外参和旋转矩阵估计,这方面今天篇幅有限实正在不能精细展开,做前期onset和跟踪的朋友该当对摄影机标定的内外参数很熟悉求解方法,实正在不会求大概也能够正在软件里间接旋转估计。于是就得到了下图实际人眼的渲染角度。到这里还非常好理解,那我们接下来就正在Nuke中实现核心的LED内容渲染输出。
Nuke的抛影转换
1、搭建一个简单的Box场景模仿。
2 、得到估计的摄影机角度等参数,设放分辨率,这里为了和UV一致用的方形。
3、上面还非常简单,下面进行核心的转换过程。正在刚才的场景外建立两个Card模仿两块LED,这里我们是分开的两个正方形,如果屏幕是L长方形,只需求把最终结果像UV拼接即可。
LED_Screen1 和 LED_Screen2 连接正在同一个抛射节点上,Project3D抛射节点的cam端就是估计得到的摄像机,揭图端连接刚才第2步的RayRender1输出既可,就得下图:
建筑内反向的视角
4、使用ScanlineRender 渲染节点UV模式求两块LED的UV揭图渲染输出就行,如果最终LED放映是分块那就是根据每片Card输出,如果是一同就是间接拼合输出即可。
5、模仿考证这时候把渲染结果再给到一个克隆的LED Card,UV准确平直那间接放映上面的序列帧就行。
最终人眼视角和CG渲染透视完整一致。这里面的核心过程就是将CG渲染结果抛影的坐标空间转换为LED的实际UV空间。正在别的渲染软件中只需模型、摄像机参数一致,全部能得到一致结果。独一的坑就是不同的软件的不同坐标系和量纲,抛影算法方法有一点点区别,搞清楚后正在Maya 和 UE里和这里能全部一致。
演示的Nuke工程ProjLED.nk文件
链接:https://pan.baidu.com/s/1xEJWG660--mGgT_dK7A-0g?pwd=exw1
提取码:exw1
抛影的数教原理今天没有展开,写太多公式怕看的大家头皮发麻,下次有机会精细写。而VP中圆柱环幕、球幕、以致各种外形屏幕其实几年前VR视频制作基础教程就讲到相关制作了,能够翻看相关教程。ScanlineRender 支持常见抛影的转换,建议了解清楚数教坐标转换,就能够完整理解这个过程。
正在VP中则是大量上面的组合使用,LED屏幕摆放也能够随意摆放,只需抛影角度求解准确,结果全部就是一致的。
举个例子,如果成本有限则能够用几块LED屏幕堵住窗户,就能够正在VP棚内完成大量室内戏,而不需求满墙的LED。对成本有限的项目,组合方法非常灵活。正在拍摄室内广告,舞台剧等,上文演示的抛影变换将是刚需的基本操作。
如果对摄影丈量感兴味,引荐你看一篇和我年纪差不多大的论文,来自这行的祖师爷 Paul Ernest Debevec 的论文 Modeling and Rendering Architecture from Photographs。现正在VP实现用的理论东西只是 Paul Ernest Debevec 三十年前正在斯坦福大教时交的作业,实际没有再更新更多理论升级 。
以上,期视对大家有协帮 !
The End