本文演示如何使用触发器(Trigger)来模拟购物行为。模型模拟了一条带有商铺的走道,行人经过时会被吸引进入各个商铺——这一行为通过触发器实现。本教程假设用户已熟悉 Pathfinder 的基本使用。

开始之前
在开始本教程之前:
-
请仔细阅读用户手册中的触发器部分。
-
下载 shopping_triggers以跟进。
几何模型设置
如图 2 所示,走道宽度为 5 m,每个商铺大小为 5 × 5 m。人员进入后沿走道行走并结束离开。
图 2:走道与商铺几何模型
触发器位于走道中,用于吸引人员进入相邻商铺。
图 3:通道和仓库的几何形状加上触发器
基础建模步骤
- 绘制几何体,包括门
- 为每个房间命名
- 为 入口 和 出口 门命名
- 餐厅 设有四个 1 m² 的房间代表餐桌,见图 4

队列设置
- 为除餐厅外的所有商店添加队列,如图 2 所示。每个队列名称应与商店名称匹配
- 除 快餐店 外,所有队列的服务时间为 60 秒
- 快餐店 设有队列、柜台和就餐区,人员需依次通过这些区域后才能离开(见图 5),快餐店队列服务时间为 20 秒
显然,以上服务时间和餐厅等待时间并不真实。您可以根据实际情况将其修改为更合理的数值。

属性配置(Profile)
触发器与人员 属性(Profile) 和 行为(Behavior) 交互,因此首先创建具有所需属性的 Profile。在本模型中,我们通过颜色来区分人员当前的行为状态:
- Shopping(购物):人员在走道中行走,可能响应触发器进入商铺。颜色为绿色
- Browse(浏览):人员进入商铺浏览,不会购买商品。颜色为蓝色
- Buy(购买):人员进入商铺并加入队列购买商品。颜色为红色
当前设置中,人员在响应触发器时会立即切换为浏览或购买行为;不会有人先切换为浏览再切换为购买。如需此逻辑,可在商铺内部添加第二组触发器和第二个行为变更,并设置相应的行为免疫选项。
创建 Profile 步骤
- 在 导航面板 中双击 Profiles
- 选择 Default 配置文件,重命名为 Shopping
- 将 颜色 改为绿色
- 点击 Movement 选项卡,将 Trigger Susceptibility (Seeking) 设置为 20%。这意味着人员在走道中行走时,有 20% 的概率响应触发器。本模型中不使用 Trigger Susceptibility (Waiting)
- 点击 New,基于 Shopping Profile 创建名为 Browse 的新 Profile,将颜色改为蓝色
- 再次点击 New,基于 Shopping Profile 创建名为 Buy 的新 Profile,将颜色改为红色
- 点击 OK 关闭 Edit Profiles 对话框
行为设置(Behavior)
当人员响应触发器时,其行为可以发生改变。在本示例中,人员进入触发器关联的商铺,可能浏览或购买商品。
Shopping 行为(基础行为)
Shopping 行为是本模型中的”正常”行为。在购物状态下,人员从入口沿走道向 出口 门移动。
- 双击 Goto Any Exit 行为
- 将名称改为 Shopping
- 点击 Exit 动作,在允许的 Exits 中选择模型中的 Exit 门
服装店相关行为
我们需要创建三个行为来控制人员如何响应 Clothing 触发器。首先创建 Buy Clothing 和 Browse Clothing 行为,再创建引用它们的 Clothing 行为。
Buy Clothing 行为
- 在 导航面板 中双击 Behaviors
- 创建名为 Buy Clothing 的新行为
- 添加 Change Profile 动作,设置为 100% Buy(通过颜色变化可在结果中追踪该人员)
- 添加 Goto Queues 动作,选择 Clothing 队列——人员前往排队路径等待服务
- 添加 Change Profile 动作,设置为 100% Shopping(颜色恢复为购物状态)
- 添加 Change Behavior 动作,将 Target Behaviors 设置为 100% Shopping——人员离开商店,继续在 Passageway 房间中走向 Exit 门

Browse Clothing 行为
- 在 导航面板 中双击 Behaviors
- 创建名为 Browse Clothing 的新行为
- 添加 Change Profile 动作,设置为 100% Browse
- 添加 Wait 动作,等待时间设置为 5 秒
- 添加 Change Profile 动作,设置为 100% Shopping
- 添加 Change Behavior 动作,将 Target Behaviors 设置为 100% Shopping——人员离开商店继续走向出口
Clothing 行为(决策行为)
这是所有响应 Clothing 触发器的人员首先执行的行为:
- 在 导航面板 中双击 Behaviors
- 创建名为 Clothing 的新行为
- 添加 Goto Rooms 动作,选择房间为 Clothing——人员进入商铺
- 添加 Change Behavior 动作,将 Target Behaviors 设置为 75% Browse Clothing 和 25% Buy Clothing
对所有商店(除 Fast Food 和 Restaurant 外)重复以上模式。完成后,行为列表应如图 7 所示。您也可以在导航面板中使用 CTRL+C 和 CTRL+V 复制行为。

快餐店行为
每个进入快餐店的人员都会购买商品。他们依次:前往快餐店队列 → 进入快餐店柜台 → 进入就餐区 → 等待 30 秒 → 切换回 Shopping Profile(和 Shopping 行为)。

餐厅行为
餐厅 不设队列。每个进入餐厅的人员都用餐:前往四张餐桌之一 → 等待 120 秒 → 切换回 Shopping Profile(和 Shopping 行为)。

触发器设置(Trigger)
触发器位于每个商铺前方。当人员进入触发器区域时,有 20% 的概率响应(由 Shopping Profile 中的设置决定)。
创建触发器步骤
- 在绘图工具栏中选择 Add a Trigger 工具
- 将触发器放置在服装店前方
- 将 名称 改为 Clothing
- 将 Behavior 设置为 Clothing——这是人员响应触发器时应用的行为
- 将 Awareness Radius 设置为 2.5 m,其他属性保持默认值

其他触发点
对所有商店的触发器重复以上步骤。可能需要调整 Passageway 房间的不透明度,以便使用捕捉网格精准放置每个触发器对象。
如图 3 所示,Toys 触发器的半径为 3.5 m——因为该商店位于弯道外角,购物的行人倾向于贴近内角行走,更大的半径补偿了这一偏差,确保他们能接触到 Toys 触发器。
调整餐厅触发器的响应概率
我们希望减少响应餐厅触发器的人员数量:
- 选择 Restaurant 触发器
- 在 Properties 面板中,点击 Influence 设置的超链接,打开 Edit Influence 对话框
- 将 Initial Value 设置为 25%——此时人员进入餐厅的概率为 5%(Shopping Profile 中的 20% × Restaurant 触发器的 25%)
人员源与模拟参数
添加入口人员源
- 右键点击 Entry 门,选择 Add Occupant Source
- 将 Flow Rate 设置为 Constant,输入 0.2 pers/s(每 5 秒到达一人)
- 将 Profile 设置为 Shopping
- 将 Behavior 设置为 Shopping——人员进入后将向指定出口移动
运行模拟
- 在 Simulation 菜单中,点击 Simulation Parameters
- 将 End Time 设置为 1200 秒
- 点击 Run Simulation
结果可视化
- 在工具栏中点击 View 菜单
- 点击 Show Occupant Paths
- 保存可视化设置
图 11 展示了 600 秒时的结果。显示内容包括人员路径,颜色与 Profile 类型对应。
图 11:结果是:到这时,每家店里都有一名“住户”进入。
总结
本教程演示了如何使用 Pathfinder 模拟商场中的购物行为,涵盖了队列(Queue)、触发器(Trigger)、行为(Behavior)和属性(Profile)的综合应用,并使用人员路径着色功能对结果进行可视化。
-e1750215042767.png)