15.1 外包切分与计价模型
外包的第一件事不是找供应商,而是把工作切成「可独立验收、可独立计价」的包。本节用一份示例配置,把按件、按人天、里程碑分期、阶梯单价四种公开可观察的计价结构写成全整数模型,S 层 Python 算账、P 层 TS 复算,两侧 digest 逐位一致;所有单价与人天均为本套构造的示例参数,与真实报价无关。
category
外包的第一件事不是找供应商,而是把工作切成「可独立验收、可独立计价」的包。本节用一份示例配置,把按件、按人天、里程碑分期、阶梯单价四种公开可观察的计价结构写成全整数模型,S 层 Python 算账、P 层 TS 复算,两侧 digest 逐位一致;所有单价与人天均为本套构造的示例参数,与真实报价无关。
工业化不是一次做到合格,而是每一批都合格。本节用《星屑旅店》16 个资产的实测记录,把命名、网格、线宽、色板四个维度的合规率算成整数千分比,得到一致性指数 890‰,并把同批按小组拆开算出跨批漂移 94‰;返工的 5.60 人天正好吃掉 14.1 有效产能的 156‰。
排期不是画一张甘特图,而是在依赖 DAG 上算关键路径。本节用《星屑旅店》九个美术任务的依赖图,算出最早开始、最晚结束与浮动时间(全整数),S 层 Python 与 P 层 TS 内核的 digest 逐位一致,并用三个负例证明检测器会拦下环、悬空依赖与紧截止导致的负浮动。
产能账要能被复算,先得把「人天」拆成日历人天与有效人天。本节用《星屑旅店》一支示例团队,把出勤率、专注率、角色产能与资产需求写成全整数的人天×100 账,算出利用率 1058‰、吞吐 1.20 资产/人天,并说明为什么日历人天会让计划看起来比实际宽松。
采纳率和维护成本最容易被写成口号。本节把它们变成可算的整数账:采纳率 = 活跃用户×1000 // 目标用户,节省人天×100 = 活跃用户×次数×分钟×100 // 一人天分钟数,工具有效率 = 节省人天×100×1000 // 维护人天×100,两轴各带下限落在四象限里,给出 promote / keep / observe / retire 四类决策,并用负例证明只看一个轴一定会误砍。
工具链最大的隐性债是分层被悄悄破坏:低层反向依赖高层、同层互相耦合、单消费方的工具被塞进共享层。本节把依赖方向与复用判据写成可断言的整数账,并用负例证明环检测会放行反向依赖——分层判据必须是「单向向下」而不是「无环」,共享收益也按消费方数逐位算,过共享的工具必须下沉回本地。
「受影响项目多」不等于「该中台化」。本节把中台判据写成一笔整数账:年节省人天×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 阶段管线。按章节提供仿真、逻辑内核与原型;完整项目的配置组装与交付验收仍在补齐。