附录 A:风格参数表、量化规则与数据集索引
《游戏美术与技术美术》卷三《风格与品类美术实战》附录:全卷风格参数与公式索引、st<章号>_ 工具链命名约定、六层可运行性口径与逐层复现命令,并给出可跑的 S 层清点脚本与 P 层索引校验内核,两者对同一份工作区算出的清单与摘要逐位一致,并附一键复现与排错顺序。
tag
《游戏美术与技术美术》卷三《风格与品类美术实战》附录:全卷风格参数与公式索引、st<章号>_ 工具链命名约定、六层可运行性口径与逐层复现命令,并给出可跑的 S 层清点脚本与 P 层索引校验内核,两者对同一份工作区算出的清单与摘要逐位一致,并附一键复现与排错顺序。
体素美术通常不做实时求值光照,而是把每个面朝向的亮度烘成固定档位。于是最终颜色数 = 基础色数 × 档位数——这条乘法就是调色板上限的账。本节用《星屑旅店》的体素灯具算这笔账:6 个面朝向直接着色会得到 18 色、越过 16 色上限,折叠成 4 个档位后回到 12 色,并让 Python 与 TypeScript 各自独立复算、逐位对齐。
平面着色给每个面一个平色,色块划分就是决定这个面该归哪一档亮度。本节把一块 12 面 lowpoly 宝石按整数 shadeLevel 分成 4 个色块,算出每档面数与最大色块占比 416‰,用 PIL 按同一份 palette 真生成平面色样本 PNG,并给出跨语言 digest 与色块超预算的负例。
像素风用整数色差账回答「量化亏多少」:16 级色阶条映射到最近调色板色记总误差,再找最优两色对做有序抖动,抖动把误差从 381 降到 141;抗锯齿会造出 36 色而抖动新色数为 0。附可跑的 S 层脚本与 TS 校验器,跨语言逐位一致,测试六条全绿。
把「同源但可区分」量成一个整数:五维加权 L1 的整数均值再 ×10,判据是下限 800。15 对全部高于下限,最近一对 lowpoly/cozy-clean 是 1002,摘要指纹与卷一、卷二、卷三 1.2 独立复算逐位相同;B 层再扫阈值与权重,证明三个可测维度一个都不能少。
可读性不是调色板的绝对属性,而是调色板与观看条件的匹配。本节把四品类的观看条件(屏幕、单次注视时长、同屏元素数)折成四道整数门槛,对 6 个主题包做 6×4=24 格判定:休闲只过 2 格、中度 3 格、独立 2 格、重度 6 格——同一份调色板,换个品类判定就不同。
复古 / 赛博的霓虹感是可校验的整数约束:发光色饱和度下限 500‰、地色亮度上限 250‰,把「暗底高饱和」与「亮底低饱和」分开;再算 5 对 WCAG ×10 对比度与整数色彩分级。实测 retro-cyber 零违例,cozy-clean 有 4 项违例,分级改色却改不动地色亮度上限。
清新治愈的「高明度低饱和」不是形容词,而是可校验的整数:背景族明度有下限、中性角色饱和度有上限、强调色有数量上限。本节把三条约束写进 cozy-clean 主题,用 Python 真跑候选色审计并生成色卡 PNG,再用 TypeScript 校验器与 Python 落盘的 JSON 对拍,证明两侧的整数类违例集合与摘要逐位一致。
暗色主题的调色板几乎全落在低亮度区,文字能不能读只剩对比度这一根拐杖。本节用与卷一 ch4 同源的 WCAG ×10 整数口径,算分级后 token 的相对亮度千分比、亮度分带直方图与相邻亮度阶梯的最小间隔,并从只读真源取对比度下限,逐对检查暗色调色板是否达标。
暗黑与恐怖的第一步不是换色相,而是把整块调色板压饱和度。本节从 retro-cyber 的暗色档出发,用整数地板除做分级:灰值加权和加按等级往灰值收,算出每个 token 分级前后的饱和度千分比与四个等级的平均饱和度,并让 Python 与 TypeScript 各自复算、逐位对齐。
1.1 给了六个主题的五维向量,本节把它铺成一张 6×6 的风格距离矩阵:用声明权重 [2,2,1,3,3] 的加权 L1 整数均值再 ×10,判据是下限 800。15 对全部高于下限,最近一对 lowpoly/cozy-clean 是 1002;摘要指纹与卷二 16.2 独立复算逐位相同,这就是「同源但可区分」。
风格能不能被量成几个数?本节把第一卷的五维风格向量拆回人话——色彩(明度中位数 / 饱和度均值 / 色相跨度)、形状(描边占比)、细节(细节密度)三个可测维度,并做一次消融对照:只用色彩三维时最近一对会掉到可区分下限以下,补上形状与细节才恢复,这正是「三个维度一个都不能少」的整数证据。
《游戏美术与技术美术》卷三《风格与品类美术实战》目录:16 章 48 节,从风格的可测三维与风格距离矩阵,经像素风、2D 手绘、低多边形、NPR 卡通、写实 PBR、厚涂手绘、体素,到等距 2.5D、二次元、暗黑、清新、复古赛博与品类差异,最后用 6 个主题包跑同一份规范并给出风格距离矩阵。按章节提供仿真、逻辑内核与原型;完整项目的配置组装与交付验收仍在补齐。
《游戏美术与技术美术》卷三《风格与品类美术实战》全 50 篇。第一部分(第 1–3 章)讲风格的可测三维(色彩 / 形状 / 细节)、风格向量与风格距离矩阵、风格选择与项目约束、像素风的分辨率与调色板上限、调色板量化与抗锯齿替代、像素 tile 预算、2D 手绘的扁平色块与线宽规范、手绘资产的切分与复用;第二部分(第 4–8 章)讲低多边形的面数与顶点预算、平面着色与色块划分、引擎接入约束、NPR 的色阶带与描边参数、光照分层规范、写实 PBR 的通道打包与材质分区、写实的性能代价、厚涂的笔刷与色域参数规范、手绘贴图的分层与复用、体素的网格账与引擎接入;第三部分(第 9–14 章)讲等距投影的整数变换、等距 tile 与遮挡规则、二次元的色彩线条与角色比例规范、暗黑的饱和度分级与亮度分布、清新的高明度低饱和调色板、复古赛博的霓虹调色板与发光溢出、主题切换与变体管理、品类与预算及可读性的关系、跨品类复用与移植;第四部分(第 15–16 章)用 6 个主题包把同一份规范实例化六遍并给出 6×6 风格距离矩阵,再做三卷总收官。按章节提供仿真、逻辑内核与原型;配套工程与累计快照已有验证;具体范围以对应目录说明为准,按章复现、全部事实与练习另行验收。全书围绕虚构等距经营游戏《星屑旅店》与工具链 prism 展开。
有了感知距离这把尺子,本节把它用到最要紧的地方:色觉异常。我们自实现 Viénot–Brettel 二色觉模拟,对 8 个 token 逐一投影成 8-bit 整数,实测等亮度红/绿在绿色盲下距离从 0.3755 塌到 0.0656,并抓住真实规格违例 danger/surface 对比度只有 31。
上一节说对比度看不见色相差,那要判断「两个颜色够不够分得开」就需要一个感知均匀的空间。本节用 OKLab/OKLCH 复算 8 个 token 的坐标与距离,实测 HSL 等间隔取色的相邻距离极差是 OKLCH 的近 4 倍,说明「取色均匀」和「看起来均匀」不是一回事。
美术在 sRGB 里取色、在引擎里混合,却很少问这两件事是否发生在同一个空间。本节用一份 sRGB 8-bit 真源复算传递函数、相对亮度与对比度,实测「琥珀与天蓝色相完全不同、对比度却一模一样」,说明对比度只由亮度决定,并给出跨语言的容差口径。
把「主色、辅色、强调色」从美术口头词翻译成可复算的量:用《星屑旅店》的 8 个 token 算中性明度梯度的单调性与均匀度、5 对对比度的下限,并实测琥珀与天蓝的对比度同为 69 而 OKLab 距离 0.30,说明对比度合格不等于色相有区分度。
上一节把形容词变成四个整数区间,这一节把区间升级成向量:五维、每维归一化到千分比,再用加权 L1 算出六套主题两两之间的风格距离,并用 OKLab 欧氏距离单独量色彩距离。同一份规范要能在六套主题里都成立,靠的就是这张「同源可区分」的距离矩阵。
可访问性不是发布前加几个开关 游戏客户端的可访问性经常被放到最后:加个字幕开关、加个色盲模式、加个震屏强度。真正做起来会发现,如果系统早期没考虑,后补很难。字幕需要音频事件提供文本,色彩模式需要 UI 和玩法提示不只依赖颜色,输入替代需要动作系统支持重绑定,UI 缩放需要布局能自适应。