Skip to main content

配置与标签

JSON 全局配置​

文件:SDGToolSet/Config/sdg_nav_config.json。所有字段可选,缺失使用代码默认值。修改后可用控制台命令 SDGNav.ReloadConfig 热加载。

{
"voxel": { "size_cm": 100, "tile_dims": [64, 64, 64] },
"path_generation": { "seed": 12345, "connectivity": 26, "fit": { "degree": 5 } },
"movement": { "speed_cm_per_sec": 400, "agent_radius_cm": 50 },
"orbit": { "radius_cm": 1000, "angle_deg": 360 },
"debug": { "debug_draw": false, "grid_viz_max_boxes": 5000 }
}

运行 SDGNav.GenerateConfigTemplate 控制台命令可生成包含所有默认值的完整模板。

控制台命令作用
SDGNav.ReloadConfig运行时热加载 JSON 配置
SDGNav.GenerateConfigTemplate生成含全部默认值的配置模板

标签约定​

标签用途
SDG.Navigation.Volume可导航体积(Volume 自动携带)
SDG.Navigation.Block阻挡体积
SDG.Navigation.TargetOrbit 注视目标

常见问题​

Q:路径生成了 0 条?

  • 检查 Volume 尺寸(至少要容纳几个体素);
  • VoxelSize 不能大于体积最小维度;
  • AveragePathDistance 设为 0 让系统自动计算。

Q:编辑器属性面板的值和 JSON 不一样?

  • JSON 在 BeginPlay 时覆盖编辑器中手动设置的值;
  • 如需保留编辑器设置,删除 JSON 中对应字段即可。

Q:如何只用 Orbit 不用直线路径?

  • SDGPathManagerComponent 设置 bUseOrbitTargetIfPresent = true;
  • 场景中放置带 SDG.Navigation.Target 标签的 Actor。

:::note 路径越界提示 高阶多项式拟合(如 fit.degree = 5)可能在路径端点附近超出可导航体素体积(Runge 现象)。若对边界敏感,可降低拟合阶数或关闭拟合;A* 路径点与 Orbit 样条本身保持在界内。 :::

完整 API 参考见插件内 Doc/API.md。