You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现行人智能体向指定节点的「传送」(跳转)功能?

实现行人智能体直接传送至目标节点的方法

你遇到的问题核心是行人当前仍有未终止的移动任务,导致jumpTo或setLocation的传送效果被覆盖,行人会继续执行之前的移动逻辑。要实现真正的传送,需要先终止行人的当前移动行为,再执行传送操作。

具体步骤:

  • 第一步:终止行人当前所有移动任务
    调用ped.cancelMove()方法,这个方法会直接取消行人正在执行的moveTo、walkTo等任何路径移动指令,让行人进入静止状态。
  • 第二步:执行传送操作
    选择以下任意一种方式即可:
    • 使用ped.jumpTo(targetNode):直接将行人传送到指定节点的位置,自动匹配节点的坐标与高度。
    • 使用ped.setLocation(x, y, z):如果需要更精准的坐标控制,可直接传入目标位置的三维坐标(比如节点的坐标:ped.setLocation(targetNode.getX(), targetNode.getY(), targetNode.getZ()))。

示例代码(放在事件、按钮动作或自定义函数中):

// 先终止当前移动
ped.cancelMove();
// 传送至目标节点targetNode
ped.jumpTo(targetNode);

额外注意事项:

  • 如果行人处于行人库模块(如Service、Delay、Path等)的控制流程中,需要确保模块已释放对行人的控制权(比如Service模块完成服务后,或手动调用模块的release(ped)方法),否则模块可能会重新发起移动指令。
  • 检查后续逻辑,避免在传送后意外触发moveTo或其他移动相关方法,导致行人再次开始移动。

内容的提问来源于stack exchange,提问作者John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 00:48:12