first commit

This commit is contained in:
rayd1o
2026-03-05 11:46:58 +08:00
commit e7033775d8
20657 changed files with 1988940 additions and 0 deletions

View File

@@ -0,0 +1,278 @@
# BP_Supercomputer TOP500 超算蓝图详细规格
## 蓝图信息
| 属性 | 值 |
|------|-----|
| 蓝图类型 | Actor (BP_DataPoint 子类) |
| 父类 | `BP_DataPoint` |
| 路径 | `Content/Blueprints/BP_Supercomputer.uasset` |
## 组件列表
```
BP_Supercomputer (继承自 BP_DataPoint)
├── [继承] SceneRoot
│ ├── [继承] StaticMesh (球体)
│ │ └── Material: M_Supercomputer (红色自发光)
│ ├── [继承] NiagaraComponent (光环粒子)
│ │ └── NS_Supercomputer_Glow (红色光环)
│ ├── [继承] WidgetComponent (标签)
│ │ └── User Widget: W_SupercomputerLabel
│ ├── [新增] RingMesh (圆环网格)
│ │ └── Material: M_Ring_Pulse (脉冲圆环)
│ └── [新增] PerformanceText3D (3D 性能文字)
│ └── Font: Default
```
## 变量列表 (新增)
| 变量名 | 类型 | 默认值 | 说明 |
|--------|------|--------|------|
| `Rmax` | Float | `1682.65` | Rmax 值 (TFLOPS) |
| `Rpeak` | Float | `2000.0` | Rpeak 值 (TFLOPS) |
| `CoreCount` | Integer | `0` | CPU 核心数 |
| `NodeCount` | Integer | `0` | 节点数 |
| `Interconnect` | String | `"InfiniBand"` | 互联网络 |
| `OperatingSystem` | String | `"Linux"` | 操作系统 |
| `Vendor` | String | `"HPE"` | 厂商 |
| `Model` | String | `"Expresso"` | 型号 |
## 函数覆盖 (Override)
### UpdateLabel (Override)
```
1. [父调用] BP_DataPoint.UpdateLabel()
2. [获取] W_SupercomputerLabel Widget
3. [设置] NameText = Name
4. [设置] CountryText = Country
5. [设置] PerformanceText = FormatPerformance(Rmax)
6. [设置] CoreText = FormatNumber(CoreCount)
7. [设置] VendorText = Vendor
```
### UpdateMaterial (Override)
```
1. [获取] StaticMesh.Material
2. [设置] BaseColor = (1.0, 0.1, 0.1, 1) 红色
3. [设置] EmissiveStrength = 3.0 + (Rmax / 100)
4. [计算] PulseSpeed = 0.5 + (Rmax / 1000)
5. [设置] PulseSpeed_Material = PulseSpeed
```
### UpdateSize (Override)
```
1. [计算] ScaleFactor = 0.5 + (Rmax / 500)
├─ < 100 TFLOPS: 0.5x
├─ 100-500 TFLOPS: 1.0x
├─ 500-1000 TFLOPS: 1.5x
└─ > 1000 TFLOPS: 2.0x
2. [设置] StaticMesh.SetWorldScale3D(ScaleFactor)
```
## 材质规格
### M_Supercomputer
| 参数 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| `BaseColor` | Vector3 | (1.0, 0.1, 0.1) | 红色 |
| `EmissiveColor` | Vector3 | (1.0, 0.0, 0.0) | 自发光颜色 |
| `EmissiveStrength` | Float | `5.0` | 自发光强度 |
| `PulseSpeed` | Float | `1.0` | 脉冲速度 |
| `PulseIntensity` | Float | `0.3` | 脉冲强度 |
| `FresnelPower` | Float | `2.5` | 菲涅尔效果 |
### M_Ring_Pulse
| 参数 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| `RingColor` | Vector4 | (1.0, 0.2, 0.2, 1.0) | 圆环颜色 |
| `RingWidth` | Float | `0.02` | 圆环宽度 |
| `PulseSpeed` | Float | `1.0` | 脉冲速度 |
| `GlowIntensity` | Float | `10.0` | 发光强度 |
## 粒子效果 (Niagara)
### NS_Supercomputer_Glow
```
发射器设置:
├─ 发射器类型: 粒子系统
├─ 发射模式: 循环
├─ 发射速率: 20 粒子/秒
├─ 粒子寿命: 2.0 秒
└─ 粒子大小: 50 → 200 cm
颜色渐变:
├─ 0%: (1.0, 0.1, 0.1, 0.8) 红色
├─ 50%: (1.0, 0.1, 0.1, 0.4)
└─ 100%: (1.0, 0.1, 0.1, 0.0)
渲染:
├─ 材质: M_Particle_Glow_Additive
└─ 混合模式: Additive
```
## UI 标签 (W_SupercomputerLabel)
### 组件结构
```
W_SupercomputerLabel
├── CanvasPanel
│ ├── Background (黑色半透明背景)
│ │ └── Size: 300x150
│ │ └── Opacity: 0.8
│ ├── NameText (名称)
│ │ └── Text: "Frontier"
│ │ └── Color: 白色
│ │ └── Font Size: 18
│ ├── CountryText (国家)
│ │ └── Text: "🇺🇸 United States"
│ │ └── Color: 浅灰色
│ │ └── Font Size: 14
│ ├── PerformancePanel (性能面板)
│ │ ├── RmaxLabel
│ │ │ └── Text: "Rmax"
│ │ │ └── Color: 浅灰色
│ │ ├── RmaxValue
│ │ │ └── Text: "1,682.65 TFLOPS"
│ │ │ └── Color: 亮红色
│ │ │ └── Font Size: 24
│ │ │ └── Font Weight: Bold
│ │ ├── RpeakLabel
│ │ │ └── Text: "Rpeak"
│ │ ├── RpeakValue
│ │ │ └── Text: "2,000.00 TFLOPS"
│ │ │ └── Color: 灰色
│ │ └── Font Size: 12
│ ├── SpecsPanel (规格面板)
│ │ ├── CoresText
│ │ │ └── Text: "8,730,112 Cores"
│ │ ├── NodesText
│ │ │ └── Text: "76,032 Nodes"
│ │ ├── InterconnectText
│ │ │ └── Text: "InfiniBand HDR"
│ │ └── VendorText
│ │ └── Text: "HPE"
│ └── LineSeparator (分隔线)
│ └── Color: 红色
```
## 数据格式
### 输入数据结构
```json
{
"id": "top500_1",
"name": "Frontier",
"source": "top500",
"data_type": "supercomputer",
"location": {
"latitude": 33.7756,
"longitude": -84.3962,
"altitude": 0
},
"country": "US",
"city": "Atlanta",
"metadata": {
"rmax": 1682.65,
"rpeak": 2000.00,
"cores": 8730112,
"nodes": 76032,
"interconnect": "InfiniBand HDR",
"operating_system": "Linux",
"vendor": "HPE",
"model": "ExaScale"
}
}
```
## 性能格式化函数
### FormatPerformance (Float TFLOPS) → String
```
如果 TFLOPS >= 1000000:
返回 = FString::Printf(TEXT("%.2f EFLOPS"), TFLOPS / 1000000)
否则如果 TFLOPS >= 1000:
返回 = FString::Printf(TEXT("%.2f PFLOPS"), TFLOPS / 1000)
否则:
返回 = FString::Printf(TEXT("%.2f TFLOPS"), TFLOPS)
```
### FormatNumber (Integer) → String
```
如果 Number >= 1000000:
返回 = FString::Printf(TEXT("%dM"), Number / 1000000)
否则如果 Number >= 1000:
返回 = FString::Printf(TEXT("%dK"), Number / 1000)
否则:
返回 = FString::Printf(TEXT("%d"), Number)
```
## TOP500 前 10 名 (测试数据)
| 排名 | 名称 | 位置 | Rmax (PFLOPS) | 国家 |
|------|------|------|---------------|------|
| 1 | Frontier | 美国 | 1,682.65 | 🇺🇸 |
| 2 | Aurora | 美国 | 1,206.00 | 🇺🇸 |
| 3 | Eagle | 美国 | 561.00 | 🇺🇸 |
| 4 | MareNostrum5 | 西班牙 | 175.00 | 🇪🇸 |
| 5 | LUMI | 芬兰 | 151.90 | 🇫🇮 |
| 6 | Leonardo | 意大利 | 148.70 | 🇮🇹 |
| 7 | Summit | 美国 | 148.60 | 🇺🇸 |
| 8 | Sierra | 美国 | 119.40 | 🇺🇸 |
| 9 | Sunway TaihuLight | 中国 | 93.01 | 🇨🇳 |
| 10 | Tianhe-2A | 中国 | 61.44 | 🇨🇳 |
## 交互效果
### 悬停效果 (OnHover)
```
1. [播放] Niagara Burst (红色粒子)
└─ 粒子数量: 30
2. [播放] Sound "Hover_Enter"
3. [设置] RingMesh.Visible = true
4. [播放] Timeline "RingExpand"
└─ 持续时间: 0.3秒
5. [设置] WidgetPanel.Opacity = 1.0
```
### 点击效果 (OnClick)
```
1. [播放] Sound "Select"
2. [播放] Timeline "Pulse"
└─ 持续时间: 0.5秒
└─ 缩放变化: 1.0x → 1.3x → 1.0x
3. [调用] FocusCamera()
```
### 聚焦相机 (FocusCamera)
```
1. [获取] Self.Location → PointLoc
2. [获取] BP_GlobeController.Camera
3. [计算] CameraOffset = (0, 0, 500000)
4. [调用] Camera.SetViewTargetWithBlend(PointLoc + CameraOffset)
5. [播放] Camera Shake "Focus"
```
## 颜色方案
| 性能级别 | 颜色 | RGB | 圆环颜色 |
|----------|------|-----|----------|
| > 1 EFLOPS | 暗红色 | (0.8, 0, 0) | 脉冲红 |
| 500T - 1E | 红色 | (1.0, 0.1, 0.1) | 脉冲橙 |
| 100T - 500T | 橙色 | (1.0, 0.4, 0.1) | 脉冲黄 |
| < 100T | 黄色 | (1.0, 0.7, 0.1) | 脉冲白 |