Unity排队开发(三)

梳理了排队模型,排队模型应分为排队前与排队时两个环节进行处理,今日开发了排队前的功能。

(一)排队前

(1)设置好队列线;

Unity排队开发(三)

(2)初始生成旅客,这里需要创建一个旅客生成器,需要注意的是,用了两个脚本,PassengerMake生成实例化旅客Prefab,Nav和behaviortree模块不支持实例化生成,因此调用第二个脚本Enable进行启用这两个功能;

Unity排队开发(三)

 

(3)给每个生成的人一个初始寻找对象,当队列中没人时,寻找队列线的末尾;当队列中有人时,寻找队列线末尾的人,到达判定采用距离计算;到达阈值可以设置较大,方便之后旅客寻找队列位置的行为;

(4)人物到达初始目标后,进行队列位置点的计算,由队列中前一个旅客的位置计算出该旅客应该处于队列线的位置,这里采用将队列线Vector3序列化,与前一个旅客进行距离计算,找到第一个符合的位置点就Break跳出,然后该旅客去寻找此点,后续旅客寻找的点更新为该旅客寻找的点,并重新计算自己应该寻找的那个位置点;

Unity排队开发(三)