GFPoissonDisc2D¶
API Reference / Standard / 类索引
- 路径:
addons/gf/standard/foundation/math/gf_poisson_disc_2d.gd - 模块:
Standard - 继承:
RefCounted - API:
public - 类别:运行时服务 (
runtime_service) - 首次版本:
5.0.0
通用二维 Poisson-disc 采样工具。 在矩形区域中生成最小间距受限的点集,适合程序化摆放、刷点候选、 空间采样和编辑器工具。它只返回纯数据,不创建 Node、地形、碰撞或渲染资源。 随机序列来自 GF 固定算法随机源;输出点仍是浮点几何数据,不作为定点锁步真值。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 常量 | DEFAULT_CANDIDATE_ATTEMPTS |
const DEFAULT_CANDIDATE_ATTEMPTS: int = 30 |
| 常量 | DEFAULT_MAX_POINTS |
const DEFAULT_MAX_POINTS: int = 4096 |
| 常量 | DEFAULT_MAX_GRID_CELLS |
const DEFAULT_MAX_GRID_CELLS: int = 262144 |
| 方法 | generate_points |
static func generate_points(area: Rect2, minimum_distance: float, options: Dictionary = {}) -> Dictionary: |
常量¶
DEFAULT_CANDIDATE_ATTEMPTS¶
- API:
public - 首次版本:
5.0.0
默认每个活动点尝试生成候选点的次数。
DEFAULT_MAX_POINTS¶
- API:
public - 首次版本:
5.0.0
默认最大输出点数,避免误把超大实时采样交给纯 GDScript。
DEFAULT_MAX_GRID_CELLS¶
- API:
public - 首次版本:
5.0.0
默认最大空间网格单元数量,避免极小半径导致大内存分配。
方法¶
generate_points¶
- API:
public - 首次版本:
5.0.0
static func generate_points(area: Rect2, minimum_distance: float, options: Dictionary = {}) -> Dictionary:
在矩形区域中生成 Poisson-disc 采样点。
参数:
| 名称 | 说明 |
|---|---|
area |
采样区域。 |
minimum_distance |
任意两点之间的最小距离。 |
options |
可选参数,支持 seed、candidate_attempts、max_points、max_grid_cells 和 start_point。 |
返回:采样结果字典。
结构:
options: Dictionary,seed 为确定性随机种子,candidate_attempts 为每个活动点的候选尝试次数,max_points 为最大输出点数,max_grid_cells 为内部空间网格单元上限,start_point 为可选起始 Vector2。return: Dictionary,包含 ok、error、area、minimum_distance、seed、candidate_attempts、max_points、max_grid_cells、points、point_count 与 truncated 字段。