文档中心

Super Crowd 程序化人群 — 用户手册

1. 概述

Super Crowd(程序化人群)是 SuperStage 提供的程序化观众/人群生成工具。它在样条定义的封闭区域内,通过泊松圆盘采样算法生成不重叠的随机分布人群,并支持地形贴合。

核心功能

  • 样条边界 — 闭合样条定义人群分布区域
  • 泊松圆盘采样 — Bridson 算法确保人物间距均匀、不重叠
  • 多角色模板 — 支持多种角色网格体 + 权重随机分配
  • 地形贴合 — 射线检测自动贴合地面
  • 密度/数量双模式 — 按密度或目标数量控制人群规模

适用场景

  • 演出场馆观众席预可视化
  • 活动场地人流密度规划
  • 舞台前方站立观众模拟
  • 任意区域人群填充

2. 使用方式

  1. 在场景中放置 Super Crowd Actor
  2. 选中后编辑样条控制点,围出一个封闭区域
  3. 调整密度/数量参数
  4. 人群自动生成在封闭区域内

重要:样条必须形成封闭多边形(首尾相接),否则无法计算区域。


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)可能影响编辑器帧率