# 年代媒介混搭（mixed-media-era）

> 每个年代、每个阶段换一种媒介来画：像素、矢量、着色器、3D、手绘……再用一根线把它们串成一部片子。
> 参照（只学语法）：公开传播的代码版「电子游戏发展史」短片（Canvas 像素 + CRT 着色器 + Three.js 3D + 合成配乐）、媒介史题材的纪录片片头。不照搬具体作品。

## 本质 / 不是什么
- 本质：**媒介本身就是内容**：讲哪个年代就用哪个年代的视觉技术；段落之间的切换是一次「媒介升级」；**有一根贯穿全片的线**（同一个主角、同一种转场、同一首配乐的发展）。
- 不是：随机拼几种风格的模板合集。没有那根线，它就散了。

## 辨识信号：每支片子挑 2–3 个
| 信号 | 长什么样 | 适合的主题 |
|---|---|---|
| 岩画、壁画 | 赭石色的手印、线刻、剥落的墙面 | 起源、远古 |
| 印刷品 | 活字、报纸半调、孔版套色 | 出版、信息、19–20 世纪 |
| 胶片 | 颗粒、划痕、闪烁、黑白或褪色彩色 | 电影、记忆 |
| 手绘赛璐珞 | 12fps 的线稿和平涂 | 动画、童年 |
| 显像管和录像带 | 扫描线、跟踪噪声、OSD 字 | 80–90 年代、电视 |
| 像素 | 小画布、固定调色板、步进 | 游戏、早期电脑 |
| 终端字符 | 等宽字符、绿色或琥珀色屏 | 计算机、互联网早期 |
| 矢量扁平 | 干净的几何和平涂 | 移动互联网、现代 |
| 3D 渲染 | 光影、材质、空间镜头 | 近年、未来 |
| 着色器 / 生成 | 噪声场、粒子、液态 | 算法、AI、未来 |
| 纸艺和实物 | 剪纸、黏土、手工的质感 | 手作、个人史 |

规则：
- 每支挑 2–3 个，至少一个不在下面「最俗的版本」里。
- 信号从主题里选，不按顺序全上。
- 媒介从主题的真实历史里选：讲出版史可以从活字走到屏幕，讲音乐可以从唱片封套走到流媒体界面，讲一个人可以从儿童涂鸦走到工作里的屏幕。
- 贯穿的线也要选，至少一根：同一个主角、同一个构图骨架、同一种转场语法、同一首配器逐段升级的配乐。

## 这个风格最俗的版本
- 画面：游戏史式的路线：像素 → 16-bit → 低多边形 3D → 现代渲染，严格按时间顺序，结尾所有年代的画面拼成一面墙再收成 logo。
- 声音：芯片音乐 → 合成器 → 管弦乐，一段一段升级。
- brief 的 style 一栏写明这支片子翻掉了哪几条，或者为什么刻意保留（比如用户要的就是经典版）。保留时，把力气花在构图、镜头、节奏或一个意外的记忆点上。

## 适配
- 用途：历史回顾、作品集、产品进化史、品牌周年。时长常常比较长（60 秒–2 分钟）；超过 60 秒时要分段制作并分段检查。
- 内容：游戏史、互联网史、技术演进、品牌历史、个人成长。

## 技术路线
一个页面，多个段落渲染器（每段一个函数，各自用 Canvas / WebGL / Three.js），由 `timeline.js` 里的段落时间调度；共享一个相机抽象和一套转场函数。渲染慢的段落（3D、着色器）单独用 `--start --duration` 测试和重渲。每段的技术要点参照对应的风格文件（`pixel-game.md`、`crt-vhs.md`、`glass-material.md` 等），但配色和字体要服从全片的主线。

## 材质与渲染
- 每段遵守那个年代媒介的真实限制（像素段真的只用 16 色，CRT 段真的有扫描线），这是可信度的来源。
- 主线元素（比如一个主角符号、一个光点、一个标题字）在每个媒介里都以那个媒介的方式重绘：像素版、矢量版、3D 版……观众一眼就知道「还是它」。**主线元素也要过这个媒介的材料处理**（像素化、扫描线、纸纹、笔触），只把背景换成新媒介、主角还是原来的矢量图形，它看起来就像贴上去的。
- **构图骨架固定**：主角、地平线、标题、计数器的位置在每一段都对齐同一组坐标（在代码里写成一份常量，每段从这里取）。骨架不动，观众才看得清变的是媒介；转场也可以从这些固定的物体上长出来。要换构图的段落是刻意的例外，写进分镜。
- 年份 / 标签字卡用统一的排版（全片一致），这是另一根线。

## 配色
下面的色值是示例，看思路，不要原样照抄。
- 每段用那个媒介的典型配色，但全片有一个固定的强调色贯穿（比如主线元素永远是同一个颜色）。
- 字卡的颜色全片统一。
- 推导：每段用那个媒介的典型配色，全片一个固定的强调色贯穿（主线元素永远是这个颜色），从品牌来；字卡颜色全片统一。

## 字体
- 字卡：全片一种（比如等宽字体写年份）。
- 段落内：可以用那个年代的字体（像素字体、80 年代粗斜体、现代无衬线）。

## 运动
- 每段遵守媒介的运动规则（像素段步进、3D 段平滑、手绘段 12fps），这就是媒介的「声音」。
- **贯穿的东西按全片时间走**：主角的动作、计数器（年份）的值只由全片的 t 决定，换段不重来。这样转场两侧的姿势是接上的，观众看到的是同一个瞬间换了一种媒介；如果每段都按段内时间把动作从头演一遍，看到的就是同一个动作被重复了五次。只有某一段专属的表演才用段内时间。计数器跨转场时，新旧两层显示同一个正在滚动的数字，各用各的字体，在转场中点切换，不叠在一起。
- 转场就是「升级」：画面分辨率突然提高；2D 平面向后倒下变成 3D 地面；像素块细化成矢量。转场的样子由**下一个**媒介怎么出现来定（craft.md 第 5 节），揭开那一帧对在小节线上；全片的转场语法要统一。
- 节奏可以一路加速：BPM 不变，每段的拍数越来越少，最后一段放长（craft.md 第 2 节「加速」）。

## 画面怎么活
- 每段停留时，主线元素一个连续动作，再加 2–3 个那个年代媒介自己的小循环：像素段的 HUD 闪烁、问号块弹一下；CRT 段的滚动干扰条；胶片段的划痕和闪烁；3D 段的环境光慢慢转。
- 第一段前面没有转场可借时，让画面「自己画出来」：像素一行行点亮、矢量线一笔笔描出、套色一版版落下。

## 镜头语法
| 镜头运动 | 表达什么 | 适合哪类内容 |
|---|---|---|
| 推近一块屏幕进入下一个年代 | 穿越时间 | 段落切换 |
| 2D → 3D 镜头升起 | 维度升级 | 重大的技术跃迁 |
| 拉远看到所有年代并排 | 回顾 | 结尾 |

## 声音调色板
**配乐也跟着年代升级**：开头是芯片音乐（方波、噪声），中段加入合成器铺底和鼓机，后段加入采样乐器和大混响（第 2 档：钢琴、宽阔的空间），高潮时所有元素合在一起。一首曲子贯穿全片、配器逐段升级，这是最强的那根线。BPM 全片固定或缓慢上升。

律动与和声（举例，不止这些）：BPM 全片固定，律动随年代变（芯片直拍 → 80 年代门控军鼓 → breakbeat → 现代 half-time）；媒介感靠 bus 的 `crush`（芯片）和 `wow`（磁带）逐段去掉，最后一段干净、宽。一个三四个音的短动机贯穿全片，每段换成那个年代的代表音色、跟着和弦移调，比每段写一首新曲子更像「一部片」。画面先定、段长不规则时，逐段微调速度让边界落在小节第一拍（sound.md 第 8 节）。

## 原生手法
- 分辨率跃迁：像素画突然变成高清，同一个构图。适合技术进步。
- 同一个主角在每个媒介里重生：适合进化、成长。
- 最后所有年代的画面拼成一面墙，再收成一个 logo：适合回顾和结尾。

## 变化空间
- 结构：按年代顺序；倒叙（从今天回到最初）；同一个动作在 6 个年代里各做一次；同一个房间或街角不动，只有媒介在变；主角从左走到右，跨过一条边界就换一个年代（长卷）。
- 年代数没有下限：3 个年代也成立，要守住的是骨架不变、媒介在变。
- 开场：一个像素点；一台旧机器开机的声音；第一幅画自己画出来。
- 结尾：给主线元素留一个小小的梗或表演，前面是「看」，最后几秒让人笑或者愣一下，再落版。
- 结尾：回到最初的那个像素点（首尾呼应）；今天的画面拉远，原来也只是未来某块屏幕里的一帧。

## 坑
- 没有贯穿的线，就成了风格拼盘。
- 每段按段内时间重演动作：转场两侧姿势对不上，观众数得出主角把同一件事做了几遍。
- 只换背景，主线元素没过新媒介的材料处理，像贴纸。
- 签名转场太短：复杂的形状 0.3 秒里读不出来，至少给 0.45 秒，用 `strip --at` 看。
- 每段都做得很满，时长和渲染时间失控：每段 8–20 秒，先做低清小样确认整体节奏。
- 史实错误：年份、名称、首创者都要核实，不确定的就不写，列给用户确认。
