Unity 万人寻路(dots版本)

本文介绍了Unity中万人寻路的实现,探讨了基础和进阶需求,如单位规避、建筑物避让等。作者对比了RVO2、AgentsNavigation和FlowField等方案的性能和局限,并分享了自研的ECS设计,包括phyCom组件、phySystem和moveSystem的逻辑,以及如何处理碰撞等级和快速包围、散开的问题。文章强调了理解需求、查阅资料和自主研发的重要性。
摘要由CSDN通过智能技术生成

时间:2023-7-29

北京下雨,公司停电,回家早了,更新一下。

寻路模块,还是前前后后,打磨了2个月,中间穿插着搞很多其他的功能,有些螺旋迭代的味道。

进入正题:

1,需求简介:

设计团队,会从游戏性角度考虑,提出很多需求。

基础的需求:

1,单位之间的规避,模型不能穿插

2,建筑物规避,模型不能穿插

3,寻路目标,移动向地方基地、靠近附近敌人

4,单位不能闪烁、卡顿(这也是常见的寻路抖动问题)

更进一步的需求:

1,碰撞等级

      1.1  高等级兵种,不会被低等级兵种卡住

      1.2  画面层次感,高级单位要推开低等级单位

2,快速包围

        2.1 以单个单位为例,当前方有己方单位,要像两侧规避

        2.2 包围大型单位,比如地方基地,包围的速度、阵容画面都要考虑

3,快速散开

        3.1  当出兵点拥挤了大量同等级单位,要快速散开;

        3.2  同时中线的单位数量,像两侧要依次递减

2,查阅到的资料:

1,RVO2:

来自:GitHub,

<

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
Unity3D+DOTS(Data-Oriented Technology Stack)是Unity引擎中的一种新的编程模型和技术堆栈,旨在提供更高性能和更好的可扩展性。DOTS的核心思想是将数据驱动的设计范式应用于游戏开发,以提高游戏的性能和效率。 DOTS包括以下几个主要组件: 1. ECS(Entity Component System):ECS是DOTS的核心部分,它是一种新的编程模型,用于管理游戏对象和组件之间的关系。ECS将游戏对象分解为实体(Entity)、组件(Component)和系统(System),通过数据驱动的方式来处理游戏逻辑。 2. Job System:Job System是Unity3D中的一个并行计算系统,它允许开发者利用多核处理器来执行游戏逻辑。通过将任务划分为小的工作单元(Job),Job System可以实现高效的并行计算,提高游戏的性能。 3. Burst Compiler:Burst Compiler是Unity3D中的一种编译器技术,用于将C#代码转换为高效的机器码。Burst Compiler可以与Job System结合使用,进一步提高游戏的性能。 使用Unity3D+DOTS可以带来以下优势: 1. 更高的性能:DOTS采用数据驱动的设计范式,可以更好地利用硬件资源,提高游戏的性能。 2. 更好的可扩展性:通过ECS和Job System,开发者可以轻松地编写高效的并行代码,并且可以方便地扩展游戏逻辑。 3. 更好的开发效率:DOTS提供了一种简洁而强大的编程模型,可以减少代码量,并且可以更好地组织和管理游戏逻辑。 4. 跨平台支持:Unity3D+DOTS可以在多个平台上运行,包括PC、移动设备和主机等。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高远呢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值