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>
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
# 烈焰狮 FlameLion · T1 伙伴制作记录
|
||||
|
||||
2026-10-21完成。伙伴ID=6,火元素输出,主动技能“燎原烈焰”(kind=burst,T1/T2为2/3目标)。保留原型双足比例与金橙身体、赤橙鬃毛身份,风格与现有正式伙伴一致。本次交付角色视觉,未修改Config/Gameplay/greenfield.json玩法数值。
|
||||
|
||||
## 交付
|
||||
|
||||
| 项目 | 路径 |
|
||||
| --- | --- |
|
||||
| 静态伙伴 | `AIClient/Assets/Bundles/Characters/Animal/FlameLion/FlameLion.prefab` |
|
||||
| 动画伙伴入口 | 同目录 `FlameLion_Companion.prefab` |
|
||||
| 骨架中间Prefab | 同目录 `FlameLion_Rigged.prefab` |
|
||||
| 独立验收场景 | `AIClient/Assets/Bundles/Scenes/Review/Companion_FlameLion_Review.unity` |
|
||||
| 并排/Play截图 | `AIClient/Assets/Screenshots/companion_flamelion_{review,play}.png` |
|
||||
| 正式配方 | `Config/Art/Companions/FlameLion.json` |
|
||||
| 来源与状态 | `Tools/output/companions/FlameLion/production_manifest.json`,status=validated |
|
||||
|
||||
0.60m、2000三角面/992原始顶点,1024² base/mix、Test/XPbr;每顶点最多4个归一化权重。Unity Y-up、底面中心、局部-Z正面;逻辑根旋转identity/单位缩放,Root Motion关闭。没有运行时补转或临时改骨。
|
||||
|
||||
## 来源与静态验收
|
||||
|
||||
内置image_gen参考 `AIClient/Assets/Bundles/UI/Texture/Prototype/proto_pet_6.png` 身份/双足比例和 `Doc/Design/Character/FireCat/firecat.png` 风格生成flamelion.png,1024×1536,白底四角RGB最小253;提示词、参考和内置生成模式完整保存于design_prompt.txt。图像SHA256为caec79d3578de66e37861d89dbff1e7b7ee068ab8fd4fd925efaedd777897123。鬃毛与尾簇是实体毛发,无预烘焙喷火或粒子。
|
||||
|
||||
用户已明确允许本角色设计图提交腾讯混元3D及模型/骨架发送项目DGXA。官方网页50k任务62a709af10ca42818aa72b6c092402a4得到Tools/output/flamelion_3d/flamelion.glb,实测50000tris、内嵌贴图解码通过。
|
||||
|
||||
Blender5减面/UV/烘焙到Tools/output/flamelion_game/flamelion_xpbr。通过Pipeline导入FBX与两张PNG,在Unity创建XPbr与静态Prefab;离线mat/meta不导入。实测静态高0.599976m、底面-0.000001m,正/侧/背/透视图确认-Z与形状,未额外旋转高模。
|
||||
|
||||
## 同角色骨架与权重
|
||||
|
||||
首轮DGXA CUDA上下文显存错误后,外部后端回退本机,得到异常33骨长链;该骨架已拒收,保留local_invalid_rigged.glb/回执和bind_probe.txt诊断,不接动作。明确远程重试仍遇显存错误,最小CUDA分配恢复成功且容器无残留任务后再次重试成功;全程未停止其它模型服务。
|
||||
|
||||
正式骨架为DGXA TokenRig original自身28骨,Tools/output/flamelion_dgx/high_rig/rigged.glb,回执backend=remote。rig SHA256:e3bdf093d484a2f87d2385b6be372f55594fb8eac7869362e87a43547e61cc96;三段UniMate源动作全部在该rig上新生成,CUDA成功,rig/FBX哈希及导入后骨路径一致性通过。先单Walk数值与四相位目视,再生成Idle/Attack。
|
||||
|
||||
自身映射:root0、chest3、neck4、head5;双臂7/14,双爪参考10/17;双脚22/26、脚尖23/27。编号只属于本角色。该骨架没有独立下颌或尾骨,本版无张嘴口型或独立尾部次级摆动;火焰释放由头部/双爪施法动作与事件表达。
|
||||
|
||||
低模Y-up→Blender Z-up,对齐底面中心/等比尺寸后转权重,保留原网格和UV。表面距离最大0.012422/RMS0.004445,源高约1.056;最终绑定对照静态模最大顶点误差0.000030m。Armature轴约定保持同源一致,不单独清零。
|
||||
|
||||
头鬃宽空间区域影响747个源顶点,其中681个全权重到head5;双脚区域影响44/47个源顶点。随后用更精细的尾部测地距离覆盖58个源顶点到髋骨root0,避免尾簇被头部宽区域或前臂带动。蒙皮工具现明确先空间区域、后测地覆盖的优先级;既有伙伴此前没有同时使用两类覆盖,原单类行为不变。报告保留每区范围和影响数。
|
||||
|
||||
skinRegions/skinOverrides使用原静态FBX坐标/高度,Z与Unity相反;maneRegion使用Unity归一化坐标供独立QA。刚性检查覆盖992个头鬃区Unity顶点,扣除头骨刚性变换后误差在报告精度0,门槛1mm;两脚实际采样80/55个顶点。
|
||||
|
||||
## 三动作与验收
|
||||
|
||||
| 动作 | 成品行为 | 各121帧实际蒙皮结果 |
|
||||
| --- | --- | --- |
|
||||
| Idle | 1.8秒循环,8%源变化+轻呼吸,双脚固定 | 最大形变0.02203m,身体倾角2.387°,两脚支撑 |
|
||||
| Walk | 1.2秒循环,12%源变化+离线交替短步 | 实际步幅0.04866/0.06737m,抬脚0.01789/0.01191m,至少一脚支撑;身体倾角3.514° |
|
||||
| Attack | 1.2秒单次,8%源变化+后收蓄力/双爪展开前送与头部释放/恢复 | 最大形变0.12594m,头部相对胸背前送0.01624m/抬头6.654°;双爪相对胸背前送0.06257/0.05974m、外展0.02023/0.01817m;两脚支撑,身体倾角1.584° |
|
||||
|
||||
原始Walk首帧根倾角34.142°,离线对所有骨骼校准至自身绑定姿态,保留相对源变化。最初保留25%源变化时左脚实际抬起6.71mm未通过门槛,降至12%后达11.91mm;不放宽实际网格门槛,也不只检查骨点。
|
||||
|
||||
三段首尾顶点差均为0、逻辑根XZ漂移0。Walk整体底面[-0.000109,0.000117]m,Idle/Attack约0~0.000001m;待机与施法两脚持续撑地,最大另一脚离地0.18mm。头部前送、双爪前送/外展扣除胸背转动后检查,不能由身体前倾冒充施法。
|
||||
|
||||
控制器Idle↔Walk、两状态进入Attack、单次Trigger只攻击一次、恢复请求状态及过渡贴地通过。实际10秒Play观察到三状态,最大根/身体倾角3.504°,逻辑根固定;结束已回编辑模式。静态四向、Walk四相位、Idle中段、Attack蓄力/释放/恢复四向近景均已核对,鬃毛与尾簇未见明显拉扯。
|
||||
|
||||
X=140独立Additive场景包含Static/Idle/Walk/Attack/Cycle五组。制作期间检测到其它敌人场景占用Play时先停止制作入口;用户明确允许退出后继续,保留其它场景。并排截图发现旧Attack姿势缓存,Capture现从正式Prefab在隔离PreviewScene建立新实例并采样,截图显示正确施法峰值,原场景与轮播不被暂停/改写。
|
||||
|
||||
## 调用与复现
|
||||
|
||||
Animator在Model节点:Motion Int 0=Idle、1=Walk;Attack Trigger触发一次火焰施法。Attack在0.6秒发送OnCompanionAttackImpact;接收器需位于Animator节点或转发。真实扇形火焰特效、音效、双/三目标伤害、灼烧表现与关卡简模替换仍由技能系统接入。
|
||||
|
||||
```powershell
|
||||
python Tools/character_animation_pipeline.py --recipe Config/Art/Companions/FlameLion.json --build-review --play-check
|
||||
# 需要重新绑骨时明确远程,禁止复用本机诊断
|
||||
python Tools/rig_character_source.py --source Tools/output/flamelion_3d/flamelion.glb --out Tools/output/flamelion_dgx/high_rig --generate --backend remote
|
||||
```
|
||||
|
||||
完整标准入口及最终隔离截图方法均已执行通过。8项Python流程保护测试、制作/QA/截图C#实际编译执行、火喵只读回归通过。初始FlameLion.draft.json仍boneMappingReady=false,仅为禁用历史草稿。
|
||||
|
||||
报告位于Tools/output/companions/FlameLion:production_manifest.json、verification.txt、walk_verification.txt、play_verification.txt、walk_processing.txt、motion_processing.txt、FlameLion_Rigged.skin.json;last_failure.txt保留已修正的25%Walk抬脚诊断,最终状态以validated清单与verification为准。资源登记Picture/Model/Animation/Config,总清单追加静态与伙伴两项,仅ValidateOnly,不重建总场景。
|
||||
Reference in New Issue
Block a user