从游戏开发者+摄影前期的角度看待透视

自从我踏入摄影行业,接触到了一些从事艺术行业的朋友之后,就发觉有个值得思考的问题存在着:他们所理解的“透视程度”与我们3d行业理解的“透视程度”完全不一样。

怎样个不同法?

对于3d行业从业者来说,多多少少都知道渲染流水线中的MVP变换,因此大部分人都会理所当然地认为透视只和透视变换的程度有关。

(物体的实际位置不变,只沿着相机的正z轴拉近机位使得第一块方块永远在画面中相同的位置)

50mm
16mm


而艺术行业/摄影行业的从业者告诉我,透视的形变程度只与被摄物体和相机之间的距离有关系。比如下面所示的这两种情况,你会发现它们虽然所用焦段不同,但确实可以在裁剪放大第二张之后用叠图的方法与第一张叠在一起。

(不改变相机位置、角度,也不改变物体的实际位置)

50mm


16mm

其实我觉得,这两种观点都没有错,只是在表达上和各自应用的场合有所不同,才导致双方在理解上出现偏差,并且网上也一直有人在就这两种理解争论孰对孰错,所以请让我以自己的见解来将它们梳理一下吧。

两种不同观点的解读

客观世界里,越远的物体在人眼中呈现的大小是远比它本身要小很多的,因此我们明白,透视这一概念其实可以简化成为近大远小。

但论透视的程度,又该如何解释呢?这里姑且分出两个角度来看待。

开发者的角度

为了把话说清楚,这里先稍微用不那么专业的用语解释一下透视是如何在三维软件里实现的。

在世界空间里,所有的物体一开始都是没有透视效果的,也就是大伙常说的正交视角。为了实现透视近大远小的效果,我们可以创造一块像金字塔一样的梯形空间,将需要渲染的物体包在里面,然后再把这块梯形空间还原成一块正方体/长方体,那么被包进去的物体也会随着空间的形状改变而产生形变,这样一来我们就让这些原本大小一致的物体产生了近大远小的透视效果,之后只需要用相机正常渲染就可以了。

(假设球是相机,框为包裹空间)


从原理上不难看出,梯形空间的斜度是可以改变的,它越斜,得到的透视效果就越强,越靠近相机这边的物体形变程度就越大,体积也会变大;反之物体则越接近没有发生形变的样子,体积也会相对变小。

但是作为引擎或者三维软件的用户,我们不会在程序上手动干预这个梯形空间的斜度,而是使用诸如fov值和焦距这样容易理解的简单参数去调整它的最终斜度。

到了现代,大多数前沿3d软件都讲究physically based(基于物理),算法也可能会比上面提到的这个金字塔形变复杂一些,所以用“焦距”控制虚拟渲染相机贴近真实相机效果的情况,在专业渲染器里也是比较多见的。(唯一的不同之处就是虚拟相机没有镜头畸变,渲染出来的最终画面也不会产生光学畸变,仅仅只会因为焦段不同而产生透视的拉伸挤压形变)

所以对于3d从业者而言“透视程度”是指在一段距离有限的空间内,因透视变换而造成的物体近大远小效应内距离相机最近的物体(最大)距离相机最远的物体(最小)它俩之间的大小的对比度。对比度越大,那么说此时的透视程度大,反之则认为透视程度小。

摄影前期的角度

对于摄影师而言,我们不可能给观众看连环画一样的照片去让他们感受相片内的信息,一是这样做很蠢,二是没那么多空余的sd卡足够让我们每场都狂造快门。

所以比起把一个动作和瞬间拍几十张照片,摄影师们更愿意在自己要拍的那一张照片(一帧画面)上下功夫,选择好合适的焦段,确定好要用的景别和拍摄角度,然后咔咔咔地按快门。只要把动作按照心里的标准抓下来,后面选片和二次构图也会方便省心很多。

但是……

如果我们在拍摄当天带错了镜头,把2470带成了1635,众所周知长焦镜头会把不同距离的物体朝焦平面方向压缩,短焦则是朝焦平面的方向扩张,这时该怎么办?拿1635这样的广角短焦拍人脸怕是要被顾客当场打死吧?

这时候,影响透视的直观因素——距离就派上大用场了。现代相机的像素普遍不低,更别提咱们手里的5d4了。之前16mm与50mm的那两张正方体图不是提到过吗,除了相机的焦距改变了,相机的机位和物体在世界坐标系上的位置是没有改变的,这时候拍下来的两张正方体除了在画面中的大小不同以外,形变程度其实是完全相同的。

依靠这个原理,拿着1635的我们也可以用35mm拍出70mm效果的人脸来,只需要稍微远离被摄对象一些,一边远离一边在取景器里盯着对方的脸看,直到脸部的形变看起来没有太大问题就可以摁快门了。只要我们在拍摄时保证拍得足够清晰、噪点和曝光控制得当,还是可以依靠后期裁剪得到一张透视正常的半身人像,把片子给救回来的。

不过我想了一下,遇到这种情况还不如尽量当场找机会把镜头换小痰盂或者85硬拍得了,实在不行后续就说服客户成给半身像吧,给特写……全画幅那像素强行切成特写怕是有点强人所难,除非我们手里拿的是大画幅。

所以对摄影行业从业者而言,“透视程度”通常是指摄像师在单独一帧画面内使用固定不变的某一焦段,通过改变自身所持的相机被摄主体之间的距离,让画面中的被摄主体在不同距离段内发生不同程度的形变,依此方法在无法动态刷新的单张照片上就可以创造出更多透视形变的可用方案。

总结

相信各位看客在看了上面两种视角的解读之后还会有些迷,那就让我们在这里总结一下吧。

以我的观点,无论是“焦距改变透视程度”还是“距离改变透视程度”,它们都是前人在探索客观世界时发现的规律,所以它们都是正确可用的,只是使用的场合不同罢了。

对于游戏从业者来说,这些一秒刷新60帧、机位和视角无时无刻不在变动的游戏若想要让玩家在游玩时感到舒适,就需要尽量贴近人眼的视觉习惯(人眼是一块叠加起来的16:9的屏幕,焦距相当于50mmf8的镜头,所以近大远小的程度要尽量贴近这一焦段,玩家游玩移动相机时才不容易产生晕动症,也就是俗称的晕3d)。所以靠改变焦距/fov值来改变透视程度的体系在这种情况下是适用的。

对于摄影师来说,这些记录下精彩瞬间的每一张照片都是弥足珍贵而又不可复制的。它们不像视频和游戏,只要错过了就不会再有,因此节省时间才是重中之重。以纪实摄影师为例,他们需要争分夺秒地把客户一辈子仅有一次的瞬间给抓下来,就更不可能悠闲地浪费着时间去更换镜头了(一般都是一只2470从头用到尾)。万一手上的焦段达不到长焦的压缩效果,而那种感觉的照片又不得不抓下来,那么距离改变透视程度这种非常直观且容易使用的体系将成为此时独一无二的救场手段,也为之后的二次构图留出更多可能性。

所以说,焦段的意义在于决定画面中最大的透视程度是怎样的,因为你无法靠截取的方式获得超出画面之外的距离段。

规律是死的,人是活的,善用这些前人发现并总结出来的规律,才是对它们存在的最好理解。

你可能感兴趣的:(从游戏开发者+摄影前期的角度看待透视)