[Unity][NavMesh]通过自动导航自动排队

 

移动的方式为NavMeshAgent

 

要想自动排队,先排队

1.获得每个要排队的实体的对象,并依次加入List数组

2.获得队伍的每个位置的坐标

3.更新每个排队的实体的坐标,更新排队

4.满足一定条件,当第一个完成 事件 的时候,更新排队,从list数组中移除第一个实体,并重复第3个步骤 更新排队

 

获得排队坐标有2种方式

1.建立若干个BoxCollider为Trigger的Cube实体,并且把这些Cube实体放入一个数组中,当角色实体要排队的时候,就调用对应的位置坐标。

缺点是 排队的数量有限制。

2.建立2个BoxCollider为Trigger的Cube实体,代表 排队的首部和尾部。

好处是,有多少对象就可以无限排队。

缺点,只能排队成一条直线,如果排队的队伍 要换成不同的花样,那么就得在

...
                avaters[i].MoveToPosNoSetCurrentPos(firstTrans.position+ vec*i*2);
...

这行代码中 进行 一些设置。

 

...
    public List<Transform> avaters = new List<Transform>();
    public Transform firstTrans = null;
    public Transform lastTrans = null;
...

public void UpdateCustomersPos()
    {
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值