艺术家 马克·J·法拉利 的访谈(Q & A with Mark J. Ferrari)
首先,要感谢 Joe Huckaby 令这些老图焕发青春。Joe 的所作都预先告知了我,并征得了我的同意。在他还是个高中生的时候我就认识他了,那时他就是一名颇有才华的程序员。他和我一起做了这么一个项目,其中一些精美的插画都是17年前做成的。
多年来,我一直希望能够通过一种方法向我的网站访问者展示这些动态的画作,但直到最近,还是没有办法在线上正确的显示色彩循环。不过显然,Joe的挑战从没有停止过。几周前,他突然打电话给我,说他搞定了,并且想在他的网站上用我的循环图像作品做演示。我很高兴,并且告诉他,这些图片只要不“商用”就行。然后我就还是该干啥干啥,除了几个朋友也没人知道这个事情。我觉得Joe这么做完全是出于对我的好意,我也没觉得几张图片会给我带来什么。
等到周一上班的时候,我发现同事看我的眼神很奇怪,还都在讨论 Kotaku 和 Reddit ,我全然不知怎么回事儿。现在,一周过去了,海量的关注,几十万的网站点击。Joe 问我愿不愿意帮他回答一些关于这些图片总会被问到的问题。当然了,我非常愿意。
感谢大家的关注,以及对这些漂亮的老图片表现的热忱。开始回答问题吧:
我需要花点儿时间弄明白这些图是怎么工作的,到底发生了什么?!
我也得花点时间来回答你的问题。呵呵。
简单来说,色彩循环造成画面运动的错觉,就类似舞台的跑马灯。
当跑马灯上的灯泡按照序列开关,看起来就像一个灯追着一个灯跑起来一样。当然,我们都知道,灯泡是不动的,跑起来只是我们的错觉。在色彩循环中,屏幕上的像素是不动的,就像跑马灯的灯泡。改变的只是循环序列的颜色,相邻像素颜色变化配合起来造成了色带运动的错觉。
用各种办法精心处理这些颜色“运动”的部分,产生出各种“令人信服”的效果,就像Joe最近给你们展示出来的那样。如果我把画作中实现各种效果的具体技巧全写出来,那太多了,恐怕你会读不下去,所以我就说到这里。不过有一点需要注意:
显而易见,虽然Joe实现了在线展现这种动画的技术,但像素作品本身和色板的排布仍然需要精心构建。把Joe的源码直接应用于一些8位图像,只会得到一个糟糕的结果。
好像有些场景的作品,比如丛林瀑布,我可以看到早上、下午和夜晚的版本。你是画了三张么?
这些版本的场景都是同一张作品通过色板的“移位”而得到的。某些情况下,要加点儿“佐料”(如雨或夜晚透着灯光的窗户)。但这些都与晴朗天气或其他时间版本一样都在一个图层中,颜色和运动都在一个色板中。
Joe最近发表的东西让我们能够在线看到图像的色彩循环,很多场景不仅仅是张动画。通过色板的变动,再加上一些少量的“佐料”覆盖,其中一部分场景完全可以实现24小时的光线变化,甚至是天气状况的变化也可以自然展现。我并不是说简单的改变一些颜色的亮度。日出到清晨、上午到下午或者傍晚到日落的过程中,光和影实际上在逐渐改变着角度,爬上物体的两侧,穿过草坪,登上悬崖和墙壁,生活中所有光的变动都只是通过设计不同的色板,所有的所有都在一个8位像素作品的图层中。
实际上,四五年前我帮 Jakks Pacific 开发的“X-Men”游戏。从天空烟雾弥漫满是建筑的曼哈顿,到远山和薄云的田园山谷,再到高空重叠的云层,每个都有三个时间段的效果,而我只绘制了一张图,仅仅通过切换9个色板就实现了。改变色板,可以改变画面的内容,以及光和色。这些场景相当精巧,甚至256的色板还有一半的空位可用。(当然,这一般人可做不来。)
你还有其他样本么?会不会放出更多的8位作品到演示中呢?
我还真有不少色彩循环图片没有放在Joe的演示中。也准备过段时间再放出来一些。我们还在研究,是不是能把现在展现的这些图片以更加好的效果展示出来。反正是寻找各种可能性吧,希望在不久的将来,你看到的这些场景不仅仅是几张动画。请关注Joe的网站以及我的站点(www.markferrari.com)。
我可以拿到原始的 LBM 文件么?我想把样本从 JavaScript 转成其他语言,这些图片文件是否受版权保护呢?我可以把它们转成其他格式,然后做演示么(当然付费给作者那是必须的)?
谢谢你。我有必要说清楚,Joe贴出来的图片以及我没有放出来的其他色彩循环图,都曾经应用在上世纪80年代到90年代间出版发行的产品中。你要知道,这都是“工作期间的作品”,都是受到版权和许可的限制的,即便是我也无法在未经授权的情况下使用。我和Joe也只是把这些图片“显示”出来,没有任何权利来使用它们。
我们还是有兴趣和目前的版权持有人协商,看看有没有办法重新安排这些图片商用。敬请期待吧。
关于JavaScript或文件格式之类的事情,你得去问Joe。我是个相当有才的艺术家和不走寻常路的思想家,但却是个技术白痴。我是“那个年代”的人,“Java”对我来说,永远是……咖啡。
我这不是在调侃自己。比较讽刺的是,之前我设计的“非常规”的抖动、色彩循环和色板移位,正是因为我真的不知道自己在做什么。
回到当初我在卢卡斯游戏(Lucasfilm Games)任职的时候,完全是因为我的艺术天赋的驱使,我知道“抖动无法压缩”,还要去尝试通过抖动16个糟糕的EGA颜色,形成“有效和令人满意”的排列组合,令EGA画面看起来像VGA画面一样。但是作为一个技术白痴,我试着为《Zak McKracken and the Alien Mindbenders》的背景做了抖动处理,接着就有一群程序员冲进了我的办公室……在他们的折磨之下,我屈服了,我抹平了所有的颜色,就像个无能的笨小孩……几个月之后,卢卡斯的程序员们终于找到了压缩抖动的办法,在新项目《LOOM》中开始大量的使用EGA抖动背景。我记得,这个游戏在那一年得了不少画面方面的奖项。
要是搞技术的家伙卡壳了,给他们点儿时间寻求突破,说不定他们能做得比你想更好。
牛逼。这一张图得画多长时间啊!
年轻的时候,这么一张图,三天到三个礼拜吧(8到14个小时),具体还是得看复杂程度。那时候身强力壮的脑袋好使,现在……可能得多花几天时间。
能不能为大家提供一款可以创建移动色板图像的工具?
几乎所有的2D电脑游戏场景艺术家都在用Electronic Arts出品的“Deluxe Paint”以及新版的“Deluxe Paint II”,我也一样。在上世纪80年代,用它画背景是长达十多年的行业标准。它的色板管理和模板管理是我见过的索引色绘图软件中最棒的。其中渐变填充的选项特别有用,极大的方便了8位像素图的创作。
我要说的是,至少到目前为止,32位非索引色板和3D运算这类技术的出现和我还没什么关系……跟不上技术发展有一个好处就是:任何一工具都可以成为一个“行业标准”,用个十年才过时。这样就不用总是要学基础知识,可以完全的掌握一款工具,让创新成为可能。要是你去追求那些新版本,三两天就一个版本,这个版本还没掌握熟练,又有了新的“改进”,太浪费精力了。
在 Windows 系统上有没有类似 Deluxe Paint 的软件?如果有,有什么缺点呢?
现在市面上,能像我这么用索引色和色彩循环的软件,据我所知只有 Cosmigo 的 Pro Motion。它可以打开和保存 .LBM 文件,并且可以保存图像中循环配置的256色索引色板。然而,Pro Motion 在处理色板的循环信息以及模版数据的时候有一些问题,以至于很难像我用 Deluxe Paint 那样完成这种循环图像。但不管怎么说我还是很欣赏并支持 Pro Motion 和 Cosmigo。
首先,我非常感谢 Cosmigo 为这种艺术形式提供了这么一款工具,还不遗余力的完善它。最近几年,我已经用 Pro Motion 为几个商业项目完成了这类作品。要是没有 Cosmigo ,就完全没办法了。
其次,真的没有理由或者什么可行的办法,让 Cosmigo 知道,更不用说为这种色彩循环艺术,去解决 Pro Motion 的色板管理和模板的问题。这是因为,据我所知在这个世界上再没有人像我这么疯狂的追求和使用这种技术。“特别冷门”,我认为这也是为什么这些技术以及色彩循环本身随着数字艺术工具的发展而彻底消失的原因之一。在行业中有些人知道我可以做色彩循环。他们认识到这种艺术的潜在价值,也对我的技法很感兴趣。但他们会为一个加利福尼亚北部的白痴学者开发色彩循环工具么?90年代末,32位3D艺术兴起,我看到并且也意识到——过去的就让它过去吧。
早在21世纪,工业光魔(ILM, IndustrialLight &Magic)的一名管理者在面试我的时候,看到了我的一些色彩循环的老作品,他称其为这是他所见过“最惊人的数字收藏”。我觉得他的评价非常恰当(虽然我最终还是没有获得那份工作)。所以,Cosmigo 想不到什么样的色板和模板管理是适合色彩循环创作的,是多么的合情合理。直到上周,我也没有什么令人信服的理由去打扰他们。如果他们想谈谈,那我乐意至极。
说说具体的问题吧,Pro Motion 在运行之后只调用第一个打开的文件的渐变色板和循环信息,后面打开的文件不调用。这就意味着,虽然 .LBM文件 中保存了所有的循环和渐变信息。但如果下次运行 Pro Motion 的时候,这个文件不是第一个打开的,这些特性将不能正确显示。如果同时需要处理几个有着不同循环、渐变信息的 .LBM文件 的时候,这就是个大问题。
很多程序涉及到创建此类图片的模板,依靠的是保存XY坐标像素的“开关”状态。Deluxe Paint 在至少两个版本前就是这么做的。Pro Motion 只认可给定像素当前的颜色。如果你做了一个模板,把颜色145到颜色152定义为“开”,那些像素会保持“开”的状态直到你用色板其他位置的颜色涂在它上面。因此,当你涂过模板的时候,模板定义过的区域的“开关”记录都会被“遗忘”和改变,更别说你是打开来用一个之前保存过的模版。这将在你创作稍微复杂一些的循环艺术的时候带来极大的困难。
如果想解决色板问题,像 Deluxe Paint 一样,在 Pro Motion 中每打开一个文件,仅仅读取和应用此文件内的渐变和循环信息,而要完全忽略掉本次运行程序中打开的其他文件相关信息的干扰。
如果想解决模板问题,像 Deluxe Paint 一样,使用和保存模板,至少要让用户选择记住在创建模板时像素“开关”的位置信息,而不是仅仅依靠它们当前的颜色临时状态下的像素开合。
你看,我已经想出了解决办法,虽然有些繁琐,但是你在Joe网站上看到图片的各种效果,通过 Pro Motion 都可再现。
答案好像有点儿长。
画这种图的时候能不能预览或者测试实际的动画?还是画的时候只能“盲操”,最终还要通过程序才能看到效果?
幸福的是,Deluxe Paint 和 Pro Motion 都能在我编辑动画的时候实时预览色彩循环。这无敌有用,Cosmigo 请千万不要调整这部分功能(多谢)。当我为一张图片从一种光照方案转变成另一种,从一个天气转变成另一种的时候,为之创建一堆独立的色板,我能够看到图片在应用不同色板状态的效果。当然咯,在代码实现之前,我是没法看到色板与色板之间的过渡效果的。
抖动算法,这也是出于艺术的决定么?
事实上,不同的抖动方法会产生或好或坏的不同效果。我经常使用图案抖动,因为我想让效果看起来精致与平滑。但这需要把阵列中的像素均匀有序且精准的进行间隔与排列。使用“扩散”或“杂色”抖动,会产生混乱无序的质感纹理。有时,你还真的就需要这种效果。例如在“Sea Cave”沙滩场景,当波浪落下击碎成团团泡沫,我想要一大坨无序粒子效果的质感,所以我在那块用了一点“扩散”抖动。要是在平滑的波浪上使用扩散抖动的话,效果就不好。在做雨、雪效果的时候,希望雪花和雨滴雪花和雨滴是连续的、实心的丝毫不模糊的,这时候我就不用抖动。
你可以用32位色达到这样的效果么?
那就看你是什么意思了。Joe最近的“实验”表明,你现在可以运行和显示这些图像在这样的颜色空间。但是,你要在32位的空间中创建这种作品,我会告诉你,目前的工具的可能不行。它们都没有一个可控制的色板,就算有也只是控制某个色系,而不是一个孤立的颜色。并不是说像Joe这样的人不会创造这样一个工具,在32位环境中模拟一个色板出来,但还真没理由这样干,意义不大。
你能把它转成GIF么?如果不能,为啥?
虽然我很想转成gif,但是大部分是不能的,理由如下:
如果你需要转换的只包括简单的没有应用到循环渐变的效果,并且定长定速,那么是可以的。你能够表现出每帧的色板移位。但是色彩循环作品只有统一的循环渐变和速度将会比较呆板。所有这些各种长度和速度的渐变同时运动,产生更加平滑有机的视觉效果。在迭代中重复着几乎无休止的序列组合,这意味着你的GIF需要成千上万的帧。否则,循环图中有些循环部分就会不完全。
有什么办法把这玩意儿作为我的桌面动态壁纸么?
前面也说了,这些图的版权属于产品的发行者,就算他们已经不在了,也还是有人“继承”它们。因此,我们没办法把这些图授权给其他人使用。不过我们也在沟通,说不定会有什么进展。
请跟我讲讲丛林中降雨的效果。别的动画都挺好理解,就是这个雨的线条,对我来说是个谜。还有,我就没办法在白天的色板中,找到雨的位置。
以这样或者那样的方式,图片中所有不同效果的创造都用到了模版,单一循环图案的多次运用。雨滴和雪花看起来像是穿过背景的半透明点线,但其实都是不透明的,只是通过颜色的仔细匹配来实现的。做出这些轨迹的过程是简单而乏味的,而我在这里讲具体实现的细节也会让你闹心无比。
至于你说在图片的“晴天”版本中不太好安排雨滴的色板空间,那是因为它们根本没必要!奥卡姆剃刀。
瀑布场景的图片,随着时间推移,有大量的像素排列需要设计,并且色板空间的使用比平常更为紧张。因此,虽然我可以通过调整色板空间,把雨的线条融入任何版本的场景,更比如“艳阳天”的阶段,但是明显在这种场景中并没有下雨的条件。其实你可以利用彩虹和星空的色板空间来处理雨滴和雪花,因为它们一般不会同时出现。
白色(#FFFFFF)有什么特殊功效?多数色板里都有这么一组颜色,比如丛林下雨(Jungle Waterfall)场景中,雨的像素没被用到的时候就是白的,但是我却看不到它……
这个问题其实前面已经算是回答过了,色板总是会有几行空出来的空间,通常是留给不同天气状况的,或者是我根本就用不到那些色板空间,谁说一张图必须要用满整个色板。我一般都是很节省的,能不用的色板空间就不要去用,因为要考虑到为将来的可能性提供扩展空间。
你能让水动,树叶能动么?来自瑞士国王的问候……
好吧,陛下。你的英语说得不赖呀。你是不是要问我能不能让树叶动起来的效果像流水那样好?如果你就是这个意思的话,我会告诉你我当然能做到。用同样的技术不但可以实现草坪上草的波动和树叶的起伏,实现水中的倒影都没问题。我先用两个特殊的颜色描在叶子边缘成一个像素宽的线,一条在叶子左侧,一条在右侧。然后我用模板填充这些边线,形成运动的梯度渐变,一半颜色匹配叶子的颜色,一半颜色匹配叶子所处的环境。当这些叶子的边缘动起来的时候,会让叶片向匹配叶子颜色的色带扩张,而远离匹配环境色的色带。如果我恰当的处理了这些,所有勾了边的叶子看起来就像是向一个方向摇动了一个像素,然后再摇回来。我还要切断一些填充,处理一点不同,不然所有叶子都统一的摇来摇去,就太像节拍器了。
我希望这个回答是能让人理解的。你要是仔细观察“Mountain Mirror Pond”这个场景中的倒影,你就应该能够看到这个技术是怎么操作的。
这些图都是什么游戏里的?
有12张图来自一个叫“把握今天(Seize The Day)”的桌面日历,将近17年前的东西了。这12张图调整了宽度放在Joe的网站上。还有 Acclaim Software 在90年代后期出的PC游戏,比如《万智牌:战斗法师(Magic the Gathering - BattleMage)》。还有一些循环图,算是为项目做的概念作品,从来没有被使用过。
好了,谢谢大家的问题,谢谢大家的热情与赞赏。特别感动。我和Joe会坚持下去,通过HTML5应用探寻这种艺术形式的更多可能。
特别感谢Joe,感谢邀请我做这个访谈。
真诚的 马克·法拉利(Mark J. Ferrari)