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:
udx
2026-10-21 12:23:55 +08:00
co-authored by Claude Opus 5.5
parent 6c64210331
commit 89e0fa246f
780 changed files with 7117051 additions and 15906 deletions
@@ -0,0 +1,55 @@
# 闪闪雀 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项目。
@@ -0,0 +1,13 @@
Use case: stylized-concept.
Asset type: one production character concept for image-to-3D, SparkBird (闪闪雀), T1 electric-element damage companion for the same polished cute fantasy mobile game.
Input images: Image 1 proto_pet_3 is the identity reference, preserving a rounded yellow sparrow-like bird, cyan blue wings and crest, orange beak and feet. Image 2 FireCat is ONLY the established polished 3D art style, scale language and eye rendering reference. Create a bird, not a cat.
Primary request: a charming small upright bipedal electric sparrow creature with a large rounded head and compact pear-shaped sunny yellow body, cream pale-yellow belly, glossy expressive dark amber eyes with readable whites, tiny friendly orange beak, two solid rounded cyan blue feather wings held slightly away from the body, a short solid cyan crest with a subtle lightning-zigzag silhouette, a small compact cyan tail, two short clearly separated orange legs with broad three-toed bird feet. Cheerful energetic expression, simple T1 form. Both wings and both feet clearly visible, clear shoulder and ankle separation suitable for rigging. Wings are compact feather paddles with only two or three broad sculpted feather lobes, not hands; no fingers.
Style/medium: high quality stylized 3D studio character render matching FireCat, gently textured soft feather surfaces, clean solid rounded volumes, a few readable broad feather details, collectible companion appeal.
Composition: one character only, centered full body, front-biased very slight three-quarter view, upright neutral standing pose with both feet grounded, wings slightly spread down and away from torso to leave small visible gaps. Full crest and tail in frame with comfortable 12% white margins. Portrait 2:3 framing.
Lighting: soft neutral studio lighting, pure solid white RGB255 background including all four corners, minimal soft contact shadow under feet.
Constraints: suitable for a clean 2000 triangle game mesh; thick connected solid feathers and crest, compact tail, no floating electricity, particles, detached ornaments or translucent effects. No clothes, jewelry, weapons, scenery, text, labels, multiple views, border or watermark. No cat ears, paws or fur. Do not turn it into a duck or penguin. No long flight wings and no hovering.
Mode: built-in image_gen, new concept with two reference images.
Identity reference: AIClient/Assets/Bundles/UI/Texture/Prototype/proto_pet_3.png
Style reference: Doc/Design/Character/FireCat/firecat.png
Output: Doc/Design/Character/SparkBird/sparkbird.png (1024x1536).
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB