立体画是怎么画出来的

标签:
时尚 |
立体画是怎么画出来的
文/汪照东(知乎)
本文系作者授权发布,如要转载请与作者本人联系。
这种3D 立体画玩转起来可谓花样繁多,很早以前就对此很感兴趣,自己也尝试画了一些这种画,
比如下图http://pic1.zhimg.com/f2d45abfabb05edb7497fa833455738c_b.jpg
关于这种图的原理,其实非常简单,我们不妨认为你在画这种「突出在纸面外」的「3D 立体图」的时候,事先是有一个正常的「2D 立体图」的
(比如上面这张图里面的「ALWAYS」本身),并且有一个固定的参考平面 (比如上面这张图里面的那张纸所在的平面)
和拍摄角度。那么这种画就遵循这么一个原则,那就是
2D 立体图里面的任何一个点,所对应的 3D 立体图的位置,就在你看到的 2D 图里面那个点所落在的参考平面上的位置。
这么说可能还不太好理解,我用下面这个图(其实就是上面那幅画的3D建模图)来解释一下
http://pic2.zhimg.com/389c9dd609ad225efa309a591e9adec5_b.jpg
假设你要在一个纸上画「ALWAYS」的3D
立体图,首先我们在纸上画一个方方正正的坐标网格,然后我们来参考上面这幅图。那么立体的「A」左上角那个红点,在 3D
立体画里面应该在这纸上坐标网格的哪个位置呢?答案就是这张图里那个红点落在的网格上的位置,也就是大约在 (2,B)
附近。从数学上来说,画一幅 3D 立体画,其实就是画一个3D物体在平面上的「点光源投影」,即相当于一个单点光源对物体形成的投影
(如下图所示)。
http://pic4.zhimg.com/36596f328e6baee7584d00f590cc63b5_b.jpg
那么为什么这样就能形成立体感呢,因为你看物体的时候眼睛就相当于那个「点光源」,当你看到这种 3D
画(即点光源投影)时,其实和你看到真实的立体物在你眼睛里面的成像位置是一样的,由于人长期以来对立体物形成的视觉经验会让我们自动对这种平面画形成立体的错觉。
了解了原理之后,想画出一个 3D
立体画也就不难了,其实,就用我上面给你的带坐标网格的建模图,你先在纸上自己也画一个正方形坐标网格,然后依照我说的规则把「ALWAYS」这个立体部分上的每个轮廓点对应的坐标点描出来就可以了。该方法其实也是那些街头立体画家所采用的。事实上,街头立体画家们会事先画一个
(或者想一个) 2D 版的立体图,然后在街头架一台照相机,相机旁边应该是有那个 2D
画对照着的,或者他们牛逼自己脑子里就有成品。然后一边在地上画,一边在相机里面对着看是不是画的对,这其实就是在找对应点。你还会注意到,街头立体画很多是画在有瓷砖的人行道的,为什么?因为瓷砖不就是天然的坐标网格么,方便定位啊!
没图我说个贾斯汀·比伯,见下面这几个图
此为画家手稿(看到坐标网格了没)
http://pic4.zhimg.com/30ab6897389dc176159527bd3d9a3a40_b.jpg
时不时再看下相机以确认形状正确
http://pic2.zhimg.com/568137f68ead1a277d908e7a40e8a5d0_b.jpg
大功告成!
http://pic4.zhimg.com/59f854e664b2edc7e3bb19563af8c082_b.jpg
但是,这不是我今天要介绍的方法,因为这个方法说起来容易,实践起来对于新手是很有难度的。首先,就造型而言,直线还好说一些,把两个端点找对了,连起来即可,但曲线就麻烦了,你还得描很多中间点才能定型。这种立体画平面上看起来是非常奇怪的,像这样
http://pic3.zhimg.com/402fbd2888b476c0be9654464fe0d88f_b.jpg如果先前没有画立体画的经验,对这种形状是不会有任何感觉的,更不用提在没有外界辅助的情况下直接画出来了,这是违背人类视觉经验的。所以你要想把曲线画对,必须取很多很多中间点才行,取得太离散的话因为你没有这种经验你还是不知道点与点之间该怎么连。即使造型做对了,阴影啊,色彩啊你又不知道该涂在哪儿了。这样下去的结果就是,你按照三维模型对应点的方法作画效率会非常非常低,只能靠经验提高速度。街头立体画家有很丰富的这种经验,所以能很快的画出非常复杂的形状。但在这里我教大家一种非常简便快速的方法。
=========== 新方法的分割线 ================
当我会了之前的找对应点的方法后,我本以为这种画应该也就这么些玩法了,直到我看到了一个视频我才明白,那里面的3D「画」绝逼不是画出来的啊,显然是照片处理出来的,那么肯定有更加快捷的方法,能够无需三维建模让照片瞬间「立体化」。经过了简单的搜索,找到了这种处理方法,其实就是把图片做一个简单变形处理(anamorphic
image)即可。在上面的讲解中我们知道了点的对应关系,那么要想把一个正常的立体照片变成3D立体效果,其实就是把对应点拉伸一下即可,拿上面那个带坐标系的图为例子,拉伸的原则就是把图中的坐标网格变形为方方正正的网格,与此同时让上面的「ALWAYS」也一起连带着变形。
对于一般的照片,也可以用相同的原则处理,最后就可以做出完全以假乱真的 3D 图啦。下面简单讲下流程,保证1分钟搞定!
1. 在 PS
里面建立两个图层,如下图,蓝框框是一个图层,黑框框是一个图层
http://pic4.zhimg.com/7732ae7c1e3d305a61f478c8441e7705_b.jpg
2. 然后把你想变形的照片放上去,建议设为智能对象 (smart object)
以免接下来变形过程中分辨率丢失。
http://pic2.zhimg.com/5d774f973a10bc36ee692179a148ac02_b.jpg
3.
这时候车的角度看起来可能跟平面的角度有偏差,单独变形调整黑色框框,使得这辆车“看起来”就在黑框框所示的平面上。
http://pic2.zhimg.com/58d188cc29e39da07303fa0e8c953fce_b.jpg4. 然后把车的图层和黑色框框的图层连起来 (link
layers)
http://pic1.zhimg.com/b8d7cd49f2bab9ca87fa88023d62c571_b.jpg5.
最后,变形黑色框框,使得它和蓝色框框重合。这个变形分两步,选择自由变换 (free
transform),首先纵向拉伸与上边界重合,然后选择透视变形 (perspective)
向两侧拉伸与两侧边界重合即可。
http://pic2.zhimg.com/3346f921adad2e6acc9068cddb9955ee_b.jpg6.
将框框图层设为不可见,导出图片,完成!
http://pic4.zhimg.com/0c7da2ec551df164ba4260ed45106f45_b.jpg7.
把图片打印出来,适当裁剪一下,拍个照片,直接以假乱真~
http://pic4.zhimg.com/ceb526db6aecb8352979781e71da3948_b.jpg
按照这种方法,你想画出一个 3D
立体画也变得十分简单了。把你想画的东西按照这种处理变形一下。然后照着变形后的图片画就行了,效率瞬间提升,对于新手来说是非常方便的。
当然有了这种方法估计大家能想出更多好的玩法了,比如在家里桌子上放一沓钱,地板上来一个洞什么的,照片级的仿真度,肯定是可以以假乱真的。方法虽简单,效果非常好。喜欢画画的可以去画,不喜欢画画的用
PS 照样可以玩。
===========UPDATE
看到有人问那个黑色框框是怎么做出来,其实那个一开始是画一个和蓝色框框一模一样的黑色框框,然后单独变形黑色框
框成现在那个样子。注意往两侧变形的时候选择透视 (perspective)。
============== UPDATE 20140816 ==========
有童鞋积极尝试了我的方法并给予反馈,其中涉及到一个问题:当图片打印出来之后,直接用眼睛去看可能找不到合适的角度,无论怎么看总觉得还是有点变形失真,但用相机找好一个角度拍摄出来就十分有立体感。
我简单解释一下。
这是因为眼睛观看是两个视点相互补偿,会存在一个角度差,即当一只眼睛角度对了的时候,另一只眼睛角度就错了,互相补偿之后会感觉角度有偏差。然而相机是单个视点,这符合我在回答里面所提到的立体图的机制,所以出来的图形会比较真实。
事实上,纸上立体画一般都是以摄影作品呈现出来的,真正人过去看,可能效果并不会很好。不过,对于街头立体画而言,因为其画面面积比较大,人远远看过去的时候,双眼的距离相对于地上画作尺度而言可以忽略不计了,两眼的角度差对大脑中的画面造成的影响很小,因此基本上可以等效为单个视点,所以街头立体画的实际观感还是会很真实的。
来源邀稿:汪照东
http://www.changweibo.com/ueditor/php/upload/20150126/1422237465410.jpg