- UI SFX v3: procedurally synthesized one-shots (Tools/synth_ui_sfx.py) wired to buttons, rewards, errors and red dots via UiSfx, gated by the SFX setting. - Five formal enemies (Hornlet, Dashlet, Shellhorn, HornCaptain, GreatHorn): Hunyuan 50k -> 2000-tri XPbr, DGXA TokenRig, Idle/Walk/Attack, nested per type in PrototypeArena; PrototypeBattle.Enemy gains presentation-only Moving/Strikes. - Formal partners for all ten pets in the arena and portraits, including new VineSprite, ThunderLeopard and TideWhale. - Pipeline fixes: reject local TokenRig fallback, drop loose mesh islands, configurable Unity run_script timeout, companion static stage. - Also includes concurrent work from another tool in this working tree (FlameLion, enemy combat FX, challenge mode, home explorer, server updates). - Resources registered in Doc/ResDesc_*.md; verified on isolated :18081. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
6.0 KiB
芽芽 BudBud · T1 伙伴制作记录
2026-10-20完成正式版本。伙伴ID=2,草元素支援/治疗定位;奶油圆脸、五片绿叶瓣、头顶黄花苞、短叶臂和双足,与火喵保持相同美术风格。本次交付角色视觉资产,不改变战斗数值。
交付
| 项目 | 结果 |
|---|---|
| 静态伙伴 | AIClient/Assets/Bundles/Characters/Animal/BudBud/BudBud.prefab |
| 动画伙伴入口 | AIClient/Assets/Bundles/Characters/Animal/BudBud/BudBud_Companion.prefab |
| 骨架中间Prefab | 同目录 BudBud_Rigged.prefab |
| 验收场景 | AIClient/Assets/Bundles/Scenes/Review/Companion_BudBud_Review.unity |
| 并排/Play截图 | AIClient/Assets/Screenshots/companion_budbud_{review,play}.png |
| 正式配方 | Config/Art/Companions/BudBud.json |
| 来源与状态 | Tools/output/companions/BudBud/production_manifest.json,status=validated |
尺寸0.50m,2000三角面、1002原始顶点,1024² base/mix贴图,Test/XPbr材质,每顶点最多4个归一化权重。Y-up、底面中心原点、局部-Z正面;逻辑外层根缩放1/旋转identity,Root Motion关闭。
来源与制作
- 内置imagegen参考
FireCat/firecat.png风格与proto_pet_2.png身份生成budbud.png,1024×1536,白底四角RGB最小253。完整提示词/模式/参考见design_prompt_formal.txt。 - 用户明确授权后提交腾讯混元3D官方网页50k图生3D,得到
Tools/output/budbud_3d/budbud.glb(50000 tris),内嵌贴图解码通过。任务回执hunyuan_status.json。 - Blender5减面、UV、烘焙到2000 tris/1024 XPbr;产物
Tools/output/budbud_game/budbud_xpbr/。Pipeline只导入FBX和两张PNG,在Unity创建材质/Prefab,不复制离线mat/meta。 - 同一混元高模经项目DGXA TokenRig original模板得到自身22骨,保存在
Tools/output/budbud_dgx/high_rig/。rig SHA256:729fbbd33dee63977da22ae809762a2d4894882da04df9c0512291b27e44af98。 - 已验收低模Y-up转Blender Z-up,再等比尺寸/底面中心对齐后转权重,保留网格与UV。对齐距离最大0.004639、RMS0.001779(源模型高约1.131);本角色无需额外skinOverrides。绑定后对静态模最大顶点误差0.000026m。
- 先生成并验收单Walk的121帧蒙皮和四个相位的正侧背面,再补Idle与治疗施法Attack。三段均为同一rig的UniMate新生成源动作,本次均CUDA成功,回执记录rig/源FBX哈希、原始英文提示词和远程任务号。
- 源动作经离线绑定空间校准、贴地、循环闭合与语义编辑保存为正式.anim;不依赖运行时反向旋转或临时生成动画。统一入口完成Edit及实际Play验收。
自身骨骼检查:root=bone_0、chest=bone_3、头部链bone_4/5;X正侧手臂bone_7/踝bone_16/脚尖bone_17,X负侧手臂bone_11/踝bone_20/脚尖bone_21。正面参考使用不同的左右踝骨16/20;编号只适用于本次芽芽rig。花瓣与花苞随头部链运动,无独立花瓣次级骨。
动作与验收
| 动作 | 正式行为 | 121帧实际蒙皮结果 |
|---|---|---|
| Idle | 1.6秒循环,8%源变化+轻呼吸,首尾绑定参考 | 最大形变0.01614m;根倾角1.539°;脚底误差≤0.019mm |
| Walk | 1.1秒原地循环,35%源变化+交替短步 | 左右步幅0.05763/0.05558m;根倾角7.950°;脚底误差≤0.137mm |
| Attack | 1.1秒单次,12%源变化+双叶手抬起前推治疗施法,恢复Idle | 最大形变0.10955m;根倾角2.199°;脚底误差≤0.156mm;内部视觉位移0.002m |
Walk原始根倾角65.349°,并非静态模up改变;用全骨骼源首帧相对绑定姿态校准,保留相对运动后离线收尾。仅改Armature +90°X不能解决,正式资产保留正确绑定空间。
三段首尾顶点误差均为0;Idle/Walk逻辑根水平不漂移。控制器通过Idle↔Walk、两状态进入Attack、单触发一次及恢复请求状态;实际10秒Play观察到Idle、Walk、Attack,最大根倾角7.915°,根位置固定,结束已退出Play。
正侧背静态、Walk四相位、施法蓄力/出手/恢复近景已目视检查;花瓣头与花苞、叶臂和背部小叶无明显拉扯或塌陷。预览可在验收场景的Static/Idle/Walk/Attack/Cycle五组查看,X=60,与火喵X=40隔开。该场景未接入正式关卡。
调用与复现
Animator在Model节点:Motion Int,0=Idle、1=Walk;Attack Trigger触发一次治疗施法。Attack在0.55秒发送 OnCompanionAttackImpact,事件接收器应在Animator所在节点或由该处转发。该事件仅提供表现时机,实际回血、范围选取、治疗特效和音效由技能系统接入。
python Tools/character_animation_pipeline.py --recipe Config/Art/Companions/BudBud.json --build-review --play-check
默认使用哈希校验后的本地来源;显式 --generate Idle Walk Attack 才请求新动作。初始 BudBud.formal.draft.json 继续保持boneMappingReady=false,仅作禁用草稿记录。
验收报告位于 Tools/output/companions/BudBud/:verification.txt、walk_verification.txt、play_verification.txt、walk_processing.txt、motion_processing.txt、BudBud_Rigged.skin.json。近景在 static_audit/、walk_audit/、idle_audit/、attack_audit/。
旧草稿留档
原Blender程序化1804 tris/8骨版本未通过Unity验收,已由本正式版本替换。原离线文件、配方与文档在 Tools/output/budbud_offline_draft_20261020/;原Unity资产通过Pipeline复制至 AIClient/Assets/Temp/BudBud_OfflineDraft_20261020/,新GUID且不进入Bundles。旧记录仅作历史,不作为正式来源。
AIClient使用图形batchmode+Unity Pipeline完成本次制作;启动时空白未命名场景(0对象、无修改)已通过Pipeline保存在 Assets/Temp/BudBud_BatchStartup_20261020.unity,以允许Additive创建验收场景,未丢弃任何场景内容。
制作结束后,已确认仅打开本次两个已保存场景,并通过Pipeline正常退出本次启动的batch Editor,释放项目锁供人工打开。其他Unity项目未操作。