# 闪闪雀 SparkBird · T1 伙伴制作记录 2026-10-20完成。伙伴ID=3,电元素输出,现行技能“跃动雷光”;黄色圆身/奶油腹部、青蓝色短翼和闪电冠羽、橙色喙脚,延续火喵/芽芽的成品风格。本次交付正式角色视觉,玩法数值保持Config/Gameplay/greenfield.json现状。 ## 交付 | 项目 | 路径 | | --- | --- | | 静态伙伴 | `AIClient/Assets/Bundles/Characters/Animal/SparkBird/SparkBird.prefab` | | 动画伙伴入口 | 同目录 `SparkBird_Companion.prefab` | | 骨架中间Prefab | 同目录 `SparkBird_Rigged.prefab` | | 验收场景 | `AIClient/Assets/Bundles/Scenes/Review/Companion_SparkBird_Review.unity` | | 并排/Play截图 | `AIClient/Assets/Screenshots/companion_sparkbird_{review,play}.png` | | 正式配方 | `Config/Art/Companions/SparkBird.json` | | 来源与状态 | `Tools/output/companions/SparkBird/production_manifest.json`,status=validated | 0.45m,2000三角面/998原始顶点,1024² base/mix,Test/XPbr,每顶点最多4个归一化权重。Y-up、底面中心、局部-Z正面;外层逻辑根旋转identity/缩放1,Root Motion关闭。 ## 来源与制作 1. 内置imagegen参考proto_pet_3身份与火喵成品风格生成 `sparkbird.png`,1024×1536,白底四角RGB最小253。完整提示词、模式与参考见 `design_prompt.txt`。 2. 用户明确授权本角色设计图提交腾讯混元3D及后续模型/骨架发送项目DGXA后,混元官方网页50k生成 `Tools/output/sparkbird_3d/sparkbird.glb`(50000 tris),内嵌贴图解码通过,回执 `hunyuan_status.json`。 3. Blender5减面/UV/烘焙到2000 tris/1024 XPbr,产物 `Tools/output/sparkbird_game/sparkbird_xpbr/`。Pipeline仅导入FBX和两张PNG,Unity创建材质/Prefab,不复制离线mat/meta。 4. 同一高模通过DGXA TokenRig original模板生成自身28骨,保留 `Tools/output/sparkbird_dgx/high_rig/rigged.glb` 及source/rig哈希。rig SHA256:`0c96b8f84ee9c42ca93d726294a5eb007c62dbe1fa6b6fa1b237d8916bbe8ab8`。 5. 静态低模Y-up→Blender Z-up,底面中心/等比尺寸对齐后转权重,保留网格与UV。对齐距离max0.005798/RMS0.002192(源高约1.064);本角色未使用额外skinOverrides。绑定后对静态模最大顶点误差0.000021m。 6. 先生成并验收单Walk,再补Idle与雷电施法Attack,均使用同一28骨rig、CUDA成功;每段保留英文提示词、任务号、原始GLB/FBX、高模预览、npy、rig及FBX哈希。 7. 新增 `avian_grounded`/`wing_cast` 离线适配:保留鸟的两脚地面步态,按自身翼根/翼尖映射编辑双翼后收、上举并前挥。全骨骼参考绑定校准、贴地/循环闭合及动作语义编辑均保存为.anim,不依赖运行时反向旋转或临时动画。 骨骼映射来自本角色检查:root=bone_0、chest=bone_3、头部链bone_4/5;X正侧翼根bone_7/羽翼链8..12/翼尖12,X负侧翼根bone_14/链15..19/翼尖19;左右踝22/26,脚尖23/27。正面参考用两个不同踝骨22/26。无独立尾羽/冠羽次级骨;峰值动作已检查整体形状,不能据28骨数量推断所有附肢独立可控。 ## 动作与验收 | 动作 | 行为 | 各121帧实际蒙皮结果 | | --- | --- | --- | | Idle | 1.4秒循环,6%源变化+轻呼吸/翼部收整,首尾绑定参考 | 最大形变0.01301m;根倾角0.692°;脚底误差≤0.005mm | | Walk | 0.9秒地面短步循环,25%源变化+交替步幅与抬脚 | 左右步幅0.04259/0.04558m;根倾角2.209°;脚底误差≤0.076mm | | Attack | 1.0秒单次,10%源变化+35°前挥/25°展翼;0.45秒释放事件,恢复Idle | 最大形变0.06489m;根倾角3.446°;脚底误差≤0.034mm;内部视觉位移0.002m | 源Walk根倾角76.906°,通过全骨骼源首帧相对绑定校准处理,保留正确Armature约定。三段循环/恢复端点顶点差均为0。独立鸟型门禁扣除根骨转动后测得双翼相对身体前挥0.03432/0.03705m,均大于1cm;身体前倾本身不能代替挥翼通过此检查。 控制器Idle↔Walk、Idle/Walk进入Attack、一次Trigger仅一次施法及恢复请求状态全部通过。实际10秒Play观察到Idle/Walk/Attack,最大根倾角3.421°,逻辑根固定,完成后已退出Play。五组场景为Static/Idle/Walk/Attack/Cycle,X=80,与芽芽X=60隔开,保留已打开场景及其内容。 静态四向、Walk四相位、Idle半周期、Attack蓄力/出手/恢复四向近景已目视检查;保持鸟爪交替迈步,双翼可读,尾羽和冠羽未见明显拉扯或塌陷。近景目录 `static_audit/`、`walk_audit/`、`idle_audit/`、`attack_audit/`。 ## 调用与复现 Animator在Model节点:`Motion` Int 0=Idle、1=Walk,`Attack` Trigger触发一次施法。Attack在0.45秒发送 `OnCompanionAttackImpact`;接收器应在Animator所在节点或转发。事件仅提供视觉释放时机,真实雷电、链式选敌、伤害、特效及音效仍由技能系统接入。角色尚未替换正式关卡简模。 ```powershell python Tools/character_animation_pipeline.py --recipe Config/Art/Companions/SparkBird.json --build-review --play-check ``` 默认复用哈希验证后的本地来源,显式 `--generate` 才请求新动作。初始 `SparkBird.draft.json` 继续禁用(boneMappingReady=false),正式配方为SparkBird.json。 报告:`verification.txt`、`walk_verification.txt`、`play_verification.txt`、`walk_processing.txt`、`motion_processing.txt`、`SparkBird_Rigged.skin.json`,均位于 `Tools/output/companions/SparkBird/`。新增鸟型配方保护和原流程共5项Python测试通过;2个C#脚本编译通过,最终鸟型门禁与Edit/Play实际运行通过。当前AIClient为用户已有GUI实例,保留开启,未关闭其他Unity项目。