嗷?~原来十年前是这样做群集动画的!~
点击上方蓝字CG世界关注我们
“ 感知CG · 感触创意 · 感受艺术 · 感悟心灵 ”
中国很有影响力影视特效CG动画领域自媒体
今天讲讲RODEO FX这个公司在参与制作《惊天魔盗团》,《权力的游戏》和《神奇动物在哪里2》中群集动画的制作手法和技术。
提及RODEO FX这家公司,这里简单介绍下。RODEO FX是一家很强的(不敢说顶级了)的视效公司。在蒙特利尔、魁北克、慕尼黑和洛杉矶都有公司,一共有600多员工。他们参与了很多大片的制作,大家耳熟能详的有《权力的游戏》、《速度与激情8》、《神奇动物在哪里》、《星际特工》等等,实力那是相当厉害!
今天解析这几个片子虽然很老,但是在技术层面上还是值得参考学习一下的。
《惊天魔盗团》 Now You See Me
《惊天魔盗团》不知道大家看没看哈,其中有这样一个场景,四名主演在拉斯维加斯一个坐满观众的的舞台上进行了魔术表演,表演结束后数百万欧元的钞票从天花板掉到成千上万的观众手中。
RODEO FX需要做的工作就是制作一大堆人群来填满整个观众席,在舞台上添加CG道具,添加CG巨幕,最后模拟出数百万欧元的钞票从舞台的空调管道喷洒而出。
那这个分几步来完成呢?一开始在舞台附近安排了一些群演,如果根据镜头的帧数来说,这些群演的数量是足够的,但是放置在如此之大的一个会场中,就显得过于稀少了,而且实拍的群演主要是用来拍摄一些相机小幅度移动下的比较简单的镜头,其余镜头还得要依靠CG人群和绿幕上拍摄的真实人物来填充。
说是填充,看着很简单。但是在上面这个场景中,有非常多动态照明,其中包含动画灯,追光灯和移动的摄像头等等。如何在这个样的环境中,让填充进去的人融合的更好呢?
所以,制作团队这里使用多个摄像机拍摄了坐在各方位中的人群,得到所需的不同角度,比如:面向摄像机的人群,45度的人群和摄像机倾斜着拍出的人群等。在舞台上使用平面照明设备拍摄观众席,再使用动态的动画灯光装置拍摄所有版块。灯光照亮了空座位,然后将这些灯光变化从空座位上“提取”出来,再运用到观众身上。这种设置和方法对于使用拍摄静态的镜头效果很好,但是更复杂的镜头画面就必须使用CG和2.5D相结合的方法了。
那如何制作CG人群咧?首先,Rodeo购买了3D扫描的Kinect相机以及三台PS3相机。为了拍摄特意腾出一块地方来,先让Rodeo的员工走进来,然后对每个人进行三维扫描,拍摄照片作为纹理,然后走几步,在临时搭建的动捕区域进行表演。拍摄一个人的时间大概是30分钟左右,然后一个,两个,三个·······直到拍摄了足够数量的人后,这些数据就可以组成一个CG人群库了。这些实模的CG人群都是放置在摄像机的移动或者视角有很大变化的地方,用于舞台周围站立的观众,或部分看台上的观众。
但为了减少场景的压力,有些很小视角变化的地方需要使用平铺的人群元素,还有就是由单独的精灵元素(类似于拍摄平面素材库,以下简称精灵)构成的。
那么这个所谓的精灵元素是如何构建的呢?使用2.5D!这是官方说的哈,不是我乱起的。这个过程使用的“演员”都是一样的,但方法肯定不同。这次是让演员在绿幕前面表演,用RED Epic拍摄。这里要求每位演员在特定的时间内执行一组特定的动作。例如,会让一个人先坐15秒,之后表现出对面前的事物感兴趣的样子持续15秒,然后开始微笑着指着舞台,假装看着周围的人15秒,接着鼓掌,站起来欢呼鼓掌,抬头,最后假装抢钱从天花板上掉下来。通过让每个人按设定的时间间隔分别执行相同的操作,可以创建一个庞大的数据库,而且可以按操作进行相关搜索。
Rodeo提前找到每场演出的关键部分,将它们输入到Shotgun中,清理并简化了拍摄场地的激光雷达扫描数据,方便在Nuke中使用。确定座位的每个部分,然后创建一组自定义工具,这些工具可获取预先设置好的人群精灵,然后填充一部分看台。
使用Nuke中的一些简单的Python脚本,沿X轴生成一行卡片,然后沿Z轴复制该行几次。使用“ CrossTalkGeo”节点,根据卡片/几何体在每个轴上的位置,查找它的曲线。创建和匹配不同间距的座椅来匹配场地的座椅。
在Nuke中首先进行的是从正面拍摄一个10乘10的精灵,由一个简单的摄像头围绕着它们旋转拍摄,这样能够测量出精灵可以支持多少度的旋转。由于观众席的灯光很昏暗,因此在这组镜头中可以摆脱很多离轴运动。
后来Rodeo拿到了整个体育场的座位图,他们使用一些基本的Python和CrossTalkGeo重新创建,让每个座位上都有一个的精灵。然后再使用激光雷达与顶部的平面对齐,以确保每个精灵都与能完美的对应在座位上。
在10年前,Nuke的内存有限,但是它需要承载成千上万的精灵。于是Rodeo将体育场分成22个部分单独运作,这样系统崩溃才不至于奔溃。这项工作完成后,每个镜头的合成师就可以轻松加载所需的部分,并通过matchmove相机将其分别渲染出来,然后将它们合并到comp中。
合成师可以随机地将新的精灵重新分配给任何选定的卡片系统。如果某个部分的前面角度效果不佳(例如摄像头位于人群后面),就可以交换这个系统,只使用从后方3/4角度拍摄的精灵。
除此之外还有一些好玩的过滤器,可以根据不同的精灵标签,执行不同的命令,比如删除所有戴帽子的人。
每个精灵中都有不同的动作,合成师可以选择任何部分并重定时精灵动作来选择它们是安静地坐着、拍手还是站着并欢呼。合成师还可以使用随机时间偏移功能,使各个精灵之间的时间偏移随机化,用来分解任何重复动作。
为了让观众看起来更生动,最重要的环节是给体育场增加了一些聚光灯和体积灯。于是使用了Nuke的粒子系统在整个竞技场中生成体积光,形成了一个循环正弦曲线来使灯光在人群中掠过,这样就能使人群在所有镜头中的行为都是相似的。
这张图就可以看出实模和精灵的分部了
《权利的游戏》 Game of Thrones
《权力的游戏》大家都很熟悉了。第四季有一段群集工作,其中用到了集群动画的镜头就是未受感染者在MEREEN门外准备发动进攻的镜头。这是一个在SOFTIMAGE中完成的简单的动画循环。
实际上当时还没有正式的集群动画这么一说。在第四季之后,随着对制作人群的需求越拉越多,Rodeo相应地加快开发制作群集管线的工作。
在第五季中也为一个战斗场景制作了集群动画,用马匹和士兵进行很写实的人群模拟测试,但可惜的是这个镜头被删掉了。
在制作第六季的集群动画时是让Rodeo团队工作起来最有干劲的一次,这季中要制作的是许多士兵,马匹和囚犯在复杂的地形上行走和奔跑的场景。对于当时的Rodeo来说,是相当有意思,但也是有挑战性的一次。
在第七季中,群集制作的难度再次加大,需要为全方位的海战制作集群动画,数百名CG演员用剑在数百艘船上进行打斗。在同一季中,还制作了成群结队的白衣行者和僵尸,以及僵尸马通过爆炸的冰墙画面。
慢慢的Rodeo的集群动画系统逐渐成熟,首先在Softimage使用ICE来进行简单的处理。然后转到Maya中。可是后来由于Autodesk停止开发了Softimage,不得不使用其他工具来生成人群。在第五季时使用了Miarmy,第六季和第七季使用了Golaem。再后来将Houdini也用于集群动画的制作。
《神奇动物在哪里2》
Fantastic Beasts: The Crimes of Grindelwald
对于英国魔术部的部分,由于人群的位置更加具体,于是使用了更传统的动画方法。一部分在Maya中完成,另一部分在Houdini中完成。
制作过程中使用了不同的工具来管理动画。街头人群的动画使用是Mixamo系列中的动捕。将动捕调整为适合电影模型和与之匹配的步行动画类型,然后使用Motion Builder进行传输,重新定位并匹配Mocap集合与资源之间的比例。再使用Maya作为管线流程来构建资源,并发布所需的动画片段。之后使用集成到Maya中的Golaem人群模拟软件来构建设置。这套操作可以创建多种变体,并且可以在它们之间混合不同的动画片段。
尽管这只是一家Rodeo FX公司的群集制作发展过程,但也反应了这十几年来群集动画制作的一个缩影吧。在CG技术高速发展的今天,对于群集动画的制作现在有很多很多现成的软件和方法,在很大程度上加速了制作的进程。
好了,今天的内容就到这里吧。周一再给大家讲析另外一个技术。记得给嘟嘟妹点个赞或者来个在看,爱你们呦!~么么哒~
参考:
https://beforesandafters.com/2020/10/23/body-of-work-rodeo-fx-on-how-it-crafts-crowds/
End
点击上图直接跳转圈子
长按识别图中二维码
群集插件For UE4现在免费!
年入低于3万美金可一直免费?!UE4实时群集模拟插件来了~
UE4让动画师更强悍,会这个才是真本事!