Files
planet/unreal/README.md
2026-03-05 11:46:58 +08:00

6.5 KiB
Raw Permalink Blame History

UE5 智能星球可视化项目 - 完整文档索引

项目概览

本项目为"智能星球计划"的 UE5 3D 可视化大屏客户端,用于展示全球态势感知数据。

目录结构

unreal/
├── Config/
│   └── PlanetConfig.ini              # Cesium ion 配置
├── Content/
│   ├── Blueprints/                   # 蓝图规格文档
│   │   ├── BP_GlobeController_Spec.md
│   │   ├── BP_DataPoint_Spec.md
│   │   ├── BP_Supercomputer_Spec.md
│   │   ├── BP_SubmarineCable_Spec.md
│   │   └── BP_DataFlow_Spec.md
│   ├── Materials/
│   │   └── Materials_Spec.md         # 材质规格文档
│   ├── Particles/
│   │   └── Niagara_Spec.md           # Niagara 粒子规格文档
│   ├── Levels/
│   │   └── Scene_Setup_Guide.md      # 场景搭建指南
│   ├── UI/
│   └── Widgets/
├── QUICK_START.md                    # 快速启动指南
└── setup.sh                         # 设置脚本

文档列表

1. 蓝图规格文档

文档 蓝图名称 用途
BP_GlobeController_Spec.md BP_GlobeController 地球控制器,管理 Cesium
BP_DataPoint_Spec.md BP_DataPoint 数据点基类
BP_Supercomputer_Spec.md BP_Supercomputer TOP500 超算标记
BP_SubmarineCable_Spec.md BP_SubmarineCable 海底光缆可视化
BP_DataFlow_Spec.md BP_DataFlow 数据流向粒子

2. 材质和粒子

文档 内容
Materials_Spec.md 所有材质参数和网络结构
Niagara_Spec.md 所有粒子系统配置

3. 场景搭建

文档 内容
Scene_Setup_Guide.md 完整场景搭建步骤
QUICK_START.md 快速启动指南

快速开始

1. 环境准备

# 确保后端服务运行
cd /home/ray/dev/linkong/planet
docker restart planet_backend_new

2. 启动 UE5

1. 打开 D:\games\Planet\unreal\Planet.uproject
2. 安装 Cesium for Unreal 插件
3. 配置 Cesium ion Token
4. 打开 Main.umap 场景

3. 创建蓝图

按照蓝图规格文档创建蓝图类:

Content/Blueprints/
├── BP_GlobeController.uasset      # 地球控制器
├── BP_DataPoint.uasset           # 数据点基类
├── BP_Supercomputer.uasset       # 超算标记 (继承自 BP_DataPoint)
├── BP_SubmarineCable.uasset      # 海缆可视化
└── BP_DataFlow.uasset           # 数据流向粒子

4. 配置材质

按照材质规格文档创建材质:

Content/Materials/
├── M_Globe.uasset                # 地球材质
├── M_DataPoint.uasset            # 数据点材质
├── M_Supercomputer.uasset        # 超算材质
├── M_Cable.uasset               # 海缆材质
├── M_DataFlow.uasset            # 数据流材质
└── M_Particle.uasset            # 粒子材质

5. 配置粒子系统

按照 Niagara 规格文档创建粒子:

Content/Particles/
├── NS_DataPoint_Glow.uasset     # 数据点光环
├── NS_Supercomputer_Glow.uasset # 超算光环
├── NS_DataFlow_Directional.uasset # 流向粒子
├── NS_Alarm_Flash.uasset       # 告警闪烁
└── NS_Ambient_Ambience.uasset  # 环境粒子

数据源支持

数据源 类型 蓝图 颜色
TOP500 超算 BP_Supercomputer 🔴 红色
Epoch AI GPU 集群 BP_DataPoint 🟠 橙色
HuggingFace 模型部署 BP_DataPoint 🔵 蓝色
PeeringDB IXP 交换中心 BP_DataPoint 🩵 青色
PeeringDB Network 网络 BP_DataPoint 🟣 紫色
TeleGeography 海缆 BP_SubmarineCable 🟡 黄色

后端 API

HTTP API

端点 方法 说明
/api/v1/collected/summary GET 获取数据统计
/api/v1/collected?source=top500 GET 获取 TOP500 数据
/api/v1/collected?source=telegeography_cables GET 获取海缆数据
/api/v1/collected/export/json GET 导出 JSON
/api/v1/collected/export/csv GET 导出 CSV

WebSocket

端点 说明
ws://localhost:8000/ws 实时数据推送

消息格式

更新消息:

{
  "type": "update",
  "data": {
    "source": "top500",
    "action": "add/update/remove",
    "payload": {
      "id": "top500_1",
      "name": "Frontier",
      "location": {
        "latitude": 33.7756,
        "longitude": -84.3962
      },
      "performance": 1682.65
    }
  }
}

告警消息:

{
  "type": "alarm",
  "data": {
    "severity": "high",
    "message": "数据采集失败",
    "source": "peeringdb_ixp"
  }
}

性能优化

渲染设置

├─ 分辨率: 4K (3840×2160)
├─ FPS 目标: 60
├─ 光照质量: 高
├─ 阴影质量: 高
└─ 后处理: 中

LOD 设置

├─ 数据点:
│   ├─ LOD0: < 10000 cm
│   ├─ LOD1: < 50000 cm
│   └─ LOD2: > 50000 cm (禁用粒子)
│
├─ 海缆:
│   ├─ LOD0: < 10000 cm
│   ├─ LOD1: < 50000 cm (简化网格)
│   └─ LOD2: > 50000 cm (禁用)
│
└─ 粒子:
    ├─ Max Particles: 1000
    ├─ Cull Distance: 50000 cm
    └─ GPU Simulation: true

常见问题

Q1: Cesium 地形不显示

检查:

  1. Cesium ion Token 是否正确配置
  2. 网络连接是否正常
  3. Cesium 插件是否启用

Q2: WebSocket 连接失败

检查:

  1. 后端服务是否运行
  2. CORS 配置是否正确
  3. URL 格式是否正确

Q3: 性能不足

优化:

  1. 降低分辨率
  2. 减少粒子数量
  3. 禁用不必要的特效
  4. 使用 LOD

下一步

  1. 完善蓝图 - 按照规格文档创建所有蓝图
  2. 添加 UI - 创建 W_MainHUD、W_DataInfo 等界面
  3. 测试数据 - 验证所有数据源正常显示
  4. 优化性能 - 根据实际运行调整参数
  5. 打包发布 - 生成可执行文件

参考资源