每天一个设计风格 · 13|字符画 ASCII Art 当画面退去像素的修饰,仅凭基础字符的疏密排布,依然能在终端里构建出光影、景深与流动的生命力。 在这支… · @guanmo_ai · TwKit
@guanmo_ai
每天一个设计风格 · 13|字符画 ASCII Art 当画面退去像素的修饰,仅凭基础字符的疏密排布,依然能在终端里构建出光影、景深与流动的生命力。 在这支 18 秒的纯代码演算短片里,我们将计算机图形史上的数个经典瞬间串联成章: 从 2006 年 Andy Sloane 笔下旋转的 donut.c 三维圆环,到 1999 年《黑客帝国》倾泻而下的数字雨; 从 1991 年 Glenn Chappell 编写的 FIGlet 前身 newban 的终端排版,再到 1995 年 PSX DOOM 里热量逐格衰减上升的字符火焰。这些跨越时代的算法,最终自然地落入现代移动端的界面交互之中。 为了让纯文本呈现出温润且严谨的秩序感,我们在底层渲染上遵循了五条设计准则: · 灰度阶梯映射:提取画面光影,将亮度线性映射至 .,-~:;=!*#$@ 字符序列,以字形的视觉饱满度替代像素明暗。 · 严苛网格对齐:锚定 0.6em × 1em 的等宽字体基准格,让每一帧的排版都具备瑞士网格般的几何秩序。 · 光色同源驱动:字符形态与色彩色板共享同一套亮度输入,确保高光与暗部的视觉呼吸感高度统一。 · 原地帧率流转:无论是加载环还是进度条,字符都可以锚定原地,仅靠字形轮转传递动态,克制而不凌乱。 · 乱码收敛直觉:状态切换以短暂乱码为引,逐字锁定落定为终,赋予数字界面真实的机械解码质感。 短片后半段,我们将这套法则放进了现代 App 的五个高频微交互场景:加载进度、按钮反馈、骨架屏解码、输入律动与状态完成。画面由 Canvas 2D 逐帧绘制,120 BPM 的 A 小调 8-bit 风格配乐亦由代码合成,章节切换全凭和弦走向自然衔接。 愿这份跨越三十余年的终端浪漫,能为你下一个产品的交互细节带来些许灵感。 完整源码、短片、视觉海报、五条规则速查卡、移动端组件拆解、四步交互教程均已开源。
曝光 58 · 评论 0 · 点赞 1 · 书签 1
查看原帖