为什么给自己做一张 3D 书桌
我平时做的事情大多是反过来的:拿到一个二进制、一个混淆过的 bundle、一个抓不到明文的协议,然后把它拆开,看清楚里面怎么运转。拆久了会有一种奇怪的匮乏感——你越来越懂东西是怎么造的,却很久没有从头造一个。
这个网站就是那个反过来的练习。
一个具体的疑问
起点不是「想做个酷炫首页」,而是一个能被证伪的疑问:浏览器里的 3D 场景,能不能既好看,又真的能拿来读文章?
网上大部分 WebGL 首页是不能的。它们炫技的部分和有用的部分是分开的:3D 那一屏用来惊艳,往下滚才是真正的内容。这样其实等于承认了 3D 是装饰。
我想试试能不能不分开:桌上的物件本身就是入口,笔记本翻开就是文章,显示器亮起来就能操作。3D 不是包装纸,是壳。
给自己划的线
做的时候写了一条约束贴在旁边:任何一篇文章,不打开 3D 也必须能完整读到。
所以每一类内容都有一个真实的、静态生成的 HTML 页面,可以被搜索引擎抓、可以分享、可以在没有 WebGL 的设备上打开。3D 那一层是可选的皮肤,不是唯一通路。
这条线让很多决定变得简单。要不要把文章内容做成只有 3D 能看的形式?不要。要不要为了转场效果牺牲深链接?不要。
慢下来这件事
还有一个私心。我一天里大部分时间在跟很快的东西打交道:跑不完的脚本、翻不完的日志、一堆等着被拆的样本。做这张桌子的时候,我给它加了一个需要拧发条的入口,一个会随真实时间变化的窗外,一杯不会凉的咖啡。
这些都不提高任何效率。但打开它的时候,节奏确实会慢下来一点。