4月22日是世界地球日。今年的地球日有些特别,中国网民在百度上经历了一场“天崩地裂”的搜索。在PC或手机上登陆百度输入“2012世界末日”、“拯救地球”等进行搜索,屏幕就会出人意料的抖动,并随之呈现一道裂痕、露出地壳岩浆,接着地面塌陷……从裂缝中飘出2012船票,带领人们进入到“绿色承诺、拯救地球”活动中。百度为地球日公益环保宣传创作的“地裂”彩蛋,成为了当天人们津津乐道的话题。
试一下:
http://www.baidu.com/s?wd=2012%CA%C0%BD%E7%C4%A9%C8%D5&rsv_bp=0&rsv_spt=3&rsv_n=2&inputT=614
然而更令人惊讶的是,这个别具创造力的搜索特效,竟然出自百度一位80后工程师之手。记者特意追访了这位年轻的工程师,从而揭开了“地裂特效”背后的精彩故事。
图:百度前端研发高级工程师、“地裂”特效作者黄志龙
这位85年的小伙儿叫黄志龙,虽然年纪轻轻,却有着超过十年的JavaScript经验。2008年入职百度,目前是百度前端研发高级工程师。“裂开的效果采用克隆层加倾斜的办法变通实现。船票的飘出,采用著名的贝塞尔曲线算法做为路径,使之感觉更加和谐与自然。船票的翻转,采用矩阵变形动画来模拟。整体的动画在性能与效果之间做了权衡,保证最低帧率的基础上做了智能跳帧处理。”果真是会者不难,难者不会。
志龙是一位思维活跃的年轻人,他说平时自己最大的爱好就是写代码,经常在博客里(http://ucren.com)把自己“异想天开”的点子尝试用JavaScript代码实现和发布。“只有想不到,没有做不到。有些看似不可能在网页上实现的效果,我都想挑战,让不可能变为可能。”这次的“地裂特效”,就是他用JavaScript技术实现的“不敢想”之一。
他笑言:“开始也只是灵光一闪,想在地球日的时候做些小尝试,就在博客上‘信手涂鸦’了一下”。没想到这一“涂”,志龙只用了一个晚上,就把矩阵变型效果写了出来,而且使它兼容了所有版本的浏览器,包括众所周知的“万恶”的 IE6。后来几天,志龙又做了大量的灯光实验,一鼓作气的让彩蛋还实现了逼真的投影效果。
说到过程里的艰辛,志龙也无比感叹,比起技术本身的困难,倒是相关的数理知识让他吃了不少苦头,“一整天对着电脑上那张虚拟的船票飘来飘去,晚上睡觉居然梦见飘来了船票,伸手去拿时,把被子都掀的老远。不过网友喜欢,就一切都值得了!”
当谈到前端技术时,志龙立刻显示出工程师的专业:“JavaScript技术是改善网页用户体验不可或缺的手段,这次的‘地裂特效’就用到了JS、CSS3 技术。其实百度除了拥有业界先进的搜索技术外,我们的前端技术也非常领先,并且在不断追求前端技术的进步,在保持页面简单可依赖的基础上,更尝试增添幽默元素。”
对于广受用户好评的“地裂特效”,他说,“成功既是偶然又是必然,因为在百度技术人员间有个不成文的默契,那就是——我们的创新,并非是为了创新而创新。在百度,都是这样一群技术工程师,不知疲倦、精益求精,希望用技术来改善无数网民的生活,同时也享受着因不断突破技术难题而带来的无穷乐趣。”
的确,正如黄志龙所说,从百度知道“变形金刚”、百科“中秋节月亮”、到网页“地裂特效”,百度的每一次创新,都是技术创新与用户需求的结合,带给用户更多富于现实意义的新奇体验。这些别具一格的实践,拓宽了技术本身的价值,使网友们在惊奇中思索,在搜索中感怀。