整体上下地铁模型效果如下:
Model上下地铁
1.设置比例尺
2. 建轨道 拉一条轨道 设置两个轨道点 (这个地方得注意轨道得拉得够长)
初步轨道逻辑图如下:
这一部分便能实现 创建一辆8车厢列车开车到终点并消失
3. 现实中列车一般是驶入——到达终点—停留一下 —— 列车开出轨道消失,所以这里我们优化一下逻辑:
3.1 首先添加流程库中的delay模块
设置延时时间为1分钟(熟悉怎么做了可以按照自己的调参数)
3.2 列车开出轨道后消失
列车停留后,让列车沿轨道继续开,到末端消失——>在delay模块后添加moveTo模块
4. 列车行进逻辑写完后,我们考虑对列车形象进行优化。
首先创建一个列车智能体 命名为Train 动画为空,在流程图中的作用这一栏选择列车
再创建一个新智能体(车头动画、车尾动画)命名为RailCar,拖动三维物体中两个三维物体
为了保证后期车厢动画没有偏移,将其xy设为动态值 (0,0)
因为列车第一节为车头,后面为车厢,所以我们需要加一个参数,通过参数来调整动画。
修改车头动画的可见性为动态值 当p==1 时动画为车头
修改车厢动画的可见性为动态值 当p==2 时动画为车厢
现在我们需要到TrainSource中更新智能体,并通过代码对车厢进行设置
运行可以看到列车动画已更新
5. 行人在每节车厢前排队上车动画实现
5.1 动态生成排队服务和上车目标线
需要知道车厢在哪儿,并标记上下车位置
——>创建一个trainSource ,设定为inject( )调用,产生一次就消失。将线服务和目标线封装到一个新的智能体群(初始化为空,无动画)中。再在trainsource中车厢位置处使用代码动态将封装后的智能体创建,遍历每一节车厢,在智能体群中添加一个智能体。 将智能体的位置设置为列车的位置。
在轨道库中拖动如下模块:
创建MyAgent智能体群,选择无动画。
在MyAgent中添加线服务和目标线
回到Main中对列车进行设置
并在Main中点击空白处,对Main进行属性设置,让模型一开始启动就产生列车,得到上下车点。
运行动画如下: