纵深在于图片站在哪里,不在于它排在第几层

二十九张平面图,没有一个 3D 模型,一台摄像机跟着小鹿从它们中间走过。

把摄像机放进立体书里

翻开一本立体书,平平的书页立成了一个场景:小屋从书页上竖起来,树沿着小路折立,天空不过是最后面的一张卡片。每一片仍是印着画的纸,可你能凑近了从树和树之间往里看。书里没有任何东西是立体的,立体的只是每一片站的位置。

在动画软件里用平面画做纵深,常见的办法是把图叠起来,让它们以不同速度平移。摄像机横移时这种视差成立;一旦摄像机转向、往前穿进画面之间,或者有东西要从这棵树后面走到下一棵树前面,就露馅了。这时图层顺序对半个镜头来说都是错的,只能手动一段段去调。

下面这段片子把立体书当了真:每张平面图都立在同一个 3D 空间里的真实位置上,摄像机在它们中间走。谁挡住谁、谁滑过得快、哪里清楚、影子落在哪里,全都由东西所在的位置决定,没有一处图层顺序是手动排的。

从 Keyframe 编辑器原样导出,含景深与阴影,十六秒。

二十九张平面图

这本书用到的全部素材都在这里。每一张都是透明底的平面水彩图,由 Keyframe 之外的图像模型画成:两页书页和封面,天空,两层山丘,太阳和云,七棵树,一座小屋,草丛,树枝,两只蝴蝶和一只小鹿。没有人做过任何 3D 建模。

  • 二十九张平面水彩剪纸排在一张图上:两页书页、封面、天空、山丘、远山、太阳、两朵云、七棵树、一座小屋、三条花草、两根树枝、小鹿的身体和四条腿、两只蝴蝶
    全部素材
这本书放进去时的样子。跨书脊的几片拼回了完整的一张;小鹿是一个身体加四条腿。

小鹿是唯一自己会动的一片,它是一只纸偶:一个身体加四条腿,每条腿钉在髋部,走路时前后摆动。近侧的腿比身体靠前一张纸的厚度,远侧的腿靠后一张纸,所以谁压着谁从来不会打架。

其余的都只是立着。每一片是一个 3D 图层⁠ (在新标签页打开),在书页上有自己的位置和朝向小路的角度,沿着底边从书页上折立起来。天空、远山和山丘横跨书脊,所以各自切成两半,一页一半,正像纸艺设计师会做的那样。

纵深,而不是图层顺序

在书里,小鹿沿着画出来的小路,从左页前面走向右页后面。一路上它经过小屋前面、一棵树后面、草丛前面、下一棵树后面。用叠起来的图层做,这里每一刻都得改一次顺序。这里每一片的每个像素都有深度,最近的那个显示出来,小鹿只管走在它该在的地方,被站在它前面的东西挡住。

  • 低机位在书里:小鹿走过红屋顶的纸小屋,门前有一只蝴蝶,画面底部的草被景深虚化
    在纸片之间
  • 小鹿一半藏在开花的树干后面,前面是纸做的草,后面是画出来的山丘
    在树之间

两棵大树更进一步:每棵都是两张卡片互相插在一起,立体书里的树就是这样做才能自己站稳。两张卡片在中间交叉,各自在离镜头更近的那一侧显示出来,所以从哪个角度看都像一棵实心的树。这是任何图层顺序都做不到的,因为没有哪一张处处都在另一张前面。

让它像一个真实地方的其余东西,都随位置一起白送。离镜头一掌远的草飞快地滑过,最后面的山几乎不动。摄像机的景深让小鹿保持清楚、把它前面的草虚化,每个像素按它自己离焦点的远近模糊。书后低处的一盏晨光,把每一片的影子投过书页,落在它旁边的片上。

拉远

接着摄像机升过树梢、往后拉,戏法自己揭了底:天空是书页最后面的一张卡片,两侧的树林是像舞台侧幕一样的布景片,整个世界是一本放在桌上的书,影子长长地铺在桌面上。

  • 拉远后:整页立体场景连同天空卡片、树和小屋立在桌上一本打开的书上,影子落在后面
    桌上的书
  • 各片已经折平,书的绿色封面正在合上,影子落在桌上
    合上

然后各片从前往后,沿着各自底边的折线躺下,封面翻过来把它们合上。每一片往哪边倒,是按它站的位置算出来的:倒向自己那一页能接住它更多部分的那一侧,所以合上的书不会有东西戳出来。跨书脊的那几片,跟着各自那半本书一起折下。

平面纸片上的灯光与阴影另有一页,用一间两侧打光的剪纸小屋来讲。

纸做不到的事

纸没有厚度,这段片子是围着这一点来设计的。侧对着看,一张卡片会缩成一条线,所以一只径直远离摄像机的纸偶会变成薄薄一片。这就是为什么摄像机从侧面跟着小鹿,而不是跟在它身后;也是为什么那两棵树要用交叉的卡片:单张卡片做的树,摄像机经过它的边缘时就消失了。

一张卡片也只有一面画。从背面看,3D 图层显示的是正面的镜像,就像光透过一张纸。真正的立体书也有这个问题,解决办法一样:读者从正面看。这里摄像机也从不绕到它拍的那些片子背后。

有些地方是老实承认的取巧。镜头前框住画面的树枝悬在空中,什么也没连着,在摄像机开始上升、拉远即将露出它们悬空之前就淡出了。景深还有一个毛病是这段片子发现的:模糊的卡片边缘向外扩散时,外扩的部分按卡片中间的深度排序,而不是按边缘的深度,于是在前景上画出了细细的亮线。这段片子导出之前,它已经修好了。

当一个东西要在摄像机前整个转一圈时,平面卡片就不合适了。转身的物体需要真正的 3D 模型,Keyframe 可以导入模型,和卡片放在同一个空间里一起打光。对于摄像机往里看的场景,卡片就够了。

平面画往往就够了

这段片子的每一帧,都只是二十九张平面图。让它们成为一个地方的,是每一张都有一个位置:站在哪里、朝向哪边、离摄像机多远。这些一旦是真的,遮挡、视差、焦点和阴影就不再是要一帧帧做的动画,而是自然发生的事。

这就是用摆放而不是排序来给平面画做纵深的理由:画还是原来画的样子,空间来自它们站的位置。

接着看