Super Crowd 程序化人群 — 用户手册
1. 概述
Super Crowd(程序化人群)是 SuperStage 提供的程序化观众/人群生成工具。它在样条定义的封闭区域内,通过泊松圆盘采样算法生成不重叠的随机分布人群,并支持地形贴合。
核心功能
- 样条边界 — 闭合样条定义人群分布区域
- 泊松圆盘采样 — Bridson 算法确保人物间距均匀、不重叠
- 多角色模板 — 支持多种角色网格体 + 权重随机分配
- 地形贴合 — 射线检测自动贴合地面
- 密度/数量双模式 — 按密度或目标数量控制人群规模
适用场景
- 演出场馆观众席预可视化
- 活动场地人流密度规划
- 舞台前方站立观众模拟
- 任意区域人群填充
2. 使用方式
- 在场景中放置 Super Crowd Actor
- 选中后编辑样条控制点,围出一个封闭区域
- 调整密度/数量参数
- 人群自动生成在封闭区域内
重要:样条必须形成封闭多边形(首尾相接),否则无法计算区域。
3. 主要参数
3.1 分布参数
| 参数 | 说明 |
|---|---|
| FillMode | 填充模式:Density(密度)/ TargetCount(目标数量) |
| Density | 密度(人/m²),Density 模式下使用 |
| TargetCount | 目标人数,TargetCount 模式下使用 |
| MinSpacing | 人物间最小间距 (cm) |
| RandomSeed | 随机种子(相同种子产生相同分布) |
3.2 角色模板
通过 Characters 数组定义可用的角色模型:
| 字段 | 说明 |
|---|---|
| Mesh | 角色静态网格体(StaticMesh) |
| Weight | 权重(越大越可能被选中) |
| MinScale / MaxScale | 随机缩放范围 |
| bRandomYaw | 是否随机旋转朝向 |
3.3 地形参数
| 参数 | 说明 |
|---|---|
| bSnapToGround | 是否贴合地面 |
| TraceDistance | 射线检测距离 (cm) |
| GroundOffset | 地面偏移 (cm) |
4. 算法说明
泊松圆盘采样 (Bridson)
- 在样条定义的区域内生成均匀分布的随机点
- 保证任意两点间距离不小于 MinSpacing
- 比纯随机分布更自然、无聚簇
区域判定
- 射线法(Ray Casting)判定点是否在多边形内
- Shoelace 公式计算区域面积
地形贴合
- 每个采样点从上方向下发射射线
- 局部坐标 → 世界坐标 → 射线检测 → 世界坐标 → 局部坐标
5. ISM 组件
使用 ISM 组件池(最多 MAX_CHARACTER_ISM_COUNT 个),每种角色网格体占用一个 ISM 组件。
6. 使用提示
- 密度建议值:站立密集 2~4 人/m²,宽松 0.5~1 人/m²
- 角色 Weight 用于控制比例,如 70% 普通观众 + 20% 举手 + 10% 拍照
- 修改样条控制点后人群自动重新生成
- 大量人群(>1000)可能影响编辑器帧率