梦境罩染(手绘的梦)· dreamGlazeKit.ts + dreamGlaze.ts
媒介,从物理上说。 用树脂稀释的油彩,用一支很小的软笔在光滑的白底上薄薄地一层层罩染。表面像珐琅一样平:没有鬃痕,没有颜料脊,看不见笔触。这是「手绘的梦境照片」的手笔:把一个不可能的场景画得像静物一样细致。
笔触。 看不出任何笔触。形体靠细到看不见的明度阶梯转出体积,所以单位是单个像素,每个像素都被同一个太阳照亮。每个立着的东西都是一个高度场(Obj.at 返回它的边缘距离、朝向眼睛的高度、两个表面坐标和一种材质);工具包从高度求出法线,交给你的绘制函数,绘制函数问 sunAt 太阳能不能照到那个点(它朝太阳方向在高度场上步进),并调用 light 混合温暖的阳光、冷的天光和来自地面的暖色反光。没有任何东西是笔触、渐变填充或模糊。
边缘。 硬,近处远处都一样。纵深靠雾霭和尺度,永远不靠柔化。一英里外的东西和一臂之遥的东西一样锐利,只是更小、更淡。
顺序。 一块白色打底的画板;用稀薄的赭褐色(umber)起稿;天空铺两遍(先一层薄罩染,再一层完整的),从顶部一行一行铺下来;平原也一样;每个形体,最远的先画,用它的阴影色调铺出;投影;小的点缀(手写字、睫毛、星星);主形体由暗到亮地深入刻画,最后画、画得最慢;签名。
空间与光。 一台针孔相机俯对一片无尽的平原,地平线很低。一个低低的太阳,在左前方:每个形体都由它照亮,每道影子都斜斜地拉向右方和远处,在地面上用绘制该物体的同一份 alpha 计算出来。小人物和重复的物体给出尺度。
调色板与底子。 群青经过绿松石色渐变到地平线处的柠檬黄;赭石和赭褐色的平原;蜡质的肤色;紫褐色的阴影;一种饱和的橙色,只留给一个点缀。一层 4% 的细亚麻织纹和 5% 的核心 paper 贴图;四角略微沉暗,就像旧光油那样。
不是它的邻居。 paintedOil 露出鬃痕,让边缘消失在阴影里,湿画湿地画。梦境罩染藏起笔,保住每一条边;它的戏剧性在于构思和光,永远不在颜料上。
工具包与样张。 dreamGlazeKit.ts 是手笔,仅此而已:噪声和颜色、sunlight()、Obj 高度场、raise() 和 paintForms()、surface(),以及两组影片手势 rows() / laid() 和 workPlan() / workUp()。它不含任何脸、物体或道具。dreamGlaze.ts 是用它画出来的一幅画。在工具包上画新的画:写你自己的 Obj、你自己的绘制函数和你自己的地面。不要从样张导入。它的面具、问号、卷轴、火花和远处的重复物属于那一幅画,不是这种画风的词汇;第二幅画如果复用它们,就是把同一幅画又画了一遍。
题材规则。 手笔只是一半。画面需要本该坚硬的柔软之物、本该落下却被托住的东西、一个一直重复到地平线的物体,以及一幅藏着第二层意思的图像。为你自己的题材发明你自己的道具;永远不要重新搬演一幅已知的名画。
运动语法。 笔触到来;什么都不淡出。底子用之字往返(boustrophedon)的行铺开,行的下沿微微摆动(rows、laid)。形体先用阴影色调铺出,再深入刻画:一个亮度上限在形体上逐渐升高,所以阴影最先完成,高光最后(workPlan、workUp)。手写字沿它的行一路写出去。最后几帧就是静帧,逐像素一致。