SuperAPI AI 工具集

roblox-npc-ai

智能体与模型

查看项目

更新于 10-16 10:41

技能介绍

用途

该技能用于创建或修复 Roblox 中的 NPC、机器人或敌人。当需要处理寻路、状态机、视线与视野检测、生成点、AI 更新循环或物理所有权时加载使用。

主要能力

寻路(PathfindingService)

使用 PathfindingService 创建路径并设置参数:

local path = PathfindingService:CreatePath({
    AgentRadius = 2, AgentHeight = 5, AgentCanJump = true,
    Costs = { Water = 20, DangerZone = math.huge },
})
path:ComputeAsync(npcPos, targetPos)
if path.Status ~= Enum.PathStatus.Success then return end
for _, wp in path:GetWaypoints() do
    if wp.Action == Enum.PathWaypointAction.Jump then humanoid.Jump = true end
    humanoid:MoveTo(wp.Position)
    if not humanoid.MoveToFinished:Wait() then return end
end
  • 路径被阻挡时进行重算,需使用有界的重试或取消策略。
  • 在 Studio 中,先在代表性地图上测试 Workspace.PathfindingUseImprovedSearch 再发布;该属性不可通过脚本设置。
  • 避免长时间请求和反复重算。移动可碰撞几何体可能触发导航网格的重新计算。
  • 区域修改器:使用锚定部件 + PathfindingModifier 的 Label 对应 Costs。
  • 对于门使用 PassThrough = true;对于不连通的导航网格使用 PathfindingLink。
  • math.huge 成本表示不可通行。

状态机

状态示例:idle → patrol → chase → attack → flee → dead

  • idle/patrol → chase(检测到玩家)→ attack(进入范围)→ idle(丢失目标)
  • any → flee(生命值低)→ idle(安全);any → dead(生命值 ≤ 0)
  • 状态转换负责处理移动变更、目标清理和取消操作。

检测(距离 → FOV → LOS)

  • 距离 (a-b).Magnitude:成本最低,始终最先执行。
  • FOV:使用 forward:Dot(toTarget) 的余弦;视野锥角度应按游戏配置,而非通用角度。
  • LOS:使用 workspace:Raycast,成本高,最后执行。
  • 如果设计包含听觉或接近检测,应将其作为单独配置的信号,而不是绕过通用 FOV。

网络所有权

传统项目可能对物理敏感的 NPC 使用 SetNetworkOwner(nil),但这并非完整的安全保障。在服务器权威(Server Authority)项目中,应配置权威模型,而不是将网络所有权视为安全边界。

更新循环

根据 NPC 数量、路径成本和性能分析证据对 AI 进行节流与错峰,而非使用通用 tick 频率。NPC 的决策与移动保持在服务端;客户端代码可处理表现层。

对于生成器、生命周期清理、超时处理和性能预算,可加载 references/full.md 参考文档。

适用场景

适用于 Roblox 中 NPC、敌人、机器人的寻路、状态流转、目标检测、生成与性能优化等实现与调试任务。

限制

该技能聚焦于 Roblox NPC 与 AI 的技术实现指导。关于收费、价格、支持的平台或具体效果等事实,资料中暂未提供。