教你用一张照片拍《古墓丽影》Blender特效教学

时间: 2024-07-17 15:23:54 |   作者: UV-LED固化机

  这几天《古墓丽影1-3重制版》的消息在玩家群体中疯传,让我回想起当年被忽然出现在身后的大滚石所支配的恐惧,哪怕小时候我都是看堂哥玩,但每次滚石出现的时候手心里都会捏着一把汗,这也算是“童年阴影”了吧,而为了致敬这一回忆,我们本期就用Blender结合一张照片,来制作类似《古墓丽影》的滚石效果吧。

  既然是用照片来做古墓丽影的滚石长廊,那就必须找一个有一定纵深的场景来进行拍摄,正好我们《电脑报》编辑部电梯间就是一个细长的走廊,站在一头拍摄纵深场景,记得尽量要拍得水平一点,这样有助于我们后期制作,拍完纵深后再转身180°拍一下背后的墙壁,这就算是完成基本工作啦。

  接下来我们应该将照片的透视信息通过fspy软件进行解析,它能够在一定程度上帮助我们反求相机的位置和透视关系,便于Blender识别,如图1所示,我们导入照片后,红色的两条线代表X轴,我们计划将X轴作为视野横向轴,所以就需要在照片场景中找到两条横向走向的物体,比如两块瓷砖的接缝作为参考物,把代表X轴的红线两端拖动到对应位置,拖动时可以按住Shift键放大观看,提高精度。

  而绿色的Y轴就是纵深方向,同样用场景中对应的参考物进行拖动即可,完成后我们大家可以利用XYZ坐标轴来观察是不是对齐,确认无误再将文件另存为.fspy格式。

  然后我们应该下载fspy的Blender插件,一般在下载fspy软件时都会同时打包这个插件,在Blender里安装插件之后,就能在“文件”、“导入”里找到fspy选项并导入刚刚制作的fspy文件了。

  将.fspy文件导入Blender之后会自动生成一个摄像机,而且摄像机背景也自动替换成了我们拍摄的照片,此时的摄像机视角就是以我们的照片为标准做对齐,可以在摄像机的数据属性里,将“背景图”子菜单的不透明度从默认的0.5调整为1,这样背景图亮度就能正常显示了。

  接下来就进入按图设计的流程,在世界原点生成平面,按照背景图的走向,正确设计符合场景的模型,可以开启线框模式进行设计,方便对齐,场景中出现的其他物体,比如垃圾桶,也可以在编辑模式下新建柱体,并参照视角位置做覆盖,灯光也按照照片里的场景来进行设计,比如我所拍摄的长廊在左中右有三排灯光,可以直接用三个长方形的面光源来替代实现。

  设计完成后,我们将得到一个纯白色的走廊,那么如何将照片转换为走廊的材质呢?首先是如图2所示,进入走廊的着色器编辑器,新建一个“图像纹理”并将来源选择为我们的摄像机文件,也就是.fspy文件,将第三个选项,也就是材质在超出边缘后的插值放射设置为“重复”,不然摄像头范围外就是黑色的,然后把输出连接到“原理化BSDF”的“基础色”,此时会发现材质并没有按照摄像机视角来铺设,所以我们还需要继续做优化。

  其次,就是为它添加一个“UV投射”修改器,按照我们拍摄的照片比例来设置修改器的“宽高比”,因为是竖拍照片,所以这里就设置为3:4,并将物体选择为.fspy摄像头,这时候应该能看到材质似乎朝着正确的方向来铺设了,但仍存在很多扭曲不平的问题,是因为顶点不足所致,所以我们应该在“UV投射”修改器的上方再添加一个“表面细分”修改器,设置为“简单型”,随等级的不断增大,就会看到材质投射越来越正常,基本上到6级左右就可以完全实现我们想的目的,具体的设置可参考图3。

  还记得我们之前往后拍摄的照片么,把它导入到场景中,放在fspy摄像头后面,它的最大的作用就是场景中如果有镜面物体,反射环境时不容易导致穿帮。

  至此,我们就得到了一个如图4所示那样,材质按照照片视角来铺设的走廊模型,就因为视角与导入的fsp摄像头联动,所以接下来我们就需要再新建一个摄像头,后续整个特效就以这个新摄像头为基础来进行制作。

  在《古墓丽影》里,滚石就是一颗圆滚滚的石头,那既然我们是用Blender来复刻致敬,就用Blender标志性的猴头来翻滚就更为适合了,大致的场景就是猴头朝着摄像机方向翻滚,摄像机则是向后不断退缩躲避。

  在3D视图中新建一个猴头,添加金属材质,并通过噪波纹理适当调整糙度,摆放到我们场景的地板上。因为猴头不像圆球,它不是一个规则物体,所以它的翻滚并不是简单的旋转就可以,不同的位置触地就应该有不同的高度变化,因此猴头的旋转效果最好是用几何节点来实现,如图5所示,我们应该先使用“变换几何体”来为猴头添加旋转,它会沿着X轴以秒为单位来进行旋转。

  在得到这个旋转值之后,我们应该使用“属性统计”来统计它的“位置”信息,并从中分离出Z轴的“最小值”,也就是整个猴头最底部的顶点位置,只需要将它作为赋值,添加到“设置位置”“偏移量”的Z轴上。

  如此一来,猴头在旋转过程中就会正确抬高,保证其最低位置始终处于Z轴为0的状态,也就是紧贴地面的状态。最后再接一个新的“变换几何体”,依然以秒为单位,沿Y轴来进行位置移动,就能得到一个像图6那样,以正确的姿态向前翻滚的猴头了。

  最后一步就是调整摄像头,最好的方法就是打开“时间线”功能模块的“自动插帧”功能,它会在检测到数据变化时自动打上关键帧,然后我们就能进入摄像头视角,在播放视频的过程中向后移动机位和朝向,直至获得满意的效果,这样的一个过程在大多数情况下要反复操作多次,需要一定的耐心。

  到这里我们的猴头滚石效果就完成了,建议使用Cycles渲染器进行渲染,虽然整个场景都采用照片复现,但因为是动态视频,所以并不容易看出问题,对于很多要求不那么高的场景动画来说都是很值得思考的设计方法。

  壹零社:用图文、视频记录科技互联网新鲜事、电商生活、云计算、ICT领域、消费电子,商业故事。《中国知网》每周全文收录;中国科技报刊100强;2021年微博百万粉丝俱乐部成员;2022年抖音优质科技内容创作者