基于Pedestrian Library资源可用性设置智能体等待规则的方法
基于Pedestrian Library实现智能体等待至获取资源的方案
完全可以实现该需求,两种常用落地方法如下:
方法1:使用pedService模块原生配置(最易用)
这是官方推荐的标准实现方式,无需额外写自定义逻辑:
- 拖入Pedestrian Library中的
pedService模块,在「资源」配置项中绑定要抢占的目标资源池 - 找到等待配置分类,将「最大等待时长」参数设置为
infinity,智能体就会一直在队列中驻留等待,直到有可用资源被分配,不会触发超时离开逻辑 - 如果需要在等待过程中执行自定义动作(比如修改行人状态、展示提示动画),直接在模块的「等待时行动」代码栏补充对应逻辑即可
方法2:结合wait块+资源检测逻辑(适用复杂自定义场景)
如果需要适配多资源判断、动态调整等待规则等特殊场景,可以用该方案灵活扩展:
- 行人进入等待区域后,先进入
wait块暂停移动逻辑 - 新增一个周期性触发的事件(触发频率可根据业务精度需求设置,比如1s/次),遍历所有处于等待状态的行人,调用
yourResourcePool.checkAvailability()判断目标资源是否有空闲 - 当检测到资源可用时,调用
wait.free(agent)释放对应行人,后续衔接资源抢占和服务逻辑即可
补充说明:如果需要设置行人抢占资源的优先级,可直接在资源分配配置中自定义优先级参数,高优先级行人会优先获得空闲资源,无需额外调整等待时长逻辑。
内容的提问来源于stack exchange,提问作者La Roi Zi
相关产品推荐
相关产品推荐

