Files
udxandClaude Opus 5.5 89e0fa246f Add formal enemies, remaining formal partners and synthesized UI SFX
- 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>
2026-10-21 12:23:55 +08:00

7.4 KiB
Raw Permalink Blame History

岩甲犀 RockRhino · T1 伙伴制作记录

2026-10-21完成。伙伴ID=5,前排控制,主动技能“碎岩震荡”(kind=slow)。蓝灰身体、青色岩甲、象牙独角与四足体态沿用原型身份,风格与现有正式伙伴一致。交付角色视觉;Config/Gameplay/greenfield.json玩法数值未修改。

交付

项目 路径
静态伙伴 AIClient/Assets/Bundles/Characters/Animal/RockRhino/RockRhino.prefab
动画伙伴入口 同目录 RockRhino_Companion.prefab
骨架中间Prefab 同目录 RockRhino_Rigged.prefab
独立验收场景 AIClient/Assets/Bundles/Scenes/Review/Companion_RockRhino_Review.unity
并排/Play截图 AIClient/Assets/Screenshots/companion_rockrhino_{review,play}.png
正式配方 Config/Art/Companions/RockRhino.json
来源与验收状态 Tools/output/companions/RockRhino/production_manifest.json,status=validated

0.55m、2000三角面/990原始顶点,1024² base/mix、Test/XPbr;每顶点最多4个归一化权重。Unity Y-up、底面中心、局部-Z为正面。外层逻辑根单位缩放/旋转identity,关闭Root Motion;未通过运行时补转、改骨或临时造动画修正朝向。

来源与朝向

内置image_gen参考 AIClient/Assets/Bundles/UI/Texture/Prototype/proto_pet_5.png 的角色身份及 Doc/Design/Character/FireCat/firecat.png 的风格生成 rockrhino.png,1536×1024,白底四角RGB最小251。完整最终提示词、生成模式与参考保存在design_prompt.txt;设计原稿留在Doc,不进Bundles。

用户明确授权本角色设计图提交腾讯混元3D(3d.hunyuan.tencent.com),以及后续模型/骨架发送项目内网DGXA(192.168.132.46)完成绑骨和三动作。官方网页50k任务 4d627ad034af4ca18079d3dbfd188718 得到 Tools/output/rockrhino_3d/rockrhino.glb,实测49992 tris,内嵌贴图解码通过。

首版静态模在Unity正面显示朝向偏侧,保留 static_audit_initial 为诊断。原高模离线绕Blender Z +70°并重置底面中心,得到 rockrhino_forward.glb,再统一减面烘焙和绑骨;此次角度来自本角色检查,不沿用泡泡龟参数。最终Unity前/侧/背视图确认鼻角和头朝-Z、前后脚方向正确。刚性校准保留源形状和UV,无运行时补转。

正式烘焙目录 Tools/output/rockrhino_game_forward/rockrhino_forward_xpbr/。Blender5减面/UV/烘焙到2000 tris/1024贴图;Pipeline只导入FBX与两张PNG,在Unity创建XPbr材质和Prefab。初始侧向烘焙仅作诊断。

同源骨架与蒙皮

同角色forward高模经DGXA TokenRig original生成自身29骨。骨架 Tools/output/rockrhino_dgx/high_rig/rigged.glb,来源回执rig_request.json。rig SHA256:26e215886fb538baa3b58bbb511b8d21bd3ce00ef4ddf316d7d8c5d210f86ca0。三段UniMate源动作均在该rig上新生成、CUDA成功,回执保留英文提示词/任务号/rig与FBX哈希;先通过单Walk门禁及五相位目视,再生成Idle/Attack。

自身映射:root0、chest1、neck2、head3、嘴部链4、耳链5..8;前右下腿/蹄尖11/12、前左15/16、后右19/20、后左27/28,尾链21..24。编号只属于本角色,禁止套用其它伙伴。Armature导出轴约定与三动作保持一致,不单独清零。

低模Y-up→Blender Z-up,对齐底面中心/等比尺寸后转权重,保留网格与UV。表面距离最大0.005907/RMS0.002024(源高约0.738),绑定后对照静态模最大顶点误差0.000041m。

按本角色网格检查设置离线skinRegions:岩甲/胸背区影响231个源顶点、200个全权重至chest1;头角区379个、341个全权重至head3;四蹄分别影响77/87/82/82个源顶点。每区保留渐变与范围报告,不改几何。耳部随头部整体运动;本版未制作独立耳部次级动作。

skinRegions采用原静态FBX坐标/高度,其Z与Unity相反;armorRegion与hornRegion采用Unity归一化坐标供独立QA。刚性验收覆盖350个岩甲区/73个头角区Unity顶点,扣除对应骨骼刚性变换后误差在报告精度为0,门槛均1mm。四脚实际采样127/146/129/124个蒙皮顶点。

三动作与验收

动作 成品行为 各121帧实际蒙皮结果
Idle 2.0秒循环,4%源变化与轻微头部呼吸 最大形变0.00724m,身体倾角0.818°,四脚支撑
Walk 1.4秒原地循环,12%源变化与四拍短步,20%摆动窗口 四脚步幅0.05979/0.05962/0.05976/0.05963m,抬脚0.01468/0.01531/0.01596/0.01599m,至少三脚支撑,身体倾角1.125°
Attack 1.2秒单次,4%源变化与头肩后收→低头短冲→恢复 最大形变0.09503m,头前送0.04145m/回收0.01373m,肩前送0.02507m,头转角11.208°,角区相对头枢轴降低0.03277m,身体倾角2.845°,四脚支撑

Attack初版保留8%源变化时一只后蹄离地0.00408m,未通过四脚撑地门槛。将该角色attackSourceWeight调为4%后,最大后蹄离地降至0.00177m,其余蹄≤0.00098m;低头/肩部前送仍通过。未放宽3mm撑地门槛,也未重新标记旧动作来源。

三段首尾顶点差均0、逻辑根XZ漂移0。Walk实际整体脚底范围[-0.000045,0.000164]m,Idle/Attack约±0.001mm;岩甲和独角保持刚性。静态四向、Walk五相位、Idle中段、Attack蓄力/命中/恢复四向近景均已检查,未见明显拉伸或穿模。

控制器验证Idle↔Walk、两者进入Attack、单次Trigger只攻击一次、结束返回所请求状态及过渡贴地通过。实际10秒Play观察到Idle/Walk/Attack,最大身体倾角2.826°、外层根固定,完成后退出Play。独立X=120场景包含Static/Idle/Walk/Attack/Cycle五组,Pipeline Additive创建,保留已有场景。

完整标准入口已用最终配方执行成功,清单status=validated。现场Editor导入后曾出现脚本调度超时;流程脚本现在为run_script显式设置服务器90秒/CLI120秒窗口,不在未知执行结果上自动重试写入。QA在失败时另存last_failure.txt用于诊断;该文件保留修正前失败历史,当前结果以verification.txt与validated清单为准。

调用与复现

Animator在Model节点:Motion Int 0=Idle、1=Walk;Attack Trigger触发一次头肩冲撞。Attack在0.6秒发送OnCompanionAttackImpact,事件接收器需位于Animator节点或转发。

当前交付为可调用的角色视觉资产。真实冲锋/目标选择、减速结算、震荡特效、音效及关卡简模替换仍由技能系统接入,不表示本次已完成。

python Tools/character_animation_pipeline.py --recipe Config/Art/Companions/RockRhino.json --build-review --play-check

quadruped_heavy/braced_bash为本次已验证解剖分支,复用四足步态基础,独立检查胸背/头颈/四蹄和岩甲/独角刚性、肩部前送与可见低头。其它四足仍需检查自身映射与完整验收。初始RockRhino.draft.json继续boneMappingReady=false,仅作禁用历史草稿。

报告位于Tools/output/companions/RockRhino:production_manifest.json、verification.txt、walk_verification.txt、play_verification.txt、walk_processing.txt、motion_processing.txt、RockRhino_Rigged.skin.json;近景为static_audit、walk_audit、idle_audit、attack_audit。资源分别登记Picture/Model/Animation/Config,并将静态及伙伴追加总验收manifest,仅ValidateOnly、不重建总场景。