流浪地球

郭帆
科幻
2019.02.05

太阳即将毁灭,面临绝境,人类开启了“流浪地球”计划,寻找新的家园。

项目解析

  • 展开 收起 视效解析Part1· 气氛及设计细化

    【气氛图】

    关键帧的气氛图分为两种任务类型,结合实拍和纯CG镜头。在结合实拍的关键帧设计中,我们需要调用拍摄的素材抠像并匹配色彩之后开始正式的调整,这个阶段是以构图和灯光气氛为主。如果融合了特效的设计就需要将特效层单独分离并提供详细的设计说明。

    镜头气氛图设计-冲击波将运载车斩断效果

    运载车被斩断之后,零散的结构在空间中分布,会让原本条理的拍摄构图分裂掉,所以我们需要重新架构画面。

    有趣的是,画面构成的原理与音乐的构造是相通的:

    1.利用有节奏的竖条把画面节奏编织起来。2.找到画面的视觉引导线并合理的利用大小 聚散的分布强调主旋律的画面结构。 3.定位画面4个构图点,选取其中一个作为最强有力的画面核心point。4. 跳跃的节奏削弱画面过于硬朗的直线。

     

    △气氛设计图

    △气氛设计图

    △气氛设计图

    △完成镜头效果图

     

    镜头气氛图设计-冲击波将运载车斩断效果

    汽车被反弹的冲击波切碎的一瞬间高速拍摄,我们需要从内部实拍素材提炼应有的元素做破碎效果气氛图。

    同样的原理,但是可以做简化的效果处理,这张图主要是在于把背景复杂的内容简化掉而漏出右构图分割线处的重点画面。 选取一个需要透气的点将他处理的空荡一些从而对比出其他三个画面重点的主次关系。

     

    △气氛设计图

    △气氛设计图

    △气氛设计图

    △完成镜头效果图

     

    镜头气氛图设计-刘启从点火核心出来之后在路桥上看着引擎启动

    每一个实用的素材都需要匹配正确的明度之后通过不同通道的色彩调节层来控制近中远景之间的关系。并且需要与前后镜头的故事内容对应,做到气氛融合故事增强艺术表达能力。每一次主创人员与导演校验设计图时我们都在努力做到高度预演最终效果的画面。从而辅助导演,总监在流程中能够更准确的控制方向。

     

    △气氛设计图

    △完成镜头效果图

     

    镜头气氛图设计-刘启从点火核心出来之后在路桥上看着引擎启动

    因为影片的基调偏暗,所以这场戏基本都保持黑灰色阶7:3亮色阶的比例。色调也是橙色邻近色7:3橙色互补色。

     

    △气氛设计图

    △完成镜头效果图

     

    故事到这里,是电影最高潮的部分,男主与父亲之间的感情需要在此刻上升到一定的高度。就像安格尔的名作《泉》,女孩的姿势经过特殊的处理在画面中非常优美,但是实际情况下很难有人能够摆放处这样的姿势。为了升华画面的感情色彩,前景、中景以及远景的透视关系并不是正常的透视关系摆放。

     

    镜头气氛图设计-点火核心内部主要镜头

    与纯CG气氛图不同的方面,实拍镜头之间需要做衔接,很多背后绿幕元素就要做统一的色调匹配。

     

    △气氛设计图

    △完成镜头效果图

     

    镜头气氛图设计-点火核心内部主要镜头

    △气氛设计图

    △完成镜头效果图


    FULL CG场景气氛】

    纯CG镜头的气氛设计,在构图上以及颜色分配上与实拍的镜头是大致相通的,不同的是如何从单线稿或者layout的制作片段中描绘出同样实用性的关键帧气氛图。这就需要设计师拿到整体的片子素材做完整的分析,解析出前后片段的情节发展后,尽可能的真实还原场景。

    镜头气氛图设计-刘启从点火核心出来之后在路桥上看着引擎启动

    此时引擎已经是全力发射能量,所以环境被红色的光源所包围。为了控制画面不会糊掉,设置出少量青色的点光源。

     

    △气氛设计图

    △完成镜头效果图

    △气氛设计图

    △完成镜头效果图

     

    两幅不同的颜色效果均为同一场景。引擎在不同的能量下会有不同的颜色气氛,通过调度镜头,调度灯光就可解决。节省下来重复构建画面的宝贵时间。因为场景面熟过高,增加环境雾的渲染成本过大,所以车体与引擎内部结构的距离效果是通过计算z通道的图层来实现。

    镜头气氛图设计-冲击波到达地面后斩断运载车

    MORE VFX概念团队在设计这场戏的气氛图时,尝试了不同的视觉方案,为了体现冲击波一瞬间对于场景的摧毁效果,艺术家搜寻不同时间段的爆炸效果,归纳运动规律,将素材图片融合在强有力的点线面构成中。

    有很多图片在整合的时期,总是呈现散乱的感觉,后期就需要艺术家通过调节光比和整体的色调把素材的融合做到正确比例。

     

    △气氛设计图

    △完成镜头效果图

     

    镜头气氛图设计-运载车到达点火核心内部

    △气氛设计图

    △完成镜头效果图

    镜头气氛图设计-点火核心

    △气氛设计图

    △完成镜头效果图

     

    镜头气氛图设计-点火核心

    △气氛设计图

    △完成镜头效果图

     

    镜头气氛图设计-点火核心

    △气氛设计图

    △完成镜头效果图

    镜头气氛图设计-点火核心

    △气氛设计图

    △完成镜头效果图

     镜头气氛图设计-点火核心

    △气氛设计图

    △完成镜头效果图

     镜头气氛图设计-点火核心

    △气氛设计图

    △完成镜头效果图

     镜头气氛图设计-点火核心

    △气氛设计图

    △完成镜头效果图

     镜头气氛图设计-点火核心

    △气氛设计图

    △完成镜头效果图

     


     【模型结构细化】

     

    举例:引擎侧方支撑结构设计

    《流浪地球》项目有很多大体量的部件需要在后期做以深入的细节调整,用来满足导演的具体需求以及衔接实际制作方案的执行性,就需要改变主体支撑结构安排合理的机械构造,相互的联动关系,每一个部件的实用性都需要经得起推敲。图中的设计改变了之前的支撑架结构,剧中会有猛烈的地震灾害,结构一定是能够有相互分担受力的能力,同时也要加强缓冲对结构支撑点的损坏。

     

    △底部支架结构设计概念图

    △底部支架结构设计概念图

    △底部支架结构设计概念图

     

    三维的展现技术和二维的设计能力相结合,可以让每一个生产的设计都实实在在的展现在空间中。

    举例:立交桥根据实际镜头要求设计

    从矿区到控制室再到引擎内部,结构纵深空间非常大,车体本身重量决定他的坡度必须控制在20度之内,环绕式立体交通就必须要有明确的行驶路线 保证能够在镜头推进以及视觉上不出现设计上明显的逻辑问题。

     

    △完成步骤图

    △完成步骤图△完成步骤图

    △镜头中的效果

    △镜头中的效果


    涂装设计】

    举例:控制中心涂装设计 气氛效果

     

    △完成气氛图效果

    △完成步骤图

    △完成步骤图

     

    图中,MOREVFX概念团队在拿到layout镜头数据之后,进入三维渲染引擎中调整灯光、气氛,输出多通道高清图片。根据交通线路对照三维实际道路分布交通标志规划图,着手设计场景的三种材质分布。二者结合后加以气氛的调整,用以指导后期涂装做旧破损的方向。片中每一条细小道路的构造、交通图标以及汽车行驶起来后陆续的图标如何保证交通正常运行,都在导演总监的亲力指导下做了细致的布局设计。

     


    【灯光设计】

    举例:行星发动机灯光设计

     

    △完成步骤图

    △完成步骤图△完成步骤图

    △完成步骤图△完成步骤图

    △完成镜头效果图

     

    拿到体量庞大的三维引擎模型后,在后期调控中需要我们设计出每一处点光源色彩分布,并将线性光源安排在合理的位置照亮主题结构,正确的安排点光源明度以及疏密排布,过程中需要与灯光贴图部门密切沟通设计方案可执行度。引擎体量巨大,五颜六色的灯光会让画面气势削弱,所以整体色彩控制在三种,灯光大小需要在三维中先实际测试后,确定光源以及光晕需要控制在画面多少范围的尺寸,再进行批量铺垫。

     


    【特效效果】

    举例:大气被木星引力抽起后地面的气氛效果

     

    △完成的效果设计图

    △完成的效果设计图△完成的效果设计图

    △完成的效果设计图

    △完成镜头效果

    △完成镜头效果

     

    这个镜头中,Layout提供了相关镜头的引擎底部模型,但是需要突出大体量的气氛效果就需要在此基础上,按照影片的灯光位置正确的在软件中设置环境灯光和大气的效果气氛渲染图,此时地球已经逼近解体的临界点。为了突出紧迫感,在镜头中刻意加强颗粒的移动速度,加大volume的密度用以加强空气透视对环境的影响。

     


     

    科幻题材电影富含纯CG镜头,以往的经验为了规避图片合理却无法正常执行,场景物体360度的结构关系,决定了设计流程必须走三维路线直接介入前期结构的设计中。

     

    MOREVFX概念设计团队不仅起到了明确方向的同时在项目中起到了中间桥梁的作用。灵活的变动任务实现手段来确保我们与导演沟通的设计能够顺利直通的抵达最后的环节,即便是需要变动方案,因为工业化拆分了设计的主体内容,修改光源气氛或者修改结构比例都可以在之前的基础上快速的调动,并且多线并行。

     

    概念设计,在近几年视效片增多的大环境下逐渐成长起来,并且流程与方法都在不断的进化和完善着。这个工种的属性决定了每一个概念人每一次的任务都会是前所未有的挑战,每一天都需要转换快速思维的沟通与严谨细致的制图模式。一个良好的创作环境,让MORE VFX概念团队有幸接触到这部经典巨作,未来我们会继续保持着创作的激情,疯狂的学习动力,与所有艺术家们共同为中国电影事业贡献自己的力量。

  • 展开 收起 视效解析Part 2· 跟踪匹配

    Layout部门在项目中主要负责三维相机的还原与制作,场景与道具的匹配、组装,并设计资产在场景内的布局,构成完整的最终场景,交由其他部门继续进行制作。制作准确的镜头postviz,添加指导性的灯光、动画、特效效果,为视效总监以及导演提供先导性的镜头判断,为其他部门提供准确的制作方向。

     

    【北京坝体场景资产搭建与布局】

    在项目制作中,引擎发动机是一个体量相当巨大的资产,Layout部门艺术家根据电影剧情发生的不同环境,以分区域逐步搭建的模式去完成整个场景的细化工作。发动机最外围是一圈高大的坝体,防止一切外部因素对内部的影响,作为地下城与外界连接的区域,承载了许多重要的设施。北京坝体是整部影片第一次对外部环境的展示,艺术家们从这一部分开始对坝体上的环境进行设计搭建。

     

    而场景制作的思路,主要是在遵从概念设计的基础上,根据剧情发展的空间位置关系,推演资产的布局,保证了物理空间的正确性与艺术美感的需求。在模型部门制作资产的过程中,Layout部门会先使用简模搭建场景的基础框架,根据实拍镜头添加细节,做进一步的细化。导演团队会在最终完成的场景上进行涂装设计,后期艺术家对涂装进行三维还原,为导演、视效总监以及上下游环节提供高效快捷的可视化参考。

     

    根据概念设计搭建简模框架

    影片中通过控制中心可进入内桥,位于内外桥的中轴线上的坝体宽度在330米左右,其内设施包括运载车停车棚、货物、电梯井出口、路牌与路灯,虽然户外是极昼,但大量风雪的存在使能见度变低,依此也设计了大量的照明设施,如灯塔、莲花型大灯与随处可见的路灯。

     

     

    根据镜头设计行车路线

    在最初的二维分镜设计中,主角驾驶车辆经过两次左转,撞击墙壁驶出坝体,通过与总监的沟通与讨论,设计出了完整的行车路线,为每个镜头划定了所处区域,确保三维场景可以准确的进行衔接。

     

     

    细化场景资产

    车辆行驶道路与人行区域由路灯与路墩的组合隔离开。

     

     

    人行区域有大量行驶的叉车,Layout艺术家在坝体边缘设置了延伸出去的平台结构,添加了叉车的停车棚,同时在各处摆放了大量物资,为运行的叉车提供了相对有目的性的行驶路径。

     

    运载车斗车车棚内部的陈设和车辆摆放,会严格按照现场制景搭建三维场景,精确匹对车辆之间的距离、车间的隔离墩和护栏。

    △原始素材

    △Layout摆放

    △最终画面对比图

    配合设计,按照还原好的车辆布局,对涂装进行了重新调整。

     

    涂装的三维还原

    在与视效总监的不断沟通,对导演反馈的不断修改过程中,整个场景的设置也已基本完成。此刻,Layout同时在进行制作的内桥与外桥也已经完成,组合成为一个完整的资产场景。

    导演团队在完成的场景上绘制出了建筑涂装效果。

     

    严格按照设计规则,创建涂装模型,标示出行车路线、禁行区域、人行横道位置、道路标识,用以提供给材质贴图以及动画部门直观的制作参考,也可以为视效总监与导演提供可视化的设计判断。

     

    此次项目的制作,整个场景资产的体量与数量过于庞大,将资产整合在一起之后,对于平台的运行有着相当大的压力。面对这些问题,技术部门给予了较大的支持,在流程工具的帮助下,使用减面与烘培贴图的方式针对高模进行优化,在满足中心点位置与命名统一的条件下,制作用于显示的代理资产,减缓文件压力。资产移交于下游部门时,同样可以通过工具将替代资产进行转化,选择所需要的部分进行制作,降低整个工作流程的制作压力。

     

    坝体场景范围相当大,为了营造热闹繁荣的场景氛围,需要加入大量行走的工作人员,由于实际拍摄是在绿棚内进行的,无法容纳太多的群众演员,需要后期来实现。使用三维群集去制作无疑会进一步增加流程的压力,对于近景角色的需求,资产的处理也会花费大量的资源。Layout艺术家最终采取了放置实拍素材的方案,在绿棚内拍摄单位角色素材,在三维场景内放置面片,贴图并调整透视,使用Layout摆放与合成的方式制作群集角色。

    这样做便于对角色的站位以及疏密进行精确的调整。难点在于对现场的拍摄要求较高,演员表演要到位,以及后期在素材上的选择,对于角色正确透视与比例上的调整。

    △三维空间

    △原始素材

    △Layout摆放

    △最终效果对比图

     


     

    【地球引擎分布-发动机的布局】

    发动机布局视效制作部分,Layout部门的艺术家首先要与总监沟通,获取制作需求,查阅相关资料并对地球进行区域功能规划,优先制作整体发动机的基础架构,以可视化的状态与总监沟通细化方向,最终确定后,会根据每个镜头的艺术需求做进一步调整。

     

    【基础构架与分区】

    行星发动机主要存在于北半球,首先要划分出了三个区域:赤道地区(转向发动机)、北纬30°-65°地区(推进式发动机)、北极圈地区(推进式发动机)

    △区域划分

     

    其次,使用工具制作整个地球行星发动机的基础构架,并通过设置工具的参数,调整各个区域发动机的密度、随机、噪波等参数。使整个基架便于高效快速的修改。

    △基础构架

     

    赤道地区:四个发动机组成不均匀的四边形,作为一个组合,有序的分布在赤道上,从而发挥最强的转向力。

    △赤道地区

    北纬30°-65°地区:这个地区根据经纬线进行线性的发动机摆放,并添加的Noise和随机效果。

    △北纬30°-65°地区

    北极圈地区:以北极点为中心做发射状分布,使各个区域发的推进力汇聚在一起,产生更大的推进加速力。

    △北极圈地区

     

    【海陆区域划分】

    在基础构架之上,为了增强合理性并加强艺术效果,需要区分陆地与海洋区域的引擎密度划分;陆地部分密度增大,海上部分保持原有的稀疏状态。

    △地球贴图

    应用地球黑白贴图,划分出明确的海陆区域。

    △海陆区分细节效果

     

    借由程序运算与手动处理,使两个区域有着较明显的区分,海面部分也在保持大框架的基础上,打破规矩结构,增加随机性,显得更为自然。

    △海陆区分整体效果

    根据具体镜头修饰构图

    最终Layout艺术家会根据实际镜头,结合导演与总监的反馈,做出更加细致、符合艺术需求的修改。

    △镜头细化

    根据地势的高低进行着发动机的稀疏分布,避免陆地发动机分布的过于均匀。

    △镜头展示

    在这个过程中,一步一步完善创意,规划技术解决的方案,节约成本,实现高效生产与艺术达成相结合的目的。

     

    片头出片名的镜头,地球在发动机的推动下缓缓启动。制作中的难点在于,如何设置星球之间的位置关系以满足构图与节奏的需求,与发动机火焰的示意效果。

    △出片名镜头

     

    首先查阅相关的资料数据,Layout艺术家在三维软件中还原了地球、月球、太阳在星系中真实位置与比例关系。在参考前期previz的过程中发现,当时为了满足导演的需求,previz的制作在二维层面上添加了额外的动画,为了保证效果,Layout艺术家在三维空间中适当调整月球和太阳的位置,以及调整相机和地球运动的动画,匹配整体的构图与节奏。

     

    现阶段的制作完成后,通过在三维软件中模拟太阳光,来实现太阳对地球边缘的受光影响。然后渲染出所需要元素分层,为了节省时间成本,星空和太阳光效是在合成软件中实现的,通过三维相机的投射,制作了远中近三层星星。使其在相机的运动情况下,产生细微的透视变化。增加了部分不定时的星星闪烁。太阳的光效也是在合成软件中完成,通过调节各元素的相应参数,完成Lay阶段的效果展示。为导演和下游部门提供参考。

     


     

    【引擎桥梁-资产搭建与布局】

    影片最后的高潮部分,均是发生在苏拉威西三号转向发动机内,有大量在内部桥梁行驶的镜头。首先,Layout艺术家需要完成发动机内部引擎桥梁的拼装与布局,根据剧情变换的场景破坏程度以及相对应场景的镜头制作等。

    其次分析已有的资源:在数据上面,发动机的总半径大概在16公里,内部桥梁的长度约为12公里,桥面离底部地面高度在700米左右;前期previz所使用的简模场景;导演团队提供的涂装设计图。

    方案制定:严格按照已有数据与设计,在简模的基础上,使用高模进行拼装;在桥梁的涂装方面,因为12公里长的桥如果都需要绘制材质贴图的话,工作量是相当大的,通过前期的讨论与方案商讨,Layout艺术家需要对原始的涂装设计进行修改,使用一节贴图重复、首尾无缝衔接的桥段去拼凑,增加桥梁拼装的灵活性,运用在了包括引擎外桥的所有桥梁上;在故事发展的过程中,桥梁会经受地震以及火焰喷射气浪的影响,造成不同程度的破坏,据此需要多准备两套破坏状态的桥面资产,以应对剧情的需求;最终会根据具体镜头进行细节上的调整。

     

    涂装的三维还原

    在模型部门在制作模型的同时,Layout艺术家开始对涂装还原,给予材质贴图及动画部门可视化的参考,提供严格而直观的制作方向。

     

    循环桥段制作

    使用已经做好的涂装模型,对原涂装进行修改,需求每段桥仅有一座门架子,首尾连接处保持完整的路标,由此调整出了新的循环涂装。

     

    整体内部桥梁由10段1.2公里长的模型单元以及三叉戟桥梁部分拼凑而成。

     

    破坏桥梁制作,细化场景元素

    最后根据剧情,内部桥梁会受到不同程度的破坏效果。破坏程度区分:初级破坏,受木星引力引发的地震;高级破坏,受发动机喷射后所形成的冲击波影响。

     

    这一步,Layout艺术家细化了场景内的元素,添加了翻倒的车辆、掉落的碎石、行车指示牌。为整齐码放的资产添加了随机的偏移值,路灯的倾斜程度也会受到相应的影响。

     

    离发动机中心越近,受破坏的程度也就越大,Layout艺术家为整个桥面的破损效果做了逐渐递减的效果。

     

    最后会根据具体镜头,对可视范围内的环境做进一步的处理,满足剧情情绪所需。

     

    在整桥的拼装过程中,遇到一些特殊的区域:正常桥面与三叉戟桥面连接的位置,会由双向四车道变为双向六车道;进入核心区域由双向两车道变为双向四车道;控制中心门口与桥面连接处的叉车掉头区。这些区域在原设计图中并没有涉及到。

     

    Layout艺术家在制作这部分过程中查阅了大量现实中的道路交通标识,参考变道规则,与总监进行沟通,依据原设计方向的整体风格,对这些特殊区域进行了延伸设计。

     

    三叉戟桥段造型比较特殊,可以通往不同的核心区域,变道的处理也较为复杂。根据核心区域门口的平台造型,添补了许多禁行标识,闸门落下的区域也设置了较为明显的警示线。

     

    在控制中心门口,为道路两侧行驶的叉车,增加了通往坝体平台叉车停车棚的路线。

     

    “一往无前的唯一力量”就是热爱你所做的一切,那么很兴奋的说《流浪地球》就是我们所热爱的,科幻就是我们所热爱的。因此我们一直都是怀着激动的心情参与其中。也可以说它是自己人生中的一座灯塔,为我们指引着方向。

    《流浪地球》也是被誉为一部具有里程碑意义的作品,意味着中国科幻电影的正式启航。让这颗科幻种子发芽,为下一部科幻巨作奠定基础,为中国电影的工业化出一份力。

  • 展开 收起 视效解析Part 3· GEN场景制作

    《流浪地球》项目GEN部门主要负责全CG的场景镜头,如北京,矿区,泰山等镜头的视效制作。

     △矿区场景文件展示


    【资产的制作与优化环境资产】

    《流浪地球》项目需要呈现出地球逃离太阳系, 全球气温骤降,到处都是冰天雪地的景象,我们负责的镜头需要雪山,冰原,城市废墟,引擎,矿区等资产。前期会根据场次地点制作一些通用的自然环境资产,之后为了优化场景文件和更好的呈现真实环境,其中雪山,冰原等环境的资产会根据各镜头的需求进行优化制作。

    △北京矿区

    △北京矿区

    △北京矿区

    △泰山

    △泰山

    △三年后的北京

     


    【场景的组装与优化】

    GEN部门制作的镜头一种是Layout组装文件,场景摆放、渲染等制作都由负责该镜头的艺术家来完成。另一种是LAY或PVD部门在Layout完成后,提供最终的镜头动画和场景的简模,GEN部门艺术家再根据镜头组装完善场景文件。

    资产文件采取Reference的方式导入,把物体combine成不同的组合再分别复制摆放到场景里。之后如果需要修改物体的属性,只需要修改Reference的原始物体文件。在场景里增加Reference的子物体,软件只读取原始物体的信息,这样增加更多的子物体比直接添加实体占的内存小很多。

     

    矿区场景还需要加载各种动画的资产,如挖掘机,运输车,推土机,人等。ANI部门提供的动画文件和原点循环动画资产,我们根据需要来替换之前的Reference文件,也可以重新Reference新的资产。但是个别需要加载很多动画资产的场景文件,如泰山的镜头在桥上和冰原上行驶着1200多辆各种的运输车和工程车。要把上千辆高模的车辆加载到场景里。我们采取了把简模的车辆动画转成带着位移旋转属性的Piont, 再把Piont导入场景里替代对应的高模资产,这样就很好的优化了场景文件,也方便后续的修改。

     

    △简模的车辆动画转成带着位移旋转属性的Piont

    △Piont替代高模车辆渲染图

     


    【矿区长镜头的制作】

    矿区的长镜头是个一镜到底,从矿区穿过引擎再拉出地球直到领航空间站的镜头。需要在一个镜头里呈现出矿区,引擎,地球,太阳,还有空间站等各个元素的比例大小和空间位置关系。我们根据动态预演来分析制作的方案,分了两个文件进行制作, 在镜头环视引擎喷射火焰的时候过度另一个场景文件。

     

     

    为了呈现出矿区,雪景环境,城市,引擎等更真实的效果,在一个场景文件里制作和搭建了几千亿面数的资产,2000多盏灯,2330帧的全CG镜头加上特效的元素做了45个层渲染,可见这个镜头的制作和渲染的任务量相当的重。在PVD部门做动态预演的时候我们一起配合着确定场景的环境,他们会先做一版大致的镜头动画和简单的环境模型。我们会根据他们给的简模位置和镜头来设计场景环境,一边搭建环境的模型,一边提供给PVD部门简模做动态预演。在与PVD部门协作完成基础的场景环境搭建后,再开始对矿区的功能区进行规划设计,根据设计完善每个区域的分布,组建机械设施,最后再细化到镜头经过的区域加入更多的细节,基本的制作思路是由大而小的来完成,这样能更好的优化场景,镜头看不到的地方就可以不用加细。场景里的一些元素模型会提供给EFX和ANI部门进行制作,完成后再提供abc或vdb文件给我们做最后的整合。镜头的效果通过后,我们会先渲染小尺寸低质量的版本与CMP部门沟通需要做的渲染层,在提交渲染文件的过程中配合着解决一些出现的问题,这样复杂的长镜头需要与各环节部门紧密的配合才能更有好,更有效的完成制作。

  • 展开 收起 视效解析Part4 · PVD镜头设计制作

    不知道大家是否还记得影片中从地面的车辆一镜延伸到太空的长镜头,这个镜头是非常有代表性的,它基本上涵盖了我们在影片中看到的从微观到宏观的内容,是为了向观众说明电影中所有事物的比例关系,所出现的事物都是有层次的、以递增的方式展现的,从运载车到矿坑,再到挖掘机、引擎发动机等等,所以这个镜头无论在艺术方面还是在技术制作方面的难度都非常的大。

    MORE VFX PVD部门的艺术家们负责了这一镜头的场景设置和镜头动画制作,以及影片中北京发动机车库场次、北京矿区场次、地木相撞太空场景、木星点燃场次里面部分镜头的设计和Layout以及纯CG镜头设计制作。

     

    镜头的场景跨度较大,在最初的资产准备阶段就要考虑之后动画制作时所能承受的资产量,最大限度提高动画的制作效率。在构建场景时PVD部门需要考虑从一辆运输车到地球全景的比例问题,以及场景的光线方向,用最快速的方法制作场景的结构简模。镜头动画用曲线绑定摄像机的方式制作,便于相机动画的控制。将完整的动画分拆成几段,便于后面动画方案局部修改时进行单独的调整。

    在做场景规划之前,PVD艺术家先设置了太阳、地球和空间站之间的相对位置关系,因为在《流浪地球》的设定里,北半球布满了地球发动机,处于极昼,南半球则处于极夜。在这样的设定下,设计镜头动线时光线的合理性就会显得很重要。例如刘启和韩朵朵驾驶工程车离开北京之后的镜头,工程车大都是逆光或者侧逆光行驶的感觉。

     

     

    通常PVD部门在接到这样一个镜头设计时所具备的资源是很有限的。制作初期PVD部门只有一个发动机的简模,这就需要艺术家们先规划出镜头中主要场景的结构,在进行不断的细化,随着资产的完善,细节就会越来越丰富。

    PVD艺术家首先用最简单的模型制作出整个镜头所需要的环境,确定整个镜头的动线,因为《流浪地球》的资产体量上都没有可以参考的实物,因此部分资产最终的设计和制作其实是在镜头Layout确认之后才开始。初期PVD部门会根据概念设计制作一些由简单色块组成的模型,最终根据镜头内确定的体量感,再进行资产的选择、设计和制作,这样可以避免设计出的大体量资产和镜头不匹配,而无法进行大比例缩放的问题。

     

    △矿坑环境分布参考图

     

    导演的想法是随着镜头拉开,所见物体体量不断递进攀升的效果。因此如何规划这个场景中从最小元素的一个人,到40米直径的工程车,再到高达数百米的挖掘机,二十公里直径的地球推进发动机,到地球全景,就成为了PVD部门所需要解决的一个问题,这涉及到的资产量之大、资产的比例跨度之大、场景复杂程度,都是PVD部门之前从来没有遇到过的。

     

     

    场景中用大量的简单的box组成替代复杂的模型,Layout文件是可以实时播帧的,这在动画制作时提供了很好的工作体验,为艺术家高效的完成工作提供了基础条件。

     

     

    云层作为环境中是不可或缺的组成部分,不但可以提醒观众镜头上升到达的高度,还可以在周围没有参考物的时候增加环境的空间感。

     

     

    在车辆运动的路线上,PVD部门用Curve曲线规划出路径和方向,再由后面的animation部门和asset部门根据Curve曲线的规划来继续工作,减少不必要的沟通。在做道路类的规划时,Curve曲线是我们经常使用的办法,便于后续部门在制作中继承使用。

     

     


    一般来说,在PVD部门进入的时间点上,很多后期的设计都还没有定性。因此,PVD部门在制作中不仅仅需要完成某些镜头的设计,还可能要为整个项目先确定一个大致的架构和基础的关系,然后交由下一个环节继续细化和完善。

     

    为了保证电影世界细节的合理性和逻辑性,在整体开始正式制作之前,必须要先进行场景比例的确定和规划,才能使得电影世界真实可信。

     

    △木星和地球

    △地球和发动机

     

    △发动机和矿坑

     


    【矿坑场次】

    PVD部门按照参考构建了一些矿坑内的常用设施,模型组先制作建筑群和设施,由PVD部门整合,制作整体的比例图。

     

    在搭建矿坑内部构造的时候,PVD部门以现实的合理性为基础,以镜头的美学表现为目标整体做出了规划。

     

     

    现实中矿坑的传送带分布很是稀疏,为了体现整体繁忙的气氛和镜头表现力,PVD艺术家将传送带设置的很密集,而矿坑里的设施规划力求合理,传送带传输到地面的位置,有累积起来的石堆,有装填石堆的机器,有等待装填的运载车,有吊车、叉车甚至还有碎石机等等,形成了一个完整的运输体系。这些运输体系以及传送带的分布则同样需要按照镜头内的表现来做出调整,力求做到合理的同时也符合审美。

     

     

    【木星被点燃场次】

     

    木星被点燃的场次中有两种在尺度上截然不同的镜头,一种是表达木星和地球两者关系的镜头,一种则是离地球很近的表现发动机的镜头。而在Maya里面数值过大可能会对后面环节的进行造成不小的困扰,因此PVD艺术家们分析之后决定采用两种比例制作,一种是真实比例,采用于表现地球发动机的近景镜头,另一种交代两者关系的则整体缩小了一万倍,尽量为后面的环节省时省力。

    这个场次比较重要的一点就是木星和地球、太阳和地球的位置关系,前者决定视觉上的效果和接镜,PVD艺术家选择了剧情中的真实距离(当然个别镜头为了视觉美化做了一定的修改),后者决定光源的方向,也同样是为了剧情承上启下和接镜。

     

     

    制作中所遇到的比较意外且典型的困难就是表现木星和地球的体积关系,木星的直径是地球的11倍,体积是地球的1300倍,本以为如此巨大悬殊之下,很容易就能表现两者之间的对比关系,结果想凸显出两者体积的巨大差距并不是那么容易。

     

     

    上图中就可以看出,实际上两者的体积差距并没有想象中那么夸张,即使我们把相机极端的靠近木星,再加上广角以显示其和地球的巨大的体积差,效果依然也没有预想中的那么震撼。

     

     

    总监想要的是木星近乎平直的轮廓线和渺小的地球所造成的剧烈反差,经过多次尝试,PVD艺术家选择了18的焦距,因为过于靠近木星,更小的焦距会使木星的拉伸比较严重,且木星的轮廓线也会变得更趋于圆,而地球的位置也为视觉效果而做出稍许的调整。

     

    △Layout镜头演示

    △最终效果

     

    相对应的,在近地角度看木星的某些镜头,实际上以的空间距离并不能达到遮天蔽日的感觉,PVD艺术家制作的时候除了会用长焦保持木星的体量之外,也会对木星的位置和距离做一些调整来保证镜头内的震撼感。

     

    在冲击波的太空部分,冲击波的表现力和速度感是一大难点,表现力很大部分在于特效部门的发挥,而速度感则需要PVD部门来解决。之所以速度感会成为难点,则是因为太空中并没有其他的参照物,而冲击波与镜头齐头并进,几乎相对静止。

     

     

    于是PVD艺术家先确定整体的速度,让人可以观察到地球的些微变大,在太空尺度上,这种速度已经非常快了,但是并不能更快,因为剧情需要不短的时间才能到达地面。然后保持冲击波的速度始终比相机要快,再辅以适当的相机抖动和特效的表现力,来强化整体的感觉。

  • 展开 收起 视效解析Part5-1 · 引擎发动机的灯光渲染与合成

    “这座发动机的高度是一万一千米,比珠峰还要高两千多米,人们管它叫‘上帝的喷灯’。” 这是小说《流浪地球》中对“引擎发动机”的一句充满想象力的描述。行星发动机建在连绵的山体上,顶部的发射口在云端若隐若现,引擎底部是高耸的坝体来抵挡恶劣的自然环境,面对这么一个庞然大物,MORE VFX 视效艺术家们是怎么处理的呢?

     

     

    灯光部门艺术家先结合剧情需要确定大气氛,比如环境光、木星光、引擎光柱等等,然后按结构拆分成几部分,逐步去细化细节。发动机的引擎腿部分,它既是支撑整个发送机的重要骨架,同时侧面很多工作和作业区域,艺术家们要发挥想象,根据模型结构和概念图去揣测这部分是什么区域,会有什么样的灯光表现。很多想法和细节都是跟总监反复推敲才达到最终的效果的。其中单是引擎腿部分就有8485盏灯光,加上其他结构,引擎发动机机体的灯光总数超过一万个。

     

    △LAYOUT

     

    △COMP

     

    运载车在路桥上行驶的一系列FullCG镜头,路桥全长大约十几公里,这是进入引擎内部的必经之路。其中涉及到的资产有引擎资产、坝体资产、桥面资产及行驶的车辆,还有上升气流、雪雾、冲击波等特效元素,灯光的设计分为车灯、路灯、坝体上面的车棚灯、莲花灯、控制中心灯光系统等等。场景中有八条路桥,每条桥上有五百多盏路灯和一千多盏警示灯,资产量之多都是前所未有的,灯光的复杂程度显而易见。传统的方法已经无法便捷的解决问题,灯光部门艺术家的通过高低模替代,Pathed封装子层级物体,通过读取位置信息摆放代理的方式,也就是说同一个资产,只读取一次,大大减少场景中的模型数量和内存占用。然后从资产Path属性中筛选出灯光模型,用Geolight和Instance结合的方法,用一盏灯实现所有同类型照明效果,还可以用表达式随机控制灯光的亮度和颜色。

    如此庞大的灯光渲染量,制作过程中就会有层出不穷的问题,渲染时间过长就是一大难点。艺术家们需要进一步优化文件,如果一味的降低渲染参数,会造成高光闪烁,暗部有噪点等问题。经过反复测试,艺术家将灯光照明范围控制在合理的数值内,并且严格控制产生间接照明的灯的数量,渲染出理想的效果。

     

     

    从空中俯瞰地球的一系列镜头,想必给大家留下了深刻地印象。在相机视图下基本都会有10座发射器,在灯光方面如果没有处理好就会显得非常小,需要在制作的过程中去做一些处理:

    一:模拟出太阳照射到地球,通过云层给地面照射出阴影,为了能够模拟出有云层的阴影投射到地面以及发射器上,艺术家们在灯光上做了贴图阴影的投射,从而能够让整个场景凸显出很大的空间感。

    二:处理上游环节给到的元素,基本都是特效的一些元素(引擎周围喷射出来的烟尘,风雪,还有云层),所有环节的元素处理完毕后就可以渲染输出,接着给到合成部门进行制作。

    合成部门主要负责整合各部门提供的元素,了解总监和导演的想法后,逐步去调整元素,完成镜头最终效果。眺望木星的场次,是主人公刘启点燃引擎点火核心后,在路桥上看到巨大的火柱冲出云层冲向木星的画面,也是刘培强驾驶空间站撞击木星前,最后一次跟儿子通话的情景。眺望木星的场次总共有27个镜头,主要以场景延伸为主,涉及到运载车,引擎发动机,上升气流等等。这个场次只有人物和运载车的一小部分是实拍,剩下的车厢和油桶,加上所有路面和引擎以及特效元素部分,都是后期完成。因为上游组场景匹配和资产质感都很到位,灯光环节只做了简单的灯光匹配,以引擎火光为主,木星的光芒为辅,运载车的延伸部分就跟实拍结合的天衣无缝,再加上引擎上的工作灯和路面上零星闪烁的路灯,场景丰富且大气。

     

     

    视效制作过程中,头盔反射问题比较严峻,实拍现场多数场景以绿幕为主,后期扣完绿幕之后头盔几乎不剩细节,按照常规的制作方法,Layout部门匹配头盔位置,灯光渲染部门对头盔进行渲染,然后将整个三维场景的反射层给到合成部门,这个做法弊端是每个元素修改都需要再次渲染,很浪费渲染时间。经过反复的测试,灯光部门只需要制作一张整个场景的动态Hdr,再渲染每个镜头中头盔的Stmap即可,既优化了渲染时间,又便于合成组进一步制作。

     

     

    眺望木星的镜头涉及场景延伸和引擎火焰效果,整个环境受木星光的影响比较大,所以场景的主色调是红色。这个镜头既有场景延伸,又有引擎火焰气氛的效果,镜头共有490帧,帧数长而且镜头运动缓慢,抠像也比较麻烦,镜头在运动中和现场打光的灯有交互,处理起来就要花费许多时间。制作引擎火焰效果,前期做了很多效果测试,测试过程中遇到如渲染出的雾气厚度不够,纹理太大,火焰的细节太少等问题,都用合成的方式解决了。

    如上图所示,合成部门把上游组拿到的文件匹配原素材实拍的颜色、亮度、光感,背景远处的蓝色引擎火焰是根据Layout部门提供的实际空间位置的模型,合成投射上去。在合成火焰气流时,考虑到火焰是发光体,会对周围的物体有交互影响,所以气流离火焰近的地方会亮,红色饱和度会高,气流经过木星的时候也会被木星光影响,木星亮的地方气流会变得通透。

     

    上图是上游组给到合成部门的效果,合成部门想要增加更多的细节确没有合适的图层可以调整,所以合成部门就使用Layout部门给出的模型,用Noise做出的贴图投射到模型上,然后叠加到一起调整出现在的效果。

    △合成部门用Noise做出的图层

     

    △火焰合成的最终效果

     

    合成部视效艺术家的叶婷婷说:“第一次参与制作科幻类的电影,跟之前做的项目不同,这个项目中的每个镜头中加的特效元素和调整的气氛效果也很多,因此在制作过程中需要考虑很多,既要把握好整体气氛,同时又要细节丰富,通过这个项目也学到了很多之前没有接触的知识,虽然在制作过程中很煎熬,但是看到最终的成片和上映后大家的评价,感觉之前的辛苦都是值得的,也感到很荣幸能有机会参与制作了这个电影。”

  • 展开 收起 视效解析Part5-2 · 灯光渲染解析

    支撑着高耸入云的引擎发动机坝体部分,它既可以抵挡外部恶劣环境,也是连接地下城和地上的枢纽。在拿到动画镜头之后,灯光部门艺术家需要根据概念图分析灯光布局问题,主要灯光是室外自然光照、引擎喷射等离子光束产生的强烈光照,以及车棚内外一些人工设施上的灯光和经过车辆的光照,再与制作人员讨论制作方向。

     

     

    首先灯光部门需要跟总监确定Key Shot镜头,完成整体大环境灯光的设置以及部分优化,交由其他制作人员,再根据具体镜头进行相应的调整。这样既可以保证制作的效率,又可以保证整体场次效果统一。

    北京场车棚是位于引擎周边坝体上的停放采矿车和运载车等车辆的停车场,车的种类有箱式运载车、斗式运载车、工程车、小叉车等等,同一种车辆有不同类型的涂装,甚至还做了车棚内外车顶积雪程度的区分。车辆和现实中相比,尺寸要大出很多,并且近景和特写镜头很多,资产精度较高,因为车棚内是半开放式的空间,自然光、引擎光、路灯、车棚内照明灯和经过的车辆灯光交叠在一起,在渲染计算间接反弹时也花费时间较长。因为剧情的需要,这些因素给渲染造成了不小的困难。

     

    △LAYOUT

    △OCC

    △COMP

     

    灯光部门艺术家在组装方式上对资产进行打包处理,场景中大量的非动画相同类型资产,通过读取位置信息摆放代理的方式,在渲染时只读取一个资产,减少内存占用,然后把灯光分成不同类型,重复的灯光使用instance提取模型位置信息来摆放灯光,再根据需求控制在适当的照明范围内,单独控制部分灯光的直接和间接照明,不做多余的计算来减少渲染的时间。

     

     

    相似的制作方案还运用到了电梯这个镜头,如果使用传统的灯光制作方法,在如此短的制作时间周期内想按质按量全部渲染完成,几乎是一个不可能完成的渲染任务。灯光部门艺术家采用了Geolight和Instance结合的方法,来模拟电梯通道内上百盏灯光,呈现出真实的视觉效果。

     

    △LAYOUT

    △COMP

     

    制作过程中,还有一个难点是气囊球,它是刘启和朵朵从高处掉落后起到保护作用的,它的材质是结实又带有弹性的高级塑胶和高密度合金骨架,而且是双层,灯光就会折射多次,个别镜头里面的人物是实拍的,这就要求气囊球跟实拍完美结合,看不出一点cCG感。

     

     

    首先进行材质的测试,气囊球里面一层塑料膜是干净透亮的,最外面一层是脏的,并且伴有尘土和划痕,所以质感要十分丰富。第一版的材质,由于贴图上画了太多细节,透明度不够,渲染出来像油纸一样(如图)。经过反复测试,才达到了预期的质感;其次就是个别镜头的处理,和实拍人物相结合时,需要将球切成4份进行制作,才能将实拍的人放到最里面;之后是纯CG镜头的处理,多次折射带来的困难也不小,不仅考虑效果,还得考虑渲染速度和分层处理。灯光的匹配,又是需要好几套灯,不仅跟环境匹配,还得自我创新,来达到球的体积感,质感等。

     

    (此图为错误的效果演示)

     

    最后就是与特效元素的匹配,特效里有烟,碎石等,烟里透着球,球里透着烟,直接全部渲染出来,合成师又无法进行调节,或者说调节受限制,每个元素都要分层处理,每一层都要受到各个元素的影响,并且还可调。总之虽然它在整个视效里占据的画面微乎其微,但是制作上却比大场景大特效还要难处理,经过反复测试,摸索,最终达到了预期的效果。

    灯光部门指导白岩说:“制作流浪地球项目对我的意义是很大的,在行业内也工作人很多年。国内公司很少接触到在制作体量和效果难度上如此巨大的项目,这对我们个人和团队来说都是一次挑战。虽然过程中困难重重,最终还是顺利完成了,并且得到了观众的认可。很荣幸能参与到《流浪地球》项目的制作中。”

  • 展开 收起 视效解析Part6 · 运载车的动画与绑定制作

    【动画制作】

    动画部门接到的任务制作量最庞大的是开篇时从矿区一镜到外太空的超长镜头和最后车库部分的超长镜头,这两个镜头极具挑战性。一来两个都是一镜到底的长镜头,二来都涉及到大全景,需要制作大量的车辆、机械及三维角色的动画。

     

     

    【开始之前先进行动画预设】

    动画部门制作的车辆体积非常大,如此大的车辆在道路上行驶时自身也会产生一定的震动和晃动,考虑到后续会有大量车辆行驶动画出现在镜头里,动画部门艺术家决定先做一些车辆动画预设来进行后续的批量使用。动画预设包括车体的震动与晃动,车辆的走停等,在后续的制作过程中使用公司自己的工具进行动画的批量导入并进行随机化处理,这些都节省了大量的人力和时间成本,大大的提高了制作效率,缩短了制作时间。

     

     

    还有一个比较关键的地方是,我们在跟视效总监进行方案制定的时候发现大型斗车或拖车在路上行驶的时候车头和尾部会向斜下方倾斜,形成“入”字样。我们将这个细节加入到动画的制作当中,让车辆本身更具有说服力。

     

     

    【绑定给予的强力支持】

    有几场戏在矿坑里发生,由于矿坑的地面环境凹凸不平,所以车辆在这种路面上行驶时就不是简单的晃动,而是要按照地形的起伏进行非规则性的震动。这种动画如果单纯用人力进行制作相当耗时,为此绑定部门搭建了一套车辆轮胎及车身与地面交互的自动演算方式,按照这套设置进行常规操作后,车辆的轮胎及车身就会依照地面起伏进行非常自然的运动,后续再由动画部门把车辆的行驶轨迹做好。

     

     

    【大量现实生活当中车辆动态参考】

    影片有一些车辆之间以及车辆与场景相互碰撞的镜头,为了使动画看起来更加真实可靠,动画部门艺术家参考了大量的写实影片、纪录片,从这些参考当中提炼出车辆碰撞的运动规律及量感的体现进行制作,让如此庞大的家伙看起来更加逼真写实。

     

     

    【CG角色的动画制作】

    制作时所使用的数字角色并不是很多,基本上拿到需要制作的镜头之后按照需求寻找相应的参考,或者动画部门艺术家亲自进行演绎之后开始制作,也是一段很有趣的过程。

     

     

    除了上述机械和角色类的动画之外,辅助类的动画制作的也比较多,占比最大的是坠落点的掉落物部分,由于这些物体会涉及到表演及构图等,所以借由动画部门制作,这样可以更加实时的去观看效果,反复修改的时候可控性更高,避免产生不必要的时间及人力的浪费。

     

     

    由于前期的准备工作做的相对较为完善,所以制作的过程当中没有遇到太多的问题。与上下游组的频繁的沟通也是项目得以顺利完成的关键。

     


     

    【绑定制作】

    绑定部门在项目中不仅要负责绑定任务,还要考虑如何优化资产并开发工具,协助其他部门在体量与数量都如此庞大的环境下,进行批量生产。也因为这样,在单一个镜头中,除了场景,可能还会同时出现几十、甚至几百个绑定,这对镜头环节来说,是相当大的压力。

    和过去的项目一样,绑定部门是模型与动画之间的桥梁,负责为静态模型添加设置,让动画师能在设置上尽情表演。而与与过去不同的点在于,项目中有许多问题都不能只依靠单一软件、单一部门自行处理,需要每个部门跳脱现有流程、部门框架,来回测试解决,因此跨部门合作成了这个项目的重点。对绑定部门来说,承担的不仅仅是被分配到的绑定任务,还有许多协助上下游环节的工作,比如少量资产的造型设计过程(如苏拉维西点火区的连动装置、撞针等),协助模型师在造型设计时间将机械的运动结构、连动系统做的更加完善。

     

    绑定部门的任务有几类,第一类是交通工具绑定,像是运送火石的箱车、填装砂石的斗车、搭载弹药系统的军车,以及矿区中的挖掘机、工程车等,由于这类的绑定可能同时大量的出现在同一个镜头中,因此需要注意如何优化文件,与装置的使用如何能更自动化;第二类是机械绑定,行星发动机、点火区的连动装置,以及地下城的电梯等属于此类,这类的绑定需要在模型阶段便和模型师配合,针对机械结构进行研究、设计运动结构;第三类是角色绑定,比如剧中刘启、朵朵、Tim的数字替身,这类的绑定使用演员的扫描模型,并与动画部门合作,以动捕系统为角色赋予动画;第四类是工具开发,这类的任务主要是协助其他环节进行批量化生产,或解决一些单靠软件内部功能无法解决的问题,比方说,北京联外道路的批量Layout工具、木星UV变形工具等。

     

    由于影片的资产数量与体量都相当大,绑定部门在项目前期便能预期镜头部门将会承担不小的压力,因此丙丁部门艺术家在制定制作方案时,优先考虑的原则有两个:一是文件的最优化,二是装置使用的自动化。在文件优化的部分,绑定部门制作时刻意减少受deform影响的对象,取而代之用transform进行控制,这样不仅能减少绑定文件的变形节点数量,也能减少镜头部门出缓存时的数据量。在装置使用的自动化部分,绑定部门艺术家希望可以减少动画部门调整一些较机械、能靠计算得出来的动态,比如,交通工具能自动受地形作用、车体转向时车轮会自动转向、车轮会随着行驶距离自行转动等。

    以下将分别以《流浪地球》中在交通工具绑定遇到的挑战、道路组件批量Layout工具开发与UV变形绑定工具开发,分享我们的制作思路。

    【交通工具绑定】

    在地球停止转动、逐渐远离太阳的过程中,地球表面形成了一片冰封世界,《流浪地球》的交通工具,便是行驶在这样的极端的环境下,如何让数量这么多的交通工具在各种地形上奔驰,是绑定部门遇到的第一个挑战。由于地形需要带动车体的晃动,首先要确保在装置上有一个层级是能被所有车轮平均抬起的,并且在抬起的过程中,车体会随之倾斜(如图1),在装置上留下这样的接口后,便能将车轮受地形抬升的位移值,转移到车体的倾斜上。

     

    图1 车体随车轮倾斜

     

    那么如何让车轮被地形抬升呢?如果利用maya内建的closestPointOnMesh节点,找到地形与车轮的最近点,用它来计算抬升的位移值,可以做到类似的效果,但closestPointOnMesh是基于mesh运算,mesh上的transform不会对它产生作用,而为了动画师在使用装置时可以更自由的操作,不用另外为地形添加deform,自由调整地面与车轮接触的offset值,绑定部门最终选用了maya muscle的keepOut节点。keepOut的特性是,当碰撞物与keepOut接触时,会沿着属性上设定好的轴向移动,而碰撞物上的fat属性可以用于调整keepOut与碰撞物的接触距离,数值越大接触距离越远,这个属性可以方便动画师调节穿插,也可为灯光师调节车轮与地面之间的距离,留下阴影渲染的空间,绑定部门便是利用keepOut的这几个特性,来做为车体与地面交互效果的底层设置(如图2)。

     

    图2 车体与车轮受地形抬升

     

    完成车轮抬升、车体与地形的交互后,许多中远景的行驶镜头便能获得满足,但有些镜头车轮需要有与地面挤压膨胀的效果,因此绑定部门在keepOut的基础下也添加了车轮squash设置,一样是用距离作为挤压膨胀的driver,与一般身体装置的squash不同,绑定部门艺术家希望车轮的挤压结果能随地形改变,比如在倾斜的地面上,挤压的效果也会随之倾斜(如图3)。为了达到这样的效果,driver必须与车轮型态趋近一致(如图4),而且它们也要受keepOut作用,在接触地面时被一并抬起,抬起的同时,自然向四周挤压膨胀。

     

    图3 与地形匹配的挤压效果

    图4 车轮挤压driver

     

    为了能让动画师在镜头中任意选择地形与交通工具碰撞,绑定部门为此开发了动画师使用的工具,在动画师选择好环境模型后,自动将其转换成碰撞体、与交通工具关连上,相较于在绑定资产内保留碰撞体,这样的做法可以适应各个场景,也方便动画师依据镜头需求调整地形。

    解决了车轮与地形交互的效果后,下一个需要解决的是车轮转向与自转问题。影片中主要使用的交通工具需要适应极端气候与地形,才能在恶劣的环境下达成解救地球的任务。以剧中重要的「火石」运载车来说,它拥有14个车轮,且每个车轮都能进行转向,为了能让动画师更直观的表演,绑定部门为每辆交通工具搭建了行驶路径设置,每个车轮可以随着路径轨迹自动转向,动画师只需要先将行驶轨迹画好,这些交通工具便能行驶在路径上。

    另一方面,《流浪地球》是由多家视效公司合作的项目,为了每家公司资产交流方便,利用maya节点搭建装置,不使用额外plugin,expression来进行车轮自转的计算。由于每个车轮都能独立转向,而且电影中也有不少急转、急煞的镜头,车轮自转不能单纯以交通工具某一轴的行驶距离运算,于是我们将每个车轮作为独立的计算个体,藉此满足不论交通工具往哪个方向行驶,每个车轮自转都能准确计算。

    【道路组件批量Layout工具开发】

    为了搭建城市级别的环境,asset环节将各个资产拆分成多个组件让Layout部门进行摆放,但若要单靠人力将这些组件摆放在场景中,那是相当耗时的工作。因此,在与模型部门、Layout部门的配合下,绑定部门开发了道路组件Layout工具,协助Layout部门进行批量化生产。

    首先,在将实际模型摆放至场景前,Layout部门会先将作为路面参照的nurbsSurface摆上,接着绑定部门依据nurbsSurface的长度与路面模型的长度做换算,利用motionPath与Flow Path Object将桥面模型组件组装、吸附至nurbsSurface上。如此一来,便完成了场景路面的搭建。另一方面,需要批量摆放的道路组件分成两种类型,一种是Y轴需要垂直路面的组件,如摆放在路面上的路障、分隔岛等,一种是Y轴需要垂直于世界坐标轴、且Z轴需要与路面方向一致的原件,如桥墩、路灯等。不论是哪一种,都需要先获取组件在路面上的位置,由于在摆放路面时,Layout部门已经准备好作为路面参照的nurbsSurface,在批量复制时,活用这些nurbsSurface的特性,比如利用closestPointOnSurface找到起始组件的位置,再依据欲复制的数量换算,用简单的等差数列,求得批量复制组件的位置。

    第一种Y轴需要垂直路面的组件较为单纯,在求得其路面位置后,使用nurbsSurface生成folicle便能得到Y轴垂直路面的结果。第二种Y轴需要垂直于世界坐标轴、且Z轴需要与路面方向一致的原件,利用aimConstraint的特性,以路面方向、世界坐标Y轴方向两个方向求得每个组件的旋转值,最终得到Y轴垂直于世界坐标轴、Z轴与路面方向一致的结果(如图5)。

     

    图5 绿色为垂直路面的结果、蓝色为垂直世界坐标轴的结果

     

    以数列换算的批量复制结果,相当仰仗找出每个组件的排列规律,然而,现实的道路组件排列虽然有其规律性,但每种组件的规律却不尽相同,如果只仰仗这样的方式,没办法满足镜头摆放的需求。因此,在与Layout部门的反复测试过程中决定不以每个道路组件作为批量复制的最小单位,而是以一段路面上的组件组为复制的单位(如图6)。

     

    图6 道路组件组

     

    以北京城联外道路为例,最小复制单位的道路组件组是由四个路面模型上的道路组件所构成,透过路面模型与上述取得垂直路面、垂直世界坐标的方式,将道路组件组进行批量复制,最终完成了批量摆放工具的开发。

     

    【UV变形绑定工具开发】

    大红斑,是木星赤道以南22度、存在了数百年的巨大反气旋风暴,也是《流浪地球》电影中贯串前后剧情的重要标志,在许多带到木星大红斑的镜头里,有时为了取得较好的构图,或是模拟物理摄影机的效果,无可避免地会微调木星的缩放,不过缩放后,虽然木星的弧面对了,但会导致大红斑与其他物体相对比例的改变。为了解决这样的问题,绑定部门需要针对大红斑进行变形,使它能在调整好木星大小后,有二次调节的空间。

    让大红斑变形,最直觉的作法便是把整个木星当作眼球、大红斑当作瞳孔,用制作一般CG角色瞳孔缩放的思路进行。但因为大红斑需要维持长宽等比缩放,mesh缩放后会导致木星上水平的环状气流带也跟着变形,从原来的水平线变成弧线,且贴图容易拉扯、原先完美的弧面可能会被破坏(如图7)。另一方面,与mesh变形不同的是,不论UV怎么变形,都不会破坏原有模型的型态,且贴图纹理顶多会出现纹理的重复,并不会有拉扯(如图8)。因此会选择使用UV进行变形。

     

    图7 mesh变形结果

     

    图8 UV变形结果

     

    然而,即便maya的place2dTexture节点上的repeat UV、offset UV、rotateUV等属性能对UV进行初步的调节,但仍有诸多限制。其中最麻烦的是,place2dTexture无法自定义变形的中心点。若使用repeat UV进行变形,每调整一次缩放,还要利用offset UV将大红斑位置对上,操作相当不方便,所以绑定部门决定针对UV变形开发自己的工具,解决了place2dTexture无法自定义变形的中心点的问题,也确保舍弃place2dTexture后,UV变形的数值能够存取,让下游环节可以向操作属性一般,透过精准的数字将UV变形的结果套用至不同镜头。

    制作过程中,绑定部门遇到两个比较大的问题是起初没有预料到的,首先资产需要再次优化,即便在制作时已经用最少的deform、大多数对象受transform影响的方式制作,但在同一个镜头文件内,同时放进几十、几百个绑定后,下游环节还是带不动。由于这个时候已经进入项目中期,资产基本完成,动画也已经开始,决定更大刀阔斧地进行优化,但这个阶段的优化必须在各环节现有的基础下进行,比方说combine对象时,必须考虑被不同材质球assign的对象彼此不能进行combine,以及combine后的对象,是否能被现有控制器以被控制transform的方式影响。进行二次优化后,才基本满足下游环节的需求。

    第二个问题是,渲染时发现有些镜头车轮的motion blur结果出现问题(如图9),一开始以为造成这个问题的原因,是车轮自转运算有误,于是和动画部门一起针对这些镜头,逐帧检查车轮的旋转值是否正常,但不论数值或是控制器的轴向上都是正常。后来发现造成这个问题的原因有二,一是控制器的轴心位置与被约束对象的轴心并不相同,二是导出缓存时采样的精度,未与motion blur渲染采样的精度一致。

     

    图9 车轮motion blur渲染结果有误

     

    要解释这个问题,得先从制作流程开始说起,通常模型在提交给下游组以前,会先经过freeze的过程,将所有transform上的数值清空,让轴心落在世界坐标中心,得到一个干净的对象。而绑定透过车轮控制器影响车轮模型时,利用了约束节点保持偏移的特性,让车轮模型虽然与控制器轴向不一致,但可以随着控制器移动。不过在动画导出缓存之后,缓存上不再有约束节点与控制器的正确轴向作为参考,因此若是导出缓存采样的精度只到整数帧,在两个整数帧之间,模型的数值便会出现偏差,而这个偏差也造成了motion blur的渲染结果。知道是什么原因造成这个结果之后,绑定部门把模型被约束对象的轴心调整成与控制器一致,动画导出缓存时也重新调整了设置,这个问题便迎刃而解。


    绑定部门指导杨钧凯表示:“作为一个科幻电影迷,能参与《流浪地球》是一件令人激动的事,小时候总向往着好莱坞大片徜徉于宇宙与星球间的视效,没想到有一天自己也能参与其中。但这份激动,在实际制作时、与每个伙伴一起攻克各类难题的过程中,逐渐转化成感激。由于这个项目在体量、资产量都相当大,我们遇到了许多难题是前所未有的,除了本部门以外,很多都要和各个环节一起合力解决。很感激能有一群这么棒的同事——不论是面对各种难题也不会畏惧的绑定小伙伴们、一起测试找到解决方案的各个部门、保持沟通流畅的制片协调们、以及信任我们并为我们指引方向的总监——大家一同克服难题、一同成长,最终完成这么好的成果。”

  • 展开 收起 视效解析Part7 · 北京矿区长镜头合成制作解析

    合成部门作为后期部分最后一个部门在项目中承担着把整个上游部门的元素拼接和融汇到一块并且完成最终效果的工作,在这里拿一个比较有代表性的镜头来讲解一下合成部门在项目中所做的工作。

     

    此镜头是电影《流浪地球》项目中时长最长的一镜到底镜头之一,全镜长共1330帧(55秒左右),在NUKE合成软件中制作完成,镜头所用图层多达90层之多,且单帧大小最大为300MB左右,运用了2000多个合成节点。此长镜头涉及到从地面矿坑场景到引擎发动机再到太空等多个部分,其所涉及到的类型繁多且复杂,最终这个镜头在合成这块从测试到完成共用了15天左右的时间。

     

     

    在镜头未开始前,合成部门艺术家找了一些雪景的视频和图片当参考,同时在拿到上游组第一版素材之后会快速搭建一版预合成,这样会检测出哪些地方需要上游组来修改,也便于和上游部门沟通。这个镜头主要是和上游部门沟通了具体的分层并且配合上游部门来测试效果。由于该镜头帧数较长内容繁多且复杂,在最初测试完之后为了保证镜头效果,最终该镜头在合成环节分到两位艺术家手里进行制作,以下部分主要是地面部分镜头,另一位艺术家制作镜头拉出地球部分。

     


     

    【地面部分镜头】

    △a-1

     

    △b-1

    △a-2

    △b-2

    △a-3

    △b-3

    △ a-4

    △b-4

     

    此镜头全部长度接近1分钟,所以上图只截取了部分完成前后的单帧来对比。(此部分为地面单帧截图)

    在这里主要讲解一下引擎口的制作解析,(a-4和b-4是制作前后的对比),此部分有三部分解析说明。

    a.    引擎烧红效果

    △图1

    图1为渲染出来的引擎烧红的效果,由于缺少烧红时的细节和可调整性不高就和灯光部门沟通让其输出了一层材质贴图层。如图2:

    △图2

    利用该图层可以提取出来如下效果。如图3:

    △图3

    最后mpt这边又在引擎壁上画了一层烧红的效果。如图4:

     

    △图4

    最终用这三个图层相互结合完成了最终效果。如图5:

    △图5

     

    b.    引擎火焰效果

    △图6

    图6为特效渲染结果,与特效部门商定最终火焰输出的层中包含两大图层。分别为下图层:

    △图层1

    △图层2

    然后用上边两个图层的红、绿、蓝三色通道单独调整完成最终效果。(如图7)

    △图7

     

    c.    引擎周围云的效果

    图8为特效最初引擎周围云的版本,最初拿到此版本测试后发现云的细节不够,于是就和特效部门商量在此版本的基础上再加一层有细节的云,如图9版本。然后在此版本云层的基础上进行调整完成最后效果。

     

    △图8

    △图9

    至此引擎部分的效果都已完成,下图为最终效果。

      △引擎效果图

     


     

    【地球云层和火焰部分镜头】

     

    由于场景里所有的工业设备及地理环境全部是虚构的,所以整个影片大部分镜头是全CG制作完成的。在开篇的CG长镜头里就基本包含了影片中所有的工业元素,并为观众展现了地球、太阳和空间站的关系。

     

    在分析镜头时归结了几个难点部分:

    1、从行星发动机的火焰过渡到太空部分:镜头一直围绕着发动机的火焰上升,为了减少运算量提高渲染精度,在拉出地表时火焰已过渡到用特效群集代替的三千多个火焰上。

    2、云层从近景到远景的过渡:当相机运动到地球上空时,特效渲染的云层由于灯光照射的范围不够,所以显得没有立体感,色彩也比较单一。为了解决这个问题,在合成环节结合Layout提供的相机和地球模型位置,做了太阳光对云层的影响。在光线和色彩的调整下,云层呈现出了弧度,并增强了冷暖对比,使画面的视觉效果更加丰富,契合了剧情里人类的希望。

     

    3、行星发动机火焰闪动频率过快:由于特效渲染的火焰动画闪动频率过快,影响整体视觉效果。为了解决这个问题,在合成环节运用Layout提供的三千多个火焰obj,投射了比较稳定的火焰素材,再与特效渲染的火焰叠加,以达到比较真实的喷射器火焰的效果。

     

     

    从2018年3月份开始制作到2019年1月份结束历经将近10个月的时间,做完这部影片对自己感触挺大的。第一次接触硬科幻类型的项目对自己来说是一个全新的挑战,虽然辛苦但看到最终的效果很棒,感觉一切都是值得的。也很幸运自己能参与一部中国科幻里程碑式的电影。相信公司以后可以做出更加优秀的电影。——《流浪地球》合成项目组长 王紫阳

    制作《流浪地球》这部科幻题材的影片,给我最大的感受就是在艺术层面上有了更大的发挥空间,每一个镜头从概念设计到最终的成片,都融入了很多艺术家的思想,见证了中国在CG领域的实力,也为中国科幻立下了新的标杆。——《流浪地球》合成艺术家 张钊