Add AIServer, character art pipeline, and Art package boot integration.

Bring in MaleExplorer assets/shaders, model tooling and Hunyuan updates, plus boot/YooAsset Art package support.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
udx
2026-09-21 17:06:59 +08:00
co-authored by Cursor
parent b7a0bbcb89
commit 6550b8df4b
121 changed files with 313260 additions and 113 deletions
+22 -8
View File
@@ -1,25 +1,39 @@
# 游戏服协议(M2 探测结论)
# 游戏服协议
Base: `https://game.xworld.ren`(Caddy → Kestrel)
## 生产
Base: `https://game.xworld.ren`(Caddy → 后端)
## 本地 AIServer(推荐开发)
路径:`AIServer/`(C++ + SQLite)
| Base | `http://127.0.0.1:8080` |
| WS | `ws://127.0.0.1:8080/ws?pid={pid}&token={token}` |
构建与运行见 [`AIServer/README.md`](../AIServer/README.md)。
## HTTP
| 方法 | 路径 | Body | 成功 | 失败 |
| --- | --- | --- | --- | --- |
| POST | `/register` | `{"username","password"}` | `{token,pid}` | `invalid_input` 等 |
| POST | `/register` | `{"username","password"}` | `{token,pid}` | `invalid_input` / `user_exists` |
| POST | `/login` | `{"username","password"}` | `{token,pid}` | `invalid_credentials` |
| GET | `/health` | — | `{ok,service}` | — |
## WebSocket
```
wss://game.xworld.ren/ws?pid={pid}&token={token}
/ws?pid={pid}&token={token}
```
- 无 token → HTTP 401(握手阶段拒绝)
- 连通后服务端可不主动推消息;客户端可用 WebSocket 协议层 KeepAlive
- 应用层可发 `{"op":"hello",...}`(当前服可无应答)
- 无 token / token 无效 → HTTP 401
- 应用层:`{"op":"hello"}` → `{"op":"hello_ack","ok":true}`;`{"op":"ping"}` → `{"op":"pong"}`
- 协议层 Ping/Pong 由服务端应答
## 客户端
- `HotUpdate.Net.AuthApi` / `GameNet` / `WsClient`
- 编辑器自动 `guest_{deviceId}` 账号(PlayerPrefs 持久化 deviceId)
- Boot:`HttpBase` + `WsUrlTemplate`
- 菜单:**AIGame/Boot/Server/Local AIServer :8080** 或 Production
- 编辑器自动 `guest_{deviceId}` 账号
+9
View File
@@ -2,5 +2,14 @@
3D 模型及相关烘焙贴图。每条包含:路径、简要说明。
约定:游戏用角色放在 `AIClient/Assets/Bundles/Characters/{ActorName}/`(YooAsset Art / `PackDirectory`)。
| 资源路径 | 简要说明 |
| --- | --- |
| `AIClient/Assets/Bundles/Characters/MaleExplorer/` | 角色 MaleExplorer 目录(寻址 Prefab=`MaleExplorer`) |
| `…/MaleExplorer.fbx` | 混元高模减面低模(约 5k tris) |
| `…/MaleExplorer_*.png` | color / normal / ao / metallic / roughness 烘焙贴图 |
| `…/concept.png` | 图生3D 概念参考图 |
| `…/MaleExplorer.prefab` | 运行时加载 Prefab(菜单 `AIGame/M3/Setup Character…` 生成) |
| `Tools/output/male_explorer_3d/male_explorer.glb` | 混元高模中间件(不进 Bundle) |
| `Tools/output/male_explorer_game/` | 减面/烘焙中间输出(不进 Bundle) |
+2
View File
@@ -11,6 +11,8 @@
| `AIClient/Assets/Bundles/UI/Font/siyuan_CN_Bold SDF.asset` | TMP 动态 SDF 字体资源;JSON→Prefab 默认使用;菜单 `Tools/UI/Ensure SiYuan TMP Font Asset` |
| `Tools/output/male_explorer_test.png` | 男性探险者角色试做;项目文生图脚本 |
| `Tools/output/male_explorer_cursor.png` | 男性探险者对照;Cursor GenerateImage |
| `AIClient/Assets/Bundles/Characters/MaleExplorer/concept.png` | MaleExplorer 概念图(进角色目录) |
| `AIClient/Assets/Bundles/Characters/MaleExplorer/MaleExplorer_*.png` | 低模烘焙贴图(color/normal/ao/metallic/roughness) |
| `Doc/ui_design.jpg` | UI 视觉基准图;糖果休闲风控件参考(`Doc/Design/ui_design.jpg` 为同内容副本) |
| `Doc/UI_AutoGen_Overview.md` | UI 自动生成方案总览(JSON→Prefab + 图集) |
| `Doc/UIPrefabCreater/UI_ConfirmDialog.json` | 竖屏确认弹窗样例 JSON;对应 Prefab 路径 `Assets/Bundles/UI/Prefab/UI_ConfirmDialog.prefab` |