这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。
13.1 中台要解决什么问题
「受影响项目多」不等于「该中台化」。本节把中台判据写成一笔整数账:年节省人天×100、回本月数×100、是否值得做,除法一律地板除;再用两条负例证明单轴判定会误收只影响一个项目的问题。TS 侧独立复算 Python 落盘的 JSON,整数逐位一致,digest 对拍。
posts
这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。
「受影响项目多」不等于「该中台化」。本节把中台判据写成一笔整数账:年节省人天×100、回本月数×100、是否值得做,除法一律地板除;再用两条负例证明单轴判定会误收只影响一个项目的问题。TS 侧独立复算 Python 落盘的 JSON,整数逐位一致,digest 对拍。
门禁一定会误报,白名单就是给经过判断的例外开的口子;但它一旦没有纪律就会烂成垃圾场。本节把白名单当成要检查的对象:4 条登记先过五道治理关(重复/级别不可压制/缺理由/缺负责人/过期),只有 2 条生效、压掉 2 条 warn,而 block 级硬失败永远压不住,门禁压完仍是 block。
同一份 7 条 finding 的清单,喂给三种阻断策略会得到三种结论:strict 全拦、ratchet 只拦新引入的、quota 因 warn 超配额拦。本节把策略抽成配置,用同一份清单跑出三种门禁结论,并用两条负例证明门禁不是恒返回 pass 的空壳——删掉 baseline 一条必须拦、把 warn 移出 blockOn 必须放。
前面各章的判据各自能跑,却没有一次检查能同时拦住命名、引用与预算。本节把第 3 章的命名文法、第 4 章的建图与环检测、第 5 章的 mip 字节账收进一台规则引擎,用一份 15 个资产的样本跑出 7 条 finding,其中 5 条硬失败即判门禁阻断,并给出跨语言逐位一致的 digest。
更新完之后,客户端缓存里哪些该丢、哪些能留?本节用两条整数判据回答:hash 变则 version 必须增(否则 stale)、hash 不变则 version 不应增(否则 wasteful);缓存以内容 hash 为键时只有 changed 失效。样本里 stale 1 / wasteful 1,两种键法命中率都是 461‰,但 path:version 键会喂陈旧内容。
差异只说明「差在哪」,还要变成「怎么下、出错怎么退」。本节把 11.1 的 added+changed 按 id 贪心装批,单批不超 65536 字节、超预算资产独占一批:7 个资产装成 4 批,最大批 131072 字节;回滚是反向差异,用纯函数断言 apply(base, forward)==target 且 apply(target, rollback)==base。
热更新要下多少字节,取决于两份清单差在哪。本节把客户端已发布的 base 清单与目标 target 清单按 id 求并集,用 hash 判成 added/removed/changed/unchanged 四类,S 层 Python 与 P 层 TS 两侧的差异清单与 digest 逐位一致:并集 14、要下载 7 个资产共 230400 字节、下载占比 812‰。
20 个 UI 元件按作者顺序摆出来要 12 个 draw call,超出 10 的预算;按图集与裁剪域稳定排序后降到 7 个。本节把合批做成可归因的整数账:相邻元件同图集同裁剪域才并批,断开按 atlas 优先于 clip 归因,Python、TS 与浏览器看板三处逐位一致。
同一套 UI 图集要发到 720p 手机、平板和 4K 桌面,全档打包会白白多背几十 MB。本节把分级做成整数账:由屏幕与设计基准算缩放千分比,选最小且不小于它的档位,按档位比例算图集字节,再对照全档打包与按需打包的差额,Python、TS 与浏览器看板三处逐位一致。
同一套 HUD 要在刘海屏、挖孔屏、平板与折叠屏上都躲开遮挡。本节把安全区做成整数几何:屏幕减四边 inset 得安全矩形,元件按千分比锚点走整数地板除放进可用框,再用 AABB 相交对刘海做兜底,Python、TS 与浏览器看板三处逐位一致。
「TA 要跟所有人沟通」是一句无法验收的话。本节把 TA 与美术、程序、策划之间的往返写成一份接口矩阵:每条接口有发起方、接收方、交付物、触发频率、门禁分级与失败模式,并给出一个可断言的 TypeScript 校验器与两条负例,把「接口」从散文变成能跑的判据。
把「TA 要会什么」写成一份带权重的能力矩阵,是本节的全部工作。难点不在列清单,而在怎么算「够不够」:平均分够不等于达标,只要有一项低于职级要求,这一项就整块不计入加权覆盖率。本节给出一份可断言的 TypeScript 能力矩阵内核与两条负例,并与 Python 侧逐位对齐。
技术美术常被当成「会写脚本的美术」或「懂美术的程序」,两种说法都没说清 TA 到底交付什么。本节把 TA 的工作拆成工具、管线、性能三类,落成一份有序归属规则表与一份投入账:为什么「性能分析工具」必须判成性能类,为什么千分比与回本轮数只能用整数地板除,以及一条可跑的 TypeScript 路由器如何与 Python 侧逐位对齐。
《游戏美术与技术美术》卷二《技术美术与管线工程》目录:16 章 48 节,从 TA 的能力模型与资产管线四阶段,经导入校验、依赖图环检测、图集与材质参数、LOD 与骨骼预算、动画与 UI 规范、清单与门禁规则引擎,到中台、产能排期、外包成本核算,最后收口到一条可回放的 10 阶段管线。按章节提供仿真、逻辑内核与原型;完整项目的配置组装与交付验收仍在补齐。
《游戏美术与技术美术》卷一《美术制作与视觉规范》附录:全书公式与参数索引、sp<章号>_ 工具链命名约定、六层可运行性口径与逐层复现命令,并给出可跑的 S 层清点脚本与 P 层索引校验内核,两者对同一份工作区算出的清单与摘要逐位一致,并附一键复现与排错顺序。
同一颗按钮在正常、悬停、按下、禁用、选中五态下长什么样,是规范里最容易被漏掉的一层。本节把《星屑旅店》的五态参数写进一份 JSON 配置,用 S 层 Python 算每态前景/背景的对比度 ×10、做状态完备性与反馈时长两条 lint,用 P 层 TS 内核跨语言逐位对照,并断言低于对比度下限的配色必须被判失败。
把一张 48×48 的小图切成 3×3,四角保尺寸、四边单轴拉伸、中心双轴拉伸,就得到任意尺寸都不变形的按钮与面板。本节用整数公式算切片与落位矩形、用 PIL 生成拉伸示意图、用无头浏览器断言四角像素与源角块逐位相同,并给出面积账与取舍;切分参数一改,三层立刻复验。
栅格、间距与安全区是 UI 规范里最先被写死、也最容易被分辨率打脸的一层。本节把《星屑旅店》的基准分辨率、12 列栅格、8px 间距阶与刘海屏安全区写成一份可跑的整数规范,用 S 层 Python 与 P 层 TS 内核算出每个元素落在哪一格,并对四条边做越界断言。
包体预算不能只有一个总数,必须按类别拆成「预算 / 实际 / 余量」三列,才能一眼看出是哪一类超了。本节把《星屑旅店》的 20 个打包条目按纹理/音频/字体/数据/其它五类汇总成一张整包预算表,用一份真跑的 S 层脚本和 P 层 TS 内核给出逐位一致的违例集合,并用类别超支与总包超支两条负例断言证明门禁真的会 fail。
压缩格式不是画质参数,是显存账的乘数。本节把 BC1/BC3/BC7/ASTC 4x4/6x6/ETC2 的块大小与块字节固化成 D 层规格表,再用一份真跑的 S 层脚本把 1024×1024 的底级与整条 mip 链算成整数个字节,给出相对未压缩 RGBA8 的千分比与一份可执行的选型取舍表。