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:
+22
-8
@@ -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}` 账号
|
||||
|
||||
@@ -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) |
|
||||
|
||||
@@ -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` |
|
||||
|
||||
Reference in New Issue
Block a user