# Niagara 粒子系统规格

## 目录

1. [NS_DataPoint_Glow 数据点光环](#ns_datapoint_glow-数据点光环)
2. [NS_Supercomputer_Glow 超算光环](#ns_supercomputer_glow-超算光环)
3. [NS_DataFlow_Directional 流向粒子](#ns_dataflow_directional-流向粒子)
4. [NS_Alarm_Flash 告警闪烁](#ns_alarm_flash-告警闪烁)
5. [NS_Ambient_Ambience 环境粒子](#ns_ambient_ambience-环境粒子)

---

## NS_DataPoint_Glow 数据点光环

### 系统信息

| 属性 | 值 |
|------|-----|
| 系统类型 | Emitter |
| 混合模式 | Additive |
| 路径 | `Content/Particles/NS_DataPoint_Glow.uasset` |

### 发射器配置

| 配置项 | 值 | 说明 |
|--------|-----|------|
| Emitter Type | Sprite | 精灵粒子 |
| Start Method | Owner | 所有者位置 |
| Loop | true | 循环播放 |
| Min Loop Count | 0 | 无最小限制 |
| Max Loop Count | -1 | 无最大限制 |

### 粒子初始化

| 属性 | 值 | 说明 |
|------|-----|------|
| Sprite Size | 50 → 200 cm | 渐变大小 |
| Sprite Rotation | 0 → 360 | 随机旋转 |
| Color | (1, 0.2, 0.2, 0.8) | 红色 |
| Lifetime | 1.5 秒 | 粒子寿命 |

### 粒子更新

```
缩放渐变:
├─ Start: 50 cm
├─ End: 200 cm
└─ Scale: 线性插值

颜色渐变:
├─ 0%: (1, 0.2, 0.2, 0.8)
├─ 50%: (1, 0.2, 0.2, 0.4)
└─ 100%: (1, 0.2, 0.2, 0)

物理:
├─ Velocity: (0, 0, 10) cm/s
└─ Drag: 1.0
```

### 发射速率

```
├─ Rate: 30 粒子/秒
├─ Bursts: 无
└─ Scale Factor: 1.0
```

### 渲染

```
├─ Material: M_Particle_Glow
├─ Sort: 距离排序
└─ Enable GPU Simulation: false
```

---

## NS_Supercomputer_Glow 超算光环

### 系统信息

| 属性 | 值 |
|------|-----|
| 系统类型 | Emitter |
| 混合模式 | Additive |
| 路径 | `Content/Particles/NS_Supercomputer_Glow.uasset` |

### 发射器配置

| 配置项 | 值 | 说明 |
|--------|-----|------|
| Emitter Type | Sprite | 精灵粒子 |
| Start Method | Owner | 所有者位置 |
| Loop | true | 循环播放 |
| Orbit | true | 轨道运动 |

### 粒子初始化

| 属性 | 值 | 说明 |
|------|------|------|
| Sprite Size | 100 → 300 cm | 渐变大小 |
| Color | (1.0, 0.1, 0.1, 1.0) | 红色 |
| Lifetime | 2.0 秒 | 粒子寿命 |
| RotationSpeed | 10 deg/s | 旋转速度 |

### 粒子更新

```
轨道运动:
├─ Pivot: Center
├─ Radius: 150 cm
└─ RotationSpeed: 30 deg/s

缩放:
├─ Start: 100 cm
├─ Mid: 300 cm
└─ End: 100 cm

颜色:
├─ 0%: (1.0, 0.1, 0.1, 1.0)
├─ 50%: (1.0, 0.1, 0.1, 0.5)
└─ 100%: (1.0, 0.1, 0.1, 0)
```

### 发射速率

```
├─ Rate: 20 粒子/秒
├─ Bursts:
│   └─ Time: 0s, Count: 5, Increment: 2
└─ Scale Factor: 1.0
```

---

## NS_DataFlow_Directional 流向粒子

### 系统信息

| 属性 | 值 |
|------|-----|
| 系统类型 | Emitter |
| 混合模式 | Additive |
| 路径 | `Content/Particles/NS_DataFlow_Directional.uasset` |

### 发射器配置

| 配置项 | 值 | 说明 |
|--------|-----|------|
| Emitter Type | Sprite | 精灵粒子 |
| Start Method | Spline | 沿样条路径 |
| Loop | true | 循环播放 |

### 参数接口

| 参数名 | 类型 | 默认值 | 说明 |
|--------|------|--------|------|
| `User.FlowColor` | LinearColor | (0.2, 0.6, 1.0, 1) | 粒子颜色 |
| `User.Speed` | Float | `100.0` | 粒子速度 |
| `User.Lifetime` | Float | `3.0` | 粒子寿命 |
| `User.Size` | Float | `50.0` | 粒子大小 |
| `User.Density` | Float | `1.0` | 粒子密度 |

### 粒子初始化

```
Sprite Size: User.Size → User.Size × 1.5
Color: User.FlowColor
Lifetime: User.Lifetime
RotationSpeed: 180 deg/s
```

### 粒子更新

```
沿路径移动:
├─ 位置: 沿样条插值
├─ 速度: User.Speed
└─ 方向: 样条切线方向

颜色渐变:
├─ 0%: User.FlowColor × 1.0
├─ 50%: User.FlowColor × 0.8
└─ 100%: User.FlowColor × 0.0

缩放渐变:
├─ Start: User.Size
└─ End: User.Size × 1.5
```

### 发射速率

```
├─ Rate: 100 × User.Density 粒子/秒
├─ 方法: Time Divided
└─ Scale Factor: 1.0
```

---

## NS_Alarm_Flash 告警闪烁

### 系统信息

| 属性 | 值 |
|------|-----|
| 系统类型 | Emitter |
| 混合模式 | Additive |
| 路径 | `Content/Particles/NS_Alarm_Flash.uasset` |

### 发射器配置

| 配置项 | 值 | 说明 |
|--------|-----|------|
| Emitter Type | Sprite | 精灵粒子 |
| Start Method | Owner | 所有者位置 |
| Loop | true | 循环播放 |

### 粒子初始化

| 属性 | 值 | 说明 |
|------|------|------|
| Sprite Size | 500 → 2000 cm | 渐变大小 |
| Color | (1.0, 0.0, 0.0, 1.0) | 红色 |
| Lifetime | 0.5 秒 | 粒子寿命 |

### 粒子更新

```
缩放:
├─ Start: 500 cm
├─ End: 2000 cm
└─ Scale: 指数

颜色:
├─ 0%: (1.0, 0.0, 0.0, 1.0)
├─ 50%: (1.0, 0.0, 0.0, 0.5)
└─ 100%: (1.0, 0.0, 0.0, 0)
```

### 发射配置

```
├─ Rate: 2 粒子/秒
├─ Bursts:
│   └─ Time: 0s, Count: 1
├─ Scale Factor: 1.0
└─ 闪烁频率: 2 Hz
```

---

## NS_Ambient_Ambience 环境粒子

### 系统信息

| 属性 | 值 |
|------|-----|
| 系统类型 | Emitter |
| 混合模式 | Additive |
| 路径 | `Content/Particles/NS_Ambient_Ambience.uasset` |

### 发射器配置

| 配置项 | 值 | 说明 |
|--------|-----|------|
| Emitter Type | Sprite | 精灵粒子 |
| Start Method | Box | 盒体范围 |
| Loop | true | 循环播放 |

### 发射范围

```
Box Extents: (50000, 50000, 50000) cm
├─ X: -50000 → 50000
├─ Y: -50000 → 50000
└─ Z: 0 → 100000
```

### 粒子初始化

```
Sprite Size: 5 → 15 cm
Color: (0.5, 0.5, 1.0, 0.1)
Lifetime: 5 → 10 秒
RotationSpeed: -10 → 10 deg/s
```

### 粒子更新

```
速度场:
├─ Constant: (0, 0, 5) cm/s
└─ Curl Noise: 启用

颜色:
├─ 0%: (0.5, 0.5, 1.0, 0.1)
└─ 100%: (0.5, 0.5, 1.0, 0.0)
```

### 发射配置

```
├─ Rate: 50 粒子/秒
├─ 方法: Time Divided
└─ Scale Factor: 1.0
```

---

## Niagara 模块参考

### 常用模块

| 模块 | 用途 |
|------|------|
| `Sprite Renderer` | 精灵渲染 |
| `Mesh Renderer` | 网格渲染 |
| `Emitter State` | 发射器状态 |
| `Spawn Rate` | 生成速率 |
| `Spawn Burst Instant` | 爆发生成 |
| `Particle State` | 粒子状态 |
| `Kill Particle` | 杀死粒子 |
| `Color` | 颜色 |
| `Scale Sprite Size` | 精灵缩放 |
| `Add Velocity` | 添加速度 |
| `Velocity From Point` | 从点速度 |
| `Curl Noise Force` | 卷曲噪点力 |
| `Drag` | 阻力 |
| `Limit Velocity` | 限制速度 |
| `Position` | 位置 |
| `Rotation` | 旋转 |
| `Rotation Rate` | 旋转速度 |

### 常用设置

```
GPU Simulation:
├─ Enable: false (建议)
├─ Supports GPU: true
└─ Requires persistent IDs: false

Determism:
├─ Deterministic: false
└─ Pooling Method: eager

Scalability:
├─ Max Active Particles: 10000
└─ Max Time: 60s
```

---

## 性能优化

### 粒子数量限制

```
远距离:
├─ Max Particles: 100
├─ Cull Distance: 50000 cm
└─ Scale Factor: 0.1

中距离:
├─ Max Particles: 500
├─ Cull Distance: 20000 cm
└─ Scale Factor: 0.5

近距离:
├─ Max Particles: 2000
├─ Cull Distance: 5000 cm
└─ Scale Factor: 1.0
```

### 优化建议

```
1. 使用 GPU Simulation (如果显卡支持)
2. 减少粒子数量
3. 简化粒子行为
4. 禁用不必要的效果
5. 使用 LOD
6. 定期清理粒子
```
