Add rank, friends, fishing, and camp treasure with T2 studio models and skill presentation.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
udx
2026-10-21 23:01:31 +08:00
co-authored by Cursor
parent 89e0fa246f
commit 079313fb06
677 changed files with 395371 additions and 9692 deletions
@@ -0,0 +1,41 @@
# 岩团团:Studio 低模/UV 与原动作复用试验
2026-10-21,状态 validated。用户要求岩团团严格走混元 3D 生成高模后的第 2~5 步,再在 Blender 绑回原骨骼复用原动作。原始 `Tools/output/rockball_3d/rockball.glb` 上传腾讯混元 3D Studio(用户授权)。交付独立试验版 `RockBallStudio`,正式战场仍使用原 RockBall,未替换;没有调用 TokenRig/UniMate,也没有修改原动作。
| 阶段 | 实际执行与产物 |
| --- | --- |
| 原始高模 | `rockball.glb`(原 TokenRig 骨架与原静态模的同一来源),原文件保留 |
| 02 Studio 低模生成 | 官网低模拓扑:6946 三角面。`hunyuan_studio.json`/`studio_lowPolyTopologyRsp.json` |
| 03 Studio UV 展开 | 上一步 FBX 继续展开,输出带 UV 的 GLB/FBX/OBJ 与 UV 图。`studio_uvUnwrappingRsp.json` |
| 烘焙前对齐 | Studio 网格被居中归一化;`bl_align_studio_uv.py` 等比缩放 1.018444、底面中心对齐到原高模,UV 哈希前后一致 |
| 04 Blender 贴图烘焙 | 对 Studio UV 网格 selected-to-active 烘焙 1024² diffuse/normal/AO/metallic/roughness,不重新展 UV |
| 05 超目标 30% 保留 UV 减面 | 6946 > 2000×1.3,触发 Collapse 到 2000 面,UV 层保留(uv_mode=preserved_no_unwrap) |
| 项目格式 | Y-up、底面中心、-Z 正面 FBX;五通道打包 1024² XPbr |
| 绑回原骨骼 | `bl_transfer_skin.py` 从原 `rockball_dgx/high_rig/rigged.glb` 复制原 12 骨并转权重,骨路径与绑定局部 TRS 逐项核对;绑定对照静态模最大顶点差 0.032 mm |
| 复用动作 | Animator 直接引用原 Avatar 与 `RockBall_Animator.controller`,播放原 `Clips/Idle/Walk/Attack.anim` |
| 脚底修正 | 导出 306 个脚底顶点 × 363 帧原动作约束;没有顶点穿地超过 3 mm,未做任何局部修改 |
## 验收
| 动作(121 帧实际蒙皮) | 脚底范围 | 其他 |
| --- | --- | --- |
| Idle | -0.41~0.20 mm | 首尾差 0.000 mm,倾角 0.0° |
| Walk | -1.72~0.78 mm | 首尾差 0.000 mm,倾角 0.3° |
| Attack | -2.57~1.33 mm | 首尾差 0.000 mm,倾角 14.1° |
实际 Play 观察到 Idle/Walk/Attack 三状态,最大根骨倾角 13.71°,外层根固定。原 Prefab、控制器、三段动作与 rig 的 SHA256 在流程前后一致(`trial.json` originals)。
对比图 `AIClient/Assets/Screenshots/rockball_studio_comparison.png`(上排原版,下排 Studio 版:Static/Idle/Walk/Attack),两版外观与动作姿态一致。最终同为 2000 面;Studio 6946 面拓扑在减面后的布线优势需要结合近景再判断。
## 交付与复现
- 试验目录 `AIClient/Assets/Bundles/Characters/Animal/RockBallStudio/`:`RockBallStudio.prefab`(静态)、`RockBallStudio_Companion.prefab`(动画)、`RockBallStudio.fbx`、`Rigged/RockBallStudio_Rigged.fbx`、`.mat`、`_base.png`/`_mix.png`。
- 验收场景 `AIClient/Assets/Bundles/Scenes/Review/Studio_RockBall_Review.unity`(X=320,第 27 层),制作后关闭。
- 中间件与回执 `Tools/output/studio_trial/RockBall/`(trial.json、unity_verification.json、play_verification.json、sole_fit.json、foot_constraints.json)。
```powershell
D:/UD/AI/XModel/LLM3DGraphics/.venv/Scripts/python.exe Tools/studio_lowpoly_trial.py --actor RockBall --kind Animal --source Tools/output/rockball_3d/rockball.glb --rig Tools/output/rockball_dgx/high_rig/rigged.glb --prefab RockBall_Rigged.prefab
python Tools/studio_lowpoly_finish.py --actor RockBall --height 0.55 --play-check
```
`studio_lowpoly_trial.py`/`studio_lowpoly_finish.py`/`AgentScripts/StudioTrial.cs` 由大角首领试验泛化:角色、类型、原 Prefab、身高作为参数,骨数从原 Prefab 读取,脚底约束改用每个顶点自身四个骨骼权重;`bl_prepare_studio_trial.py`/`bl_fit_studio_soles.py` 增加可选角色名参数,大角首领原调用方式不变。
@@ -0,0 +1,27 @@
{
"id": "T2",
"name": "RockBall T2 accessory",
"role": "T2 evolution head accessory",
"jobId": "add8b48e49ad4f1784d82cdce4294e98",
"status": "completed",
"error": null,
"model": "Qwen/Qwen-Image-2.1-Turbo (LAN LLM3DGraphics local-images)",
"profile": "concept",
"size": [
1024,
1024
],
"seedStart": 100001,
"references": [
"Doc/Design/Character/RockBall/rockball.png",
"Doc/Design/Character/FireCat/firecat.png"
],
"prompt": "Image 1 shows the companion creature that will wear this accessory: use it ONLY for its palette and element theme, do NOT draw the creature. Image 2 is STYLE ONLY: match its friendly polished chibi 3D mobile-game render and clean rounded readable shapes. Draw exactly ONE small evolution accessory object ALONE, as a game asset for image-to-3D: a chunky solid head-top piece with a flat or gently curved base that would sit on top of a round creature head, compact and roughly as wide as it is tall. Every part is one continuous attached solid piece: no floating gems, no separate sparks, droplets, petals or particles, no thin wires, no chains, no strings. Centered, front three-quarter view from slightly above, whole object in frame with generous margin. Pure solid white #FFFFFF background to all corners, soft studio light, tiny contact shadow. Simple smooth stylized surfaces suitable for a 400-triangle model with a 512 texture. No creature, no head, no body, no text, no watermark, no UI, no stand, no scenery. A rock-element evolution crown: a ring of three chunky faceted cyan crystals rising from a rounded grey stone base, the middle crystal tallest.",
"drafts": [
"Doc/Design/Character/RockBall/T2/drafts/T2_100001.png",
"Doc/Design/Character/RockBall/T2/drafts/T2_100002.png",
"Doc/Design/Character/RockBall/T2/drafts/T2_100003.png",
"Doc/Design/Character/RockBall/T2/drafts/T2_100004.png"
],
"generatedUtc": "2026-10-21T05:03:27Z"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB