微博

QQ

再造城市

2006-11-17 中国传媒大学 宋雷雨 依马狮网


——在数字合成中应用摄像机轨迹跟踪

    【摘要】 本文是作者在今年的“2006第二届中国国际动漫节学生原创动漫大赛”和 “首届中国(北京)国际大学生动画节”创作的作品《A PEN'S STORY》制作体会,分别获得数字合成类金奖和“Aniwow!2006视觉特效类银奖”。

    数字合成技术的突飞猛进,使得电影电视带给我们的是更多的不断的视觉冲击,令我们展开无数想象,任何在平日无法实现的梦想都可以通过电影电视来实现,真的是“没有做不到的只有想不到的”。数字技术可以使不存在的出现,又能使存在的消失,这同样大大扩展了电影导演们的想象空间,不会因为找不到导演想要的场景而头疼了。通常情况下,数字合成都是以实拍为基础,在此之上对画面进行处理,总而言之都是为了满足情节的需求。

    这里,我引用一段航拍素材为基础(如图1),延伸飞机跑道并且改为公路,在两边的空地上建起楼群,使其看上去像一座城市。

再造城市

    这是一段动态的视频,所以要想在上面建立起一片楼群,并且使楼群与画面匹配起来的话,必须将拍摄素材使用的摄像机轨迹计算出来,所以对于原始素材我们先将其保持原样。

    首先,我们将素材倒入跟踪软件boujou中(如图2)。

再造城市

    选定我们需要跟踪的时间范围,单击feature按钮,设定跟踪点的数量。然后选择start,对素材的跟踪点进行计算(如图3)。系统自动选取跟踪点并跟踪,途中红色点为跟踪点,黄色拖尾线为跟踪点的轨迹。

再造城市

    从图中可以看出,这些黄色线条的长度不一,说明了跟踪点的轨迹的长短不一,线条越长说明被跟踪的时间越长,根据这些点更容易计算出摄像机的轨迹。所以我们选择用于反求摄像机的跟踪点时,尽量找那些在开始跟踪与结束跟踪时,出现在画面中时间最长的那部分点。在视图空白处按右键鼠标,在弹出的对话框中选择edit track length,在弹出的对话框中的minimum值不断增大,去掉那些我们不需要的出现在画面中时间较短的跟踪点。

    在剩下的跟踪点中,选择7-8个点作为黄金点,也就是用于真正计算摄像机轨迹的点,其他点计算机则对它们作一个平均,也是会影响到最终计算的。手动调节时间线,找出这几个跟踪很紧密的点。右键选择gold,将其设为黄金点。如果符合条件的点太少,还可以使用add target tracks工具,进行手动跟踪。选出7-8个黄金点后,便可以对摄像机的轨迹进行计算了。单击工具栏中的camera tracking按钮,在弹出的对话框中保持默认选项,单击start开始计算。

    跟踪完毕后,这些跟踪点会变成组一些的圆点(如图4)。boujou便帮我们计算出了一个三维的摄像机,其轨迹与实拍时的摄像机轨迹相同。我们可以选择工具栏上方的3d按钮,以三维的方式查看摄像机。拖动时间线可以看到摄像机的运动情况。

再造城市

    回到二维模式,我们现在要选出一些关键点作为与摄像机一同导入进三维软件中去的参考点。其选择方法与黄金点类似。选择这些点,按右键,选择flag for export选项。

    准备工作都做好了,下面就该导出摄像机轨迹和参考点了。在导出之前我们要先设定好空间关系。由于我是使用的3dsmax,它是z轴向上的坐标系统,所以我们选择与地面平行的几个点后,选择scene geometry选项,在弹出的对话框中选择x-y plane,根据这些点定出的平面就是拍摄的飞机跑道的地面。我们再选择跟踪出来的跑道旁边的候机大厅墙面上的两个点,在此单击scene geometry,将其设为z-axis。这就是与地面垂直的z轴。我们在图像中间选出一个点,同样是在scene geometry中将其设为origin(原点)。这个的作用就是在导入三维软件时与坐标中心对齐的位置。

    这时我们就可以将摄像机轨迹导出了。选择export camera选项,在弹出的对话框中,首先选择要保存的路径,再将export type 选项改为3d studio max(*.ms)。其他默认,单击start。到这里就完成了对摄像机轨迹的计算。

    下面进入三维软件中,制作楼群。

    打开max,在utilities栏里单击max script按钮,并选择run script选项找到刚才boujou到处的*.ms格式的文件。这时,boujou导出的摄像机轨迹和参考点就出现在了三维软件中。单击c键,将视图改为摄影机视图,便可通过求出的摄像机来观看这些参考点了。将视频素材作为背景倒入max,拖动时间线,我们能够看到这些参考点可以完全和画面吻合(如图5)。

再造城市

    导入我之前在max里制作好的楼体模型,这时会发现楼体的位置并不是我们想要的,不能和场景正确的匹配在一起,所以我们要调整摄像机、参考点与楼体的位置关系,并不断的拖动时间线调整位置,直到完全吻合为止。这一部非常关键,必须耐心调整才能达到吻合的效果。调整完成的效果如图6。

再造城市

    楼房的比例要参照机场候机大厅的大小来定,在这里我添加了6楼座高楼,将它们放置在空地上,与摄像机的匹配也完成了,下面就要开始位场景打光。先赋予plane 以matte\shadow材质,获取大楼的阴影。根据拍摄的素材,判断光照的方向。根据飞机的阴影位置关系,看出光源接近顶光,是中午时分,所以我们新建一盏点光源,放置在楼群斜上方,接近垂直角度。打开修改面板,将点光源的shadow选项打开,将阴影类型改为ray traced shadow,将亮度值增加到1.8,颜色改为偏暖。在楼群周围建立三个点光源,将亮度改为0.5其他参数与第一站天光源一致。在建立一盏天光灯,将亮度值改为1.15。把max的默认渲染器改为mental ray渲染器,并使用final gathering。将final gathering的值调整为800。在渲染面板里,将采样率改为4,16。Filter类型改为mitchell。将渲染图片大小改为720×576,自定义保存路径,渲染楼层动画序列。那么三维制作部分到这里也就告一段落了。

    我们将拍摄的视频素材以及三维制作的楼群动画序列一起导入digital fusion。首先要对视频素材做一下处理,即伸展飞机跑道,将土地改为水泥地,并在上面加上公路上面的警戒线。为航拍素材添加一个tracker节点,并将tracker的数量改为四个,再分别调整四个tracker的位置,选好跟踪点,单击进行跟踪。

    跟踪完毕,将航拍素材与tracker的连接打断,为其添加一个新的节点paint。用clone工具将土地涂改成周围的水泥地,这类似于photosh

视听科技视频号 广告
发表评论