要创建新行为:
- 在导航视图中右键点击行为(Behaviors)节点,从右键菜单中选择添加行为(Add a Behavior),将打开如图1所示的新建行为对话框。
- 在新建行为对话框中,输入行为名称,并可选择指定一个现有行为作为新行为的基础。使用此选项将复制现有行为中的所有动作。

图1:新建行为对话框
选中新行为后,行为属性面板将如图 2 所示显示。

图2:行为属性面板
- 初始延迟(Initial Delay)
指定一个初始延迟,使人员在其起始位置等待后再移动到下一个动作。点击此链接将显示一个对话框,可以输入不同的延迟分布曲线,与人员属性中讨论的类似。
添加动作
可以向任意行为添加额外的动作,例如前往房间、路径点、电梯,或仅在原地等待。要添加动作,请选择一个行为或现有的行为动作。属性面板(图3)将显示一个下拉按钮,其中包含可以添加的动作描述。要添加当前显示的动作,只需点击该按钮。要添加不同的动作,点击按钮右侧的向下箭头,从行为动作列表中选择所需的动作。

图3:行为添加动作的创建面板
点击所需动作后,根据动作类型,3D/2D视图上方将显示一个创建面板。按照以下各节所述,在创建面板中输入所需参数,然后点击创建(Create)来创建该动作并将其附加到行为中。如果在添加动作时选择了行为本身,新动作将附加到列表末尾。如果在创建新动作时选择了一个已有动作,新动作将插入到该选定动作之后。如果该动作为终止动作(包括行为动作列表中分隔线以下的所有动作),该动作将始终添加到末尾。如果行为已经有一个终止动作,它将替换现有的终止动作。
动作始终按导航视图中显示的顺序执行。例如,如图4所示,使用”Behavior1“的人员将首先前往任意电梯,然后前往”Room00“,接着等待20秒,再前往”Room09“。到达”Room09“后,人员将从模拟中移除。可以随时通过在导航视图中拖放动作来重新排序。

图4:导航视图中的行为动作列表
注意:所有动作必须以终止动作结束。这些动作可以通过行为动作列表中分隔线以下的项来识别。
行为行动类型
| 动作 | 终止动作? | 描述 |
|---|---|---|
| Goto Waypoint | 否 | 指定人员应前往导航网格上的特定点。 |
| Goto Rooms | 否 | 指定人员必须从一组房间中选择一个并前往。 |
| Goto Elevators | 否 | 指示人员使用电梯。 |
| Goto Queue | 否 | 指定人员应加入指定的队列。 |
| Goto Occupant Targets | 否 | 指示人员从一组人员目标中预约一个并前往该目标。 |
| Abandon Occ Targets | 否 | 指示人员放弃先前预约的人员目标。 |
| Goto Occupant | 否 | 指示人员前往具有指定标签的另一名人员。 |
| Goto Current Trigger | 否 | 指示人员前往其当前触发器的位置。 |
| Wait | 否 | 指示人员在其当前位置等待指定的时间。 |
| Wait Until | 否 | 指示人员延后其移动,直到指定的模拟时间过去。 |
| Change Behavior | 否 | 指示人员将行为更改为从行为分布中随机选择的新行为。 |
| Change Profile | 否 | 指示人员更改为从人员属性分布中随机选择的不同人员属性。 |
| Change Profile Property | 否 | 指示人员将其某项属性更改为指定值。 |
| Reset Profile Property | 否 | 指示人员将某项属性重置为其人员属性值。 |
| Change Tags | 否 | 指示人员更改其标签。 |
| Look At | 否 | 指示人员将身体朝向另一名人员。 |
| Look Ahead | 否 | 指示人员将身体朝向其目标。 |
| Create Trigger | 否 | 创建可能影响其他人员的触发器。 |
| Destroy Trigger | 否 | 销毁人员创建的触发器。 |
| Assist Occupants | 否 | 指示人员加入辅助疏散团队,并开始协助请求该团队辅助的人员。 |
| Wait for Assistance | 否 | 表示人员应等待其他人员的辅助。 |
| Detach from Assistants | 否 | 将客户从辅助者处分离,允许辅助者继续帮助其他客户。 |
| Resume Prior Behavior | 是 | 指示人员继续使用当前行为之前的行为。 |
| Remove Occupant | 是 | 人员将从模拟中移除。 |
| Wait Until Simulation End | 是 | 人员将在其当前位置等待直到模拟结束。 |
| Goto Refuge Rooms | 是 | 指示人员前往标记为避难区域的一组房间之一。 |
| Goto Exits | 是 | 指示人员采取最快路线前往一组出口。 |
转到路标动作
Goto Waypoint动作指定人员应前往导航网格上的特定点。一旦到达该点的一定半径范围内,他们将进入行为中的下一个动作。
要添加此类动作:
- 点击行为动作列表中的Goto Waypoint按钮。
- 输入位置(Location)或在模型上点击一个点。
- 输入到达半径(Arrival Radius)或在点击位置后拖拽鼠标来指定半径。
这些参数可以在创建面板中手动输入,也可以通过点击3D或2D视图中导航网格上的点来填充,或通过点击拖拽来指定位置+到达半径。点击或点击拖拽时,释放鼠标按钮即创建动作。
转到房间动作
Goto Rooms动作指定人员必须从一组房间中选择一个并前往。一旦穿过门进入房间,即视为已进入房间,可以进入行为中的下一个动作。如果为该动作指定了多个房间,人员将前往最快到达的那个房间。
要添加Goto Rooms动作:
- 点击行为动作列表中的Goto Rooms按钮。
- 点击房间(Rooms)链接通过对话框指定房间,或在3D或2D视图中左键点击所需房间。
- 在3D/2D视图中右键点击以完成房间选择并创建动作,或点击创建(Create)。
转到电梯动作
Goto Elevators动作指示人员使用电梯。使用此动作时,人员将前往指定电梯,呼叫它,等待到达,进入,然后等待到达目标楼层。到达目标楼层后,即可开始下一个动作。如果为该动作指定了多个电梯,人员将使用能最快到达目标楼层的电梯。
要添加Goto Elevators动作:
- 点击行为动作列表中的Goto Elevators按钮。
- 点击电梯(Elevators)链接通过对话框指定所需电梯,或在3D或2D视图中左键点击所需电梯。
- 选择一个目标楼层(Target Floor)供人员前往下客。可用楼层将反映所选电梯可达的楼层,如不选择则默认为所乘电梯的下客楼层属性。
- 在3D/2D视图中右键点击以完成电梯选择并创建动作,或点击创建(Create)。
转到队列动作
Goto Queue动作指定人员必须从一组队列中选择一个并前往。使用此动作时,选定的队列将引导人员的移动通过可用队列路径和服务点,完成后释放人员进入下一个行为动作。
要添加Goto Queue动作:
- 点击行为动作列表中的Goto Queues项。
- 点击队列(Queue)链接通过对话框选择队列。队列和队列组均可选择。如果选择了队列组,则无需单独选择该组中的队列。也可以在3D或2D视图中左键点击所需的目标队列。
- 点击创建(Create)按钮。
转到人员目标动作
Goto Occupant Targets动作指示人员从一组人员目标中预约一个目标,然后导航到该目标。人员预约目标后,将无限期保留该预约,在向目标移动以及执行其他行为动作时均如此。即使离开模型或以其他方式从模拟中移除后,仍将保持该预约。保留对目标的预约会阻止其他人员使用该目标,并允许人员在受到触发器干扰后返回该目标。
人员只有在行为列表中遇到放弃人员目标(Abandon Occ Targets)动作且该动作指示应放弃时才会放弃预约。该动作可以是其分配行为的一部分,也可以是触发器行为的一部分。
当人员的身体形状与围绕目标位置的半径为0.5 m的圆形区域相交时,视为已到达所选目标并完成Goto Occupant Targets动作。
要添加Goto Occupant Targets动作:
- 点击行为动作列表中的Goto Occupant Targets项。
- 点击人员目标(Occ Targets)链接通过对话框指定目标,或在3D或2D视图中左键点击所需目标。
- 按下述方式输入所需的偏好设置。
- 在3D/2D视图中右键点击以完成目标选择并创建动作,或点击创建(Create)。
人员使用其偏好(Preference)参数来决定尝试预约目标的顺序。
- 优先级偏好(Priority Preference)
定义人员在选择目标时将如何考虑目标的优先级。此偏好始终在距离偏好之前考虑,可设为以下值之一:- 无(None)
人员不考虑目标优先级,仅依赖距离偏好来选择目标。 - 较低(Lower)
人员偏好具有最低优先级值的可用目标。 - 较高(Higher)
人员偏好具有最高优先级值的可用目标。
- 无(None)
- 距离偏好(Distance Preference)
定义人员在选择目标时将如何考虑到达每个目标的行程距离。此偏好次于优先级偏好。可用偏好如下:- 无(None)
人员不关心到达目标的距离。这实际上允许人员随机选择可用目标。 - 最近(Nearest)
人员偏好根据行程距离离其最近的可用目标。
- 无(None)
注意:要使人员随机选择可用目标,请将优先级偏好和距离偏好都设为
None。
放弃人员目标动作
Abandon Occupant Targets动作取消人员先前的一个或多个人员目标预约。放弃目标后,其他人员可以使用Goto Occupant Targets动作预约该目标。
要添加Abandon Occ Targets动作:
- 点击行为动作列表中的Abandon Occ Targets项。
- 通过选择目标(Targets)的选项来指定应放弃哪些预约。可设为以下值之一:
- 全部(All)
人员将放弃所有先前预约的目标。 - 最近(Most Recent)
人员仅放弃最近预约的目标。
- 全部(All)
- 点击创建(Create)。
转到人员动作
Goto Occupant动作指示人员选择另一名人员并向其移动。
- 点击行为动作列表中的Goto Occupant项。
- 在Goto Occupant对话框中按下方所述和图5所示输入所需参数。
- 点击创建(Create)。

图5:Goto Occupant 行为动作对话框
源人员使用以下参数来确定选择哪个目标人员以及如何向其移动:
- 标签(Tags)
要求目标人员具有的标签集。- 全部(All)
要求目标人员具有标签集中的所有标签。 - 任一(Any)
要求目标人员最少具有标签集中的一个标签。
- 全部(All)
- 距离偏好(Distance Preference)
定义人员在选择目标人员时将如何考虑到达每个人员的行程距离。- 无(None)
人员不关心到达该人员的距离。目标人员从可用人员中随机选择。 - 最近(Nearest)
选择最近的可用人员。
- 无(None)
- 追踪(Tracking)
定义源人员如何追踪目标人员。- 前往人员(Go to occupant)
源人员向目标人员移动,直到进入到达半径范围且视线无遮挡。 - 跟随人员(Follow occupant)
只要目标人员仍在模拟中且具有所需标签,源人员就持续向目标人员移动并跟随。 - 前往初始位置(Go to initial location)
源人员在动作开始时记录目标人员的位置,然后向该点移动,直到进入到达半径范围且视线无遮挡。当源人员到达时,目标人员可能已不在该点。
- 前往人员(Go to occupant)
- 到达半径(Arrival Radius)
源人员被视为已到达目标人员的半径范围。 - 无可用的目标人员(No available occupants)
定义动作开始时如果没有符合标签条件且可到达的人员时该如何处理。- 跳过动作(Skip action)
源人员将跳过此动作。 - 等待(Wait)
源人员将等待,直到找到目标人员。注意:源人员将等待一小段模拟时间后再次搜索,因为每次搜索可能是一项代价较高的编辑。默认延迟设为.25 s,但可以通过杂项模拟参数中的Goto Occupant 搜索间隔进行更改。
- 跳过动作(Skip action)
- 目标不可到达(Destination unreachable)
定义目标人员变得不可到达时人员的行为方式。- 跳过动作(Skip action)
源人员将跳过此动作。 - 等待(Wait)
源人员将等待直到目标人员再次变得可到达。 - 重新开始动作(Restart action)
重新开始该动作以便选择新的目标人员。
- 跳过动作(Skip action)
转到触发器动作
Goto Current Trigger动作指示人员向其当前使用的触发器移动。如果人员未使用触发器,则跳过此动作。
要添加Goto Current Trigger动作:
- 点击行为动作列表中的Goto Current Trigger项。
- 在Goto Current Trigger对话框中按下方所述输入所需参数。
- 点击创建(Create)。
Goto Current Trigger动作可用以下属性:
- 追踪(Tracking)
定义人员如何向触发器移动。- 前往触发器(Go to trigger)
人员向其当前触发器移动,直到进入到达半径范围且视线无遮挡。如果触发器在人员到达前被销毁,人员将跳过此行为动作。 - 跟随触发器(Follow trigger)
人员向触发器移动并跟随,直到触发器被销毁。 - 前往初始位置(Go to initial location)
人员在动作开始时记录当前触发器的位置,然后向该点移动,直到进入到达半径范围且视线无遮挡。当人员到达时,触发器可能已不在该点。注意:即使触发器被销毁,人员仍将继续向该位置移动。
- 前往触发器(Go to trigger)
- 到达半径(Arrival Radius)
人员被视为已到达触发器的半径范围。 - 目标不可到达(Destination unreachable)
定义追踪所指定的位置不可到达时人员的行为方式。- 跳过动作(Skip action)
人员将跳过此动作。 - 等待(Wait)
人员将等待该位置再次变得可到达。
- 跳过动作(Skip action)
等待动作
Wait动作指示人员在其当前位置等待一定时间。时间到达后,将开始下一个动作。
等待方式根据最近一次寻路动作的目标和等待模式(Wait Mode)而有所不同,可设为以下值:
- 避让他人(Avoid Others)
等待的人员将为前往目标的其他人员让路,除非该目标与等待人员最近的目标重叠。 - 原地等待并发生碰撞(Wait in place with collisions)
等待的人员将静止不动。其他人将尽量绕行。 - 原地等待无碰撞(Wait in place without collisions)
等待的人员将静止不动。其他人不会尝试避开,可以直接穿过他们。这在剧院或体育场的紧密座位排列等场景中可能有用,因为等待的人员实际上坐在座位上,不应在座位排中造成通行限制。
下表提供了关于各种先前寻路动作类型和等待模式下人员如何等待的更多细节:
| 先前寻路动作 | 等待模式:避让他人 | 等待模式:原地等待并发生碰撞 | 等待模式:原地等待无碰撞 |
|---|---|---|---|
| Goto Waypoint | 人员在避让他人的同时尽量靠近路径点。 | 人员在无避让的情况下移动到路径点,到达后停留。其他人仍会避开他们。 | 人员在无避让的情况下移动到路径点,到达后停留。其他人可以穿过他们。 |
| Goto Rooms | 人员尽量向房间中离所有活动门中远的点移动,以便其他人员进入房间。 | 人员稍微进入房间后原地等待。其他人仍会避开他们。 | 人员稍微进入房间后原地等待。其他人可以穿过他们。 |
| Goto Elevators | 人员到达目标楼层后停留在所乘电梯中。 | 不应使用。 | 不应使用。 |
| Goto Queue | 人员在使用服务的房间中以与Goto Rooms相同的方式等待。 | 人员在使用服务的原地静止,其他人尽量避开他们。其他人仍可使用该服务,但这可能导致过度拥堵。 | 人员在使用服务的原地静止,其他人继续使用该服务并可以穿过他们。 |
| Goto Occupant Targets | 人员使用人员目标预约系统确保有已预约的目标。如果已到达目标,将以与Goto Waypoint相同的方式在目标处等待。 | 人员使用人员目标预约系统,移动到已预约目标,然后在目标处静止。其他人尽量避开他们。 | 人员使用人员目标预约系统,移动到已预约目标,然后在目标处静止。其他人可以穿过他们。 |
| Wait for Assistance | 人员在与辅助者分离的房间中以与Goto Rooms相同的方式等待。 | 人员在与辅助者分离的房间中静止。其他人必须避开他们。 | 人员在与辅助者分离的房间中静止。其他人可以穿过他们。 |
注意:如果人员正在被辅助、无法自行移动,且其上一个动作将他们留在了目标房间中,辅助者将首先将客户移离该房间的所有门,即使这些门是停用的,然后辅助者将与客户断开连接。
要添加Wait动作:
- 点击行为动作列表中的Wait。
- 指定等待时间(Wait Time)。
等到动作
Wait Until动作指示人员延后其移动,直到指定的模拟时间过去。此动作用于同步多个人在某个时间点的移动。人员在Wait Until动作期间的空间占用规则与Wait动作相同。Wait Until动作可以通过三种不同方式指定:人员可以等待直到特定时间、一组时间列表中的下一个时间,或周期性函数中的下一个时间。
要添加Wait Until动作:
- 点击行为动作列表中的Wait Until。
- 点击时间以编辑值,将显示如图6所示的Wait Until Time对话框。
- 从下拉菜单中选择一个子动作。
- 指定所需参数。
- 在Wait Until Time对话框中点击确定。
- 点击创建(Create)。

图6:Wait Until Time 对话框
在Wait Until Time对话框中,有三个可用的子动作:
- 等待直到特定时间(Wait until a specific time)
此动作指示人员在其当前位置等待,直到模拟时间超过指定时间。如果人员开始此动作时该时间已经过去,他们将立即进入下一个动作。 - 等待直到下一个计划时间(Wait until next scheduled time)
此动作允许用户指定一个时间列表。当人员开始等待动作时,将模拟时间与指定的时间列表进行比较,并等待直到一个大于模拟时间的时间。如果模拟时间大于任一指定时间,人员立即进入下一个动作。 - 等待直到下一个周期性时间(Wait until next periodic time)
此动作设置一个周期性时间列表。- 时间偏移(Time offset)
指定时间列表中的初个条目。 - 时间间隔(Time interval)
指定列表中时间之间的延迟。
- 时间偏移(Time offset)
时间列表根据这些参数生成。例如,如果时间偏移设为60秒,时间间隔设为10秒,时间列表将为 [60, 70, 80, 90, 100, …]。与等待直到下一个计划时间动作类似,当人员开始此动作时,将选择列表中的下一个时间并等待直到该时间过去。
时间偏移和时间间隔均可指定为分布。在这种情况下,每个人员将获得一个独特的时间列表。例如,如果时间偏移设为 [50,60] 的均匀分布,时间间隔设为常量10秒,一名人员可能获得列表 [52.3, 62.3, 72.3, 82.3, ...],另一名人员可能获得列表 [59.2, 69.2, 79.2, 89.2, ...]。
此动作使人员切换其行为。执行此动作后,人员将开始执行另一行为的动作。新行为从给定的行为分布中随机选择。除其他行为外,也可以选择同一行为和无变更(No Change)。如果人员将行为更改为其当前行为,该行为将重新开始。如果人员选择无变更,Change Behavior动作将无效。可以创建行为引用中的循环,这样人员可能永远执行这些动作(直到模拟结束)。请注意,根据具体设置,Change Behavior动作之后的其他动作可能不会被人员执行。
此动作使人员更改其人员属性,这将覆盖人员属性中可设置的所有参数。这可用于在模拟过程中更改人员的速度、体型、头像等。所选人员属性从可能的属性列表中选择,包括一个无变更(No Change)项,该项将防止人员属性改变。
注意:此动作将覆盖所选人员属性中定义的所有人员参数,包括已为特定人员自定义的参数。
对于以分布形式指定的人员属性参数(如速度上限),给定人员将始终从该参数分布的同一部分选择值。例如,如果开始时给定人员使用的人员属性的最大速度是正态分布,且该人员的速度是从第25百分位选择的,则任意后续的人员属性更改也将导致该人员的速度从新速度分布的第25百分位选择。这确保了如果人员的人员属性被更改,该参数对该人员来说将保持一致。此外,如果参数在人员属性更改时没有变化,人员将保持之前的值。对于值集(如人员头像),仅当新人员属性使用与之前完全相同的值集时,才能保证人员保持相同的值。
人员属性更改也可用于改变人员的体型。可以从正常的圆柱体形状更改为车辆形状,也可以从一种车辆形状(如床)更改为另一种形状(如轮椅)。由于车辆可用于辅助疏散,在辅助过程中切换形状时需注意。如果人员需要在辅助过程中更换车辆,为确保功能正确,请先使用分离辅助者(Detach from Assistants)动作脱离辅助者,再更改形状,然后使用等待辅助(Wait for Assistance)动作重新连接辅助者。
此动作使人员覆盖人员属性中可设置的单个参数。这可用于在模拟过程中更改人员的速度、体型、头像等。
改变属性动作
要添加Change Profile Property动作:
- 点击行为动作列表中的Change Profile Property。
- 从Change Profile Property对话框的属性(Property)下拉菜单中选择要更改的属性。
- 指定要更改为的属性值。许多属性可以指定为分布或常量值。
- 点击创建(Create)。
对于以分布形式指定的属性,给定人员将始终从该属性分布的同一部分选择值。例如,如果开始时给定人员使用的人员属性的最大速度是正态分布,且该人员的速度是从第25百分位选择的,任意后续的速度属性更改也将导致该人员的速度从新速度分布的第25百分位选择。对于值集(如人员头像),仅当新属性具有与之前完全相同的值集时,才能保证人员保持相同的值。
属性更改也可用于改变人员的体型。可以从正常的圆柱体形状更改为车辆形状,也可以从一种车辆形状(如床)更改为另一种形状(如轮椅)。由于车辆可用于辅助疏散,在辅助过程中切换形状时需注意。如果人员需要在辅助过程中更换车辆,为确保功能正确,请先使用分离辅助者(Detach from Assistants)动作脱离辅助者,再更改形状,然后使用等待辅助(Wait for Assistance)动作重新连接辅助者。
注意:在模拟器中,处理单个Change Profile Property动作恰好需要1个时间步。如果连续串接多个此类动作,可能会在人员的移动中引入延迟。如果要更改许多属性,使用Change Profile动作可能更有效。
此动作使人员将参数重置为其人员属性中定义的值。这可用于重置先前通过Change Profile Property动作执行的更改。
重置属性动作
要添加Reset Profile Property动作:
- 点击行为动作列表中的Reset Profile Property。
- 从Reset Profile Property对话框的属性(Property)下拉菜单中选择要重置的属性。
- 点击创建(Create)。
此动作使人员更改其标签,可选择替换人员当前的标签。有关标签可应用于人员的其他方式,请参见人员标签。
更改标签动作
要添加Change Tags动作:
- 点击行为动作列表中的Change Tags。
- 通过选择操作(Operation)的选项来指定如何更改标签。可设为以下值之一:
- 添加(Add)(+)
指定标签将被添加到人员。 - 移除(Remove)(-)
指定标签将从人员中移除。 - 设置(Set)
人员当前的标签集将被替换为指定的标签集。
- 添加(Add)(+)
- 指定用于执行此操作的标签(Tags)集。每个标签应以空格分隔。
- 点击创建(Create)按钮。
此动作使人员将身体朝向另一名人员,并在执行其后续行为动作时持续保持该朝向,直到遇到Look Ahead动作。当人员有注视目标时,只要根据导航网格与目标人员有清晰的视线,就会调整其身体朝向。如果没有清晰的视线,则将身体朝向其目标方向。
注意:使用车辆形状的人员将跳过此动作。
- 点击行为动作列表中的Look At项。
- 在Look-at对话框中按下方所述和图7所示输入所需参数。
- 点击创建(Create)。

图7:Look At 行为动作对话框
源人员使用以下参数来确定选择哪个目标人员:
- 标签(Tags)
要求目标人员具有的标签集。- 全部(All)
要求目标人员具有标签集中的所有标签。 - 任一(Any)
要求目标人员具有标签集中的一个标签。
- 全部(All)
- 距离偏好(Distance Preference)
定义人员在选择目标人员时将如何考虑到达每个人员的行程距离。- 无(None)
人员不关心到达目标人员的距离。目标人员从可见人员中随机选择。 - 最近(Nearest)
选择最近的可见人员。
- 无(None)
此动作根据触发器模板创建新的触发器。这可用于影响模拟中其他人员的行为,也可用于创建移动触发器。
创建触发器动作
要添加Create Trigger动作:
- 点击行为动作列表中的Create Trigger。
- 点击触发器(Triggers)链接通过对话框指定应创建的触发器模板。
- 通过选择位置(Location)的选项来指定触发器应创建的位置。可设为以下值之一:
- 跟随人员(Follow Occupant)
触发器将在人员的当前位置创建,并从该位置开始随人员移动。 - 当前位置(Current Location)
触发器将在人员的当前位置创建并保持在该位置。 - 固定位置(Fixed Location)
触发器将在指定位置创建。选择此选项时,可以通过点击模型上的点来指定位置。
- 跟随人员(Follow Occupant)
- 点击创建(Create)按钮。
此动作创建的触发器不会影响创建它们的人员。它们将在该人员从模拟中移除时自动销毁。
摧毁触发器动作
要添加Destroy Trigger动作:
- 点击行为动作列表中的Destroy Trigger。
- 在显示的触发器(Triggers)对话框中指定应销毁的触发器模板。
- 点击对话框中的创建(Create)按钮。
该人员先前创建的所有具有所选模板的触发器将被此动作销毁。
此动作用于辅助疏散模型,如辅助疏散中所述。此动作指示人员加入辅助疏散团队并开始协助请求该团队辅助的人员。当人员加入团队时,他们成为辅助者。一旦所有符合辅助者感知条件的请求辅助的人员完成了他们需要辅助的动作,辅助者将开始其下一个动作。
救援人员动作
要添加Assist Occupants动作:
- 点击行为动作列表中的Assist Occupants。
- 指定人员将加入的辅助疏散团队(Team)。
- 按下方所述指定人员选择辅助客户的感知条件。
- 点击创建(Create)。
以下属性控制Assist Occupants动作的感知条件:
- 客户感知(Client Awareness)
定义辅助者可以辅助哪些客户。- 全局(Global)
辅助者可以辅助所有客户。 - 视线(Line of Sight)
辅助者仅辅助那些在辅助者感知半径范围内,且能够从辅助者通过导航网格追踪到一条不穿过任何房间边界的直线路径的客户。 - 感知半径(Awareness Radius)
定义辅助者在辅助客户之前必须进入每个客户周围的区域。可指定”INF”来禁用距离要求。
- 全局(Global)
- 起始房间(Starting Room)
辅助者仅辅助其开始此动作时所在房间中的客户。 - 当前房间(Current Room)
辅助者仅辅助在此动作期间曾与辅助者处于同一房间的客户。 - 指定房间(Specified Rooms)
辅助者仅辅助房间(Rooms)属性中列出的房间中的客户。
注意:如果所有辅助者的客户感知(Client Awareness)设为
Global以外的值,他们可能无法感知到所有需要辅助的客户。这可能导致客户卡住。
此动作表示人员应等待其他人员的辅助,如辅助疏散中所述。此动作要求使用者具有车辆形状且至少有一个附加人员位置,如车辆形状中所述。当人员开始此动作时,他们被视为客户,辅助者将接近该客户。客户按照该动作的等待模式(Wait Mode)等待,如Wait Until动作中所述。一旦所有附加位置被辅助者填满,客户开始其下一个动作。辅助者将持续附着于客户,直到客户完成所有后续动作或客户开始如下所述的分离辅助者(Detach from Assistants)动作。
等待救援动作
要添加Wait for Assistance动作:
- 点击行为动作列表中的Wait for Assistance。
- 指定将辅助该客户的辅助团队(Assisting Teams)。
- 点击创建(Create)。
此动作表示人员应与辅助者分离,如辅助疏散中所述。当人员开始此动作时,他们被视为客户,且当前正在被辅助移动。分离后,人员可以在没有辅助的情况下进入下一个行为,但前提是他们不需要辅助即可移动。此动作还允许辅助者转向下一个需要辅助的人员。
从救援分离动作
要添加Detach From Assistance动作:
- 点击行为动作列表中的Detach from Assistant。
- 点击创建(Create)。
此动作恢复当前行为之前的行为。它只能用于作为Change Behavior动作目标的行为。例如,假设行为A具有以下动作:
- 前往 RoomA
- 更改行为 <行为B>
- 离开 <任意>
而行为B具有以下动作:
- 等待 20 s
- 恢复之前的行为
恢复之前行为(Resume Prior Behavior)动作将导致人员按照以下动作序列执行:
- 前往 RoomA (来自
行为A) - 等待 20 s (来自
行为B) - 离开 <任意> (来自
行为A)
注意:如果一个行为以Resume Prior Behavior动作结束,该行为不能直接被人员或人员源引用。它只能被Change Behavior动作引用。
移除人员动作
要添加Resume Prior Behavior动作:
- 点击行为动作列表中的Resume Prior Behavior。
将人员从模拟中移除。该人员将不再可见,也不会与任意其他剩余人员交互。
要添加Remove Occupant动作:
- 点击行为动作列表中的Remove Occupant。
人员将在其当前位置等待,直到所有其他人员完成其行为动作或也开始Wait Until Simulation End动作。人员的等待方式与Wait和Wait Until动作类似,取决于该动作的等待模式(Wait Mode)。
注意:与Wait动作一样,如果人员正在被辅助、无法自行移动,且将被留在房间中,辅助者将首先将客户移离所有门,即使这些门是停用的,然后客户将断开连接,允许辅助者帮助其他客户。客户将在模拟剩余时间内无辅助地等待。
等待仿真结束动作
要添加Wait Until Simulation End动作:
- 点击行为动作列表中的Wait Until Simulation End。
此动作指示人员前往一组标记为避难区域的房间之一,如房间中所述。与Goto Exits动作一样,此动作必须是行为中的最后一个动作。当人员到达避难区域时,他们将留在模拟中,等待模拟完成。等待时的行为在上面的Wait动作中描述。此外,人员将被标记为”refuge_reached”,并在人员摘要和人员历史输出文件中报告,如人员摘要和人员历史中所述。
此动作的创建方式与Goto Rooms动作类似,只是只能选择标记为避难区域的房间。
注意:如果使用此动作的人员正在被其他人员辅助,辅助者将首先将客户移动到停放位置,然后分离。只有在此之后,客户才会被标记为”refuge_reached”并视为已完成该动作。
此动作使人员采取最快路线前往一组出口。与Goto Refuge Rooms动作一样,此动作必须是行为中的最后一个。人员通过出口后,将从模拟中移除,并在人员摘要和人员历史输出文件中报告为已离开模型,如人员摘要和人员历史中所述。
转到出口动作
要添加Goto Exits动作:
- 点击行为动作列表中的Goto Exits。
- 点击出口(Exits)链接通过对话框指定所需出口,或在3D或2D视图中左键点击所需出口。
- 在3D/2D视图中右键点击以完成出口选择并创建动作,或点击创建(Create)。
-e1750215042767.png)