构建可入游戏的绑定资产:从模型、骨骼到动作库的完整验收契约
【免费下载链接】SkillsAgent skills for designers and builders using Codex, Claude, Cursor, and other AI coding agents项目地址https://gitcode.com/gh_mirrors/skills48/Skills点击查看免费下载导读本文以agent-skills/game-development/build-rigged-game-assets技能中的 requirements.md 为核心系统讲解在 Codex、Claude、Cursor 等 AI 编码代理配合下如何为一个游戏项目典型如 Three.js 浏览器游戏产出单一可信one truthful actor package的绑定角色与怪物资产包从通用交付物清单、主模型优化、骨骼与 Socket 约定、动作库结构到角色/怪物契约、运行时元数据与发布拒绝闸门rejection gates。读完本文你将能依据一套机器可校验的验收标准审查或生成可直接接入玩法系统的 FBX/GLB 角色与怪物并配套可交互的 moveset 检视器与确定性测试。一、先确立契约交付物与路径隔离1.1 通用交付物清单每个演员actor包必须显式声明以下交付物缺一不可交付物要求Reference参考不可变的源图片/模型外加源任务、许可证或导入来源Source model源模型最高保真的可恢复工件绝不能被优化过程覆盖Main model主模型已接地、清理、贴图完成的演员模型不含一次性预览脚手架Runtime model运行时模型满足预算的引擎就绪 FBX/GLB具备稳定缩放、轴向、材质与绑定Rig骨骼具名骨架、绑定姿势、蒙皮权重、语义 Socket、骨架身份Actions动作稳定 ID/角色、循环策略、根运动策略、时长、接触事件与来源Collision碰撞导航、受击/目标体以及必需的攻击/格挡/投射体积Catalog media目录素材透明卡片 PNG 加真实运行时检视器Manifest清单基于内置模板的机器可校验演员契约Verification验证聚焦测试、构建、Lint、全量测试、浏览器证据与精确 commit要点源文件、运行时文件、纯动画剪辑、装备、目录图片与评审渲染必须放在不同的路径下静态渲染static render不是运行时模型。这也是 SKILL.md 中建立契约优先Establish the contract first原则的具体化——先检查仓库真相把演员归类为character或monster再把交付方式归类为catalog-only、review-only或runtime并明确只有玩法真正加载了它才能声称已实现。1.2 用模板与验证器锁定契约仓库提供了两份清单模板character-asset-manifest.template.jsonmonster-asset-manifest.template.json复制对应模板、填写后在实现旁边或项目资产元数据位置保留然后在构建前运行python3 scripts/validate_asset_manifest.py manifest # 检查声明的文件是否真实存在于仓库 python3 scripts/validate_asset_manifest.py manifest --root repo # 仅在所有验收项确实通过后使用 python3 scripts/validate_asset_manifest.py manifest --root repo --require-verified从 validate_asset_manifest.py 的源码可以看到这套校验是分层的基础层校验schemaVersion、kind、status、provenance.pipeline/source与budget六个字段的非负整数随后按类型分别走validate_rig、validate_actions、validate_character/validate_monster、validate_catalog、validate_verification。例如rig.maxSkinInfluences被硬编码要求为 4actions[].loop必须是布尔、rootMotion必须属于{in-place, authored, extracted}durationSeconds必须为正数--root模式下任何声明的files.*、catalog.cardImage、actions[].file、已支持装备的asset路径都必须能解析到真实文件见resolve_declared_file与validate_files。这意味着清单不仅是文档还是 CI 可执行的机器契约。二、主模型与优化从好看到可上线2.1 缩放、轴向与接地使用现实世界或项目权威缩放并记录演员身高actorHeightMeters使用引擎的上轴与前向轴模板中为upAxis: Y、forwardAxis: -Z不做每帧修正旋转演员根节点放在作者的地面平面上保持脚部接触点ground from feet 或 authored contact sockets绝不能以武器尖端、布料尾摆、阴影或 VFX 接地。2.2 几何清理与预算统计三角形数要按运行时剥离和拆分之后的渲染三角形来算而非仅看源三角形。清理项包括非有限属性non-finite attributes、退化/孤立三角形、未使用节点、重复材质、隐藏的生成器碎片、未引用贴图。同时要为以下指标设上限文件字节、三角形、材质、贴图、骨骼、蒙皮网格、绘制调用。2.3 主模型与装备的职责划分永久解剖/基础服装留在主模型内任何可装备、可收起、可隐藏、可破坏、可掉落、可独立替换的部件必须独立寻址若生成的源把装备融合进身体不要用可见性标志掩盖问题。正确做法是审计连通分量与蒙皮权重移除或重新生成被融合的装备然后从四个侧面证明全部关闭状态成立仅当源确实在被遮挡物品下没有几何体时才允许使用贴合下装fitted underlayer并记录该限制——不要虚构不可见解剖的声明。这一节对应 SKILL.md 中构建通用演员包的五步流程保留源 → 产出主模型 → 构建稳定骨骼 → 构建动作库 → 运行时集成含单资产专属加载器/工厂、可安全 dispose 几何材质贴图、发布元数据与可信回滚路径。三、骨骼与 Socket语义化而非硬编码3.1 骨骼硬性要求一个确定性根节点 一个声明的骨架身份skeletonId具名的 hips/center mass、head、肢体链与接触脚归一化的蒙皮权重每个顶点的骨骼影响数不超过引擎支持上限模板与验证器均为 4有限的绑定矩阵与动画变换不得出现意外的负缩放或镜像层级主模型与每个动作之间骨名与层级必须一致使用语义 Socket 而非硬编码的世界偏移。3.2 角色 Socket 角色root, hips, head, left-hand, right-hand, back, left-foot, right-foot需要时再增加主动/收纳武器、盾牌、弓、箭袋、药瓶、VFX、相机或交互 Socket。验证器通过CHARACTER_SOCKET_ROLES强制这 8 个角色全部存在且每个 socket 的role唯一、name非空。3.3 怪物 Socket 角色root, center-mass, head, vfx-origin按形态与战斗需要追加脚、颚、爪、武器尖端、投射物原点、弱点、可破坏部位或音频发射器。验证器用MONSTER_SOCKET_ROLES强制基础 4 角色。四、动画库每个动作都是可校验的数据条目4.1 动作条目字段每个动作action必须包含字段要求id稳定的运行时/UI 标识符清单内唯一role供校验使用的语义需求file运行时剪辑来源loop显式布尔值rootMotionin-place、authored或extracted三者之一durationSeconds实测的正数时长contactEvents具名的归一化时间或秒级事件来源生成/导入时的 provenance 或提供方动作标识动画专用文件应只含一个剪辑、零网格——拒绝藏在剪辑文件里的重复骨骼、材质或贴图smuggling。4.2 基准与可选动作角色角色基准角色idle, walk, run, primary-attack, hit, dodge, death怪物基准角色idle, locomotion, primary-attack, hit, death可选角色必须来自玩法需求例如block、ward、charged-attack、secondary-attack、ranged-attack、bow-aim、bow-shoot、cast、summon、stagger、roar、spawn、phase-transition、jump、interaction。注意验证器会分别用CHARACTER_ACTION_ROLES与MONSTER_ACTION_ROLES强制基准角色齐全因此缺任何一个角色清单都无法通过校验。4.3 接触事件采样点循环移动类剪辑在归一化时间0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1处测试落脚接触非循环剪辑在开始、每个接触事件、恢复点recovery与结束处测试。模板中walk/run的contactEvents为[left-foot, right-foot]attack为[weapon-contact]dodge为[invulnerability-start, invulnerability-end]death为[corpse-settle]——这些命名事件正是验证与调试的锚点。五、角色契约装备槽与可见性状态机5.1 规范装备槽即使暂不支持也必须声明全部规范装备槽槽位预期 Socket 行为headgear头部或自建头盔 Socketvestment骨骼绑定的护甲层或躯干 Socketgloves骨骼绑定的手/前臂层leggings骨骼绑定的髋/腿部层boots骨骼绑定的脚/小腿层main-hand主动手 可选收纳 Socketoffhand主动手 可选收纳 Socketback-ranged主动手/背 可选箭袋/投射 Socket验证器要求equipment.slots的 id 集合完整覆盖这 8 个规范槽CHARACTER_SLOTS不支持者显式supported: false而非悄悄省略。5.2 每个受支持槽位必须满足有独立文件或独立可寻址根节点记录 Socket 角色与局部变换模板中main-hand的socket为right-hand、stowedSocket为back定义 active使用中、stowed收纳、hidden隐藏三种状态碰撞/格挡/武器体积与可见物品保持对齐安全释放克隆几何/材质测试 slot-on、slot-off、all-off 与动作过渡。核心红线主模型在装备缺失时仍必须视觉自洽——不得残留盾缘、剑刃碎片、空握把、重复剑鞘或仅供评审的药瓶equipment.separateFromMainModel必须为true验证器强制。这呼应 SKILL.md 的角色档案可装备物按具名 Socket 绑定装备可见性与动作选择互相独立除非动作刻意改变 active/stowed 状态。六、怪物契约战斗部件而非衣柜怪物用战斗部件替代角色的衣柜式装备。必须满足导航碰撞体与受击/目标体积已编写的攻击映射到真实动作 IDcombat.attacks[].actionId必须存在于actions验证器会交叉检查每段攻击的 telegraph前摇、active生效、recovery后摇、range距离、facing朝向、damage伤害、interruption可中断性与 cleanup清理契约攻击原点与特效 SocketAI 角色与移动兼容性死亡/尸体可见性与碰撞清理明确的 LOD 行为且不得改变权威碰撞或时序。分离原则只有当玩法必须独立地动画、隐藏、碰撞、破坏、脱离、掉落或替换某部件时才把怪物部件分离否则留在主模型内。验证器对怪物强制combat.navigationCollider、非空hurtboxes、非空attacks且每个攻击需originSocket与三个非负时长字段。七、运行时元数据与来源诚实的状态语言7.1 必须暴露的元数据资产 ID、种类、状态与玩法用途reference、source、runtime、action、equipment、texture 路径生成器/模型/任务 ID 或导入/程序化来源骨架 ID、骨骼/Socket 数量、动作 ID 与当前动作源/运行时的三角形、材质、贴图、网格与字节数装备可见性或怪物战斗状态碰撞体、已知推断边界known inference boundaries与回滚。7.2 三种真实状态truthful status languagecatalog-only已记录可评审但玩法不加载review-only存在实时检视器仍未被玩法加载runtime权威玩法路径加载它。模板默认status: review-only只有runtime状态才要求files.runtimeModel存在见validate_files。这与 catalog-and-testing.md 的运行时遥测一致遥测必须描述真实运行时状态canvas 数、三角形数、当前动作、播放/暂停、拖拽偏航角、可见装备列表、清理时移除的几何数、失败/回退状态而非复制硬编码的宣传文案。八、拒绝闸门哪些情况必须拦下发布当出现以下任一情形时拒绝或阻止发布reject or block release角色主模型仍包含可替换装备动作文件携带重复渲染网格各动作间骨架或骨名意外不一致缺少任何必需的角色role、Socket、碰撞体、装备槽声明或来源字段切换装备后残留可见碎片或孔洞且未声明下装边界怪物攻击动画没有权威时序/碰撞契约目录卡片初始化了 WebGL或检视器使用了多个非预期 canvas控件没有真正驱动运行时动作/装备 API页面无法滚动或拖拽旋转挡住了垂直触摸滚动浏览器、构建、Lint、聚焦测试或必需清单校验失败。这些闸门同时是 catalog-and-testing.md 中 10 项自动化测试与浏览器验收的浓缩清单模式与必需角色、路径与已交付文件、PNG 签名/尺寸/Alpha/大小、GLB 格式与预算与有限属性、骨架身份与最大蒙皮影响、每文件单动作、装备可见性/全关清理/下装行为、怪物攻击窗口/受击体积/打断/死亡清理、运行时加载器集成与回滚、卡片零 canvas/检视器单 canvas/稳定评审 URL/滚动与拖拽契约。发布前还需记录全量套件已运行以及它是通过还是仅保留有文档的既有失败——不要把无关的既有基线失败标记为资产失败也不要隐藏它。九、落地到检视器与提交最终交付物是两个表面目录卡片透明 PNG、真实标签、零 WebGL canvas选中检视器/评审路由恰好一个实时模型 canvas展示来源、状态、预算、骨骼、Socket、动作与已知边界。检视器必须加载与玩法声明完全一致的运行时模型、骨骼、剪辑、装备规则与动作 API——截图或单独 look-dev 网格不能作为运行时证据。控制器需包含每个已交付剪辑的动作选择含可见的 Walk、Hit、Death 控件、重启与播放/暂停、角色装备切换含干净的 all-off 与 active/stowed、怪物战斗状态控制而非角色装备面板、真实模型就绪前的回退图以及touch-action: pan-y或等效的横向拖拽旋转保留页面滚动。提交时只提交窄资产通道narrow asset lane报告清单、主/运行时模型、装备文件、骨骼与 Socket、动作、目录路由、状态、验证结果、已知边界与精确 commit SHA全量套件的既有基线失败单独报告。完整操作顺序可回看 SKILL.md 的 Verify and commit 一节与 catalog-and-testing.md 的浏览器验收清单。小结一套合格的绑定游戏资产不是一个好看的 GLB而是一个自证可信的交付包源与运行时分离、主模型与装备职责清晰、骨骼与 Socket 语义化、动作可校验、碰撞有契约、状态语言诚实、发布有闸门。借助character-asset-manifest.template.json/monster-asset-manifest.template.json与validate_asset_manifest.py这些要求可以沉淀为机器可执行的检查借助 moveset 检视器与确定性遥测它们可以沉淀为浏览器中可复现的证据。这正是本技能把资产需求文档变成可执行的游戏生产流水线的关键。赞分享【免费下载链接】SkillsAgent skills for designers and builders using Codex, Claude, Cursor, and other AI coding agents项目地址https://gitcode.com/gh_mirrors/skills48/Skills点击查看免费下载相关推荐CARLA 自定义车辆内容创作完全指南从建模、骨骼绑定到蓝图注册的完整工作流CARLA 自定义车辆内容创作完全指南从建模、骨骼绑定到蓝图注册的完整工作流 CARLA 开源自动驾驶仿真器在蓝图库Blueprint Library中内自动驾驶科研仿真UniRig自动骨骼绑定5分钟为任意3D模型创建专业骨骼系统UniRig自动骨骼绑定5分钟为任意3D模型创建专业骨骼系统 在3D动画制作领域 自动骨骼绑定技术 正在彻底改变传统的手动绑定流程。UniRig作为这一领域人工智能大模型深度学习图形学3D建模预训练UniRig自动骨骼绑定完全指南从入门到精通的3D动画革命在3D动画创作领域骨骼绑定一直是技术门槛最高的核心环节。传统手动绑定不仅需要深厚的解剖学知识还要耗费数小时甚至数天时间进行精细调整。UniRig项目通过创新人工智能大模型深度学习图形学3D建模预训练上一篇终极指南使用ReconnectingWebSocket构建永不掉线的实时聊天应用下一篇Incus 项目常见问题解决方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考