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:
@@ -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 |
Reference in New Issue
Block a user