本帖最后由 微笑的猫 于 2023-12-7 11:09 编辑
Agents Navigation 系列索引
Agents Navigation 3.0.2 下载链接
Agents Navigation 3.0.4 下载链接
Agents Navigation 3.0.6 下载链接
Agents Navigation 3.1.1 下载链接
Agents Navigation 3.1.5 下载链接
Agents Navigation 3.1.6 下载链接
Agents Navigation 3.3.2 下载链接
Agents Navigation 3.3.3 下载链接
Agents Navigation 3.3.4 下载链接
Agents Navigation 3.3.5 下载链接
Agents Navigation 3.5.0 下载链接
This package includes high performance, modular and scalable navigation for agents. It is developed with DOTS in mind. As a result, it takes advantage of Unity's latest technology stack, like SIMD mathematics, Jobs, Burst compiler and EntityComponentSystem. Additionally, there is hybrid mode support that enables using it with GameObjects in Object Oriented Programming.
What navigation features are contained in this package?
Unity NavMesh multithreaded support 3D
Avoidance 2D/3D
Flocking (Alignment, Cohesion) 3D
Separation 2D/3D
Collision 2D/3D
Can I use this in non ECS/Dots code?
Yes, there is a hybrid workflow where Game Object are synced with Entities. This allow to use this package in Object Oriented Programming too. Of course, it should be expected that performance going to be slightly worse.
Can I use it with ECS?
Yes, this package uses ECS.
What game genres this navigation targets?
This package was developed as a foundation for any navigation needs. However, this early version is currently focused on 3D/2D RTS, Moba, RPG, Shooter style genre games navigation.
Can I extend functionality?
Yes, the package was designed in mind that it could be extended as every game has unique needs for AI navigation. This solution is very modular and allows trivial adding/removing of existing behaviors. However, to extend functionality efficiently, you will need to have knowledge of ECS.
Can I use this package with other pathing solutions (etc. A* Pathfinding Project Pro, AnyPath)?
The solution in this package is very modular, so users can extend it to use different solutions without needing to modify this package. There are plans in the future to do collaboration with other pathing packages.
Can I use this for crowd flow?
Yes and no. As currently there is no implementation of motion fields/vectors, which usually produces the best results for huge crowds. However, current navigation also produces smooth motion in big groups. In the future, I plan to add motion fields.
Is it deterministic?
All systems are running in fixed update. In theory, it should be deterministic for Intel/AMD platforms (Burst). However, it still uses floats for navigation operations, which will not produce deterministic code across all the platforms. In the future, I plan to address this by introducing fixed point types.
How does this package differ from Local Avoidance?
This is a new version of local avoidance. It is a separate package as it contains a much bigger scope than just avoidance, but full navigation (etc. global pathing, boids, collisions...). For those who have a Local Avoidance package, they can do a paid upgrade instead of paying full price.
这个软件包包括高性能、模块化和可扩展的代理导航。它是以DOTS为基础开发的。因此,它利用了Unity的最新技术栈,如SIMD数学、Jobs、Burst编译器和EntityComponentSystem。此外,还有混合模式的支持,可以在面向对象的编程中与GameObjects一起使用它。
这个包中包含哪些导航功能?
Unity NavMesh多线程支持 3D
避开2D/3D
成群(对齐,凝聚) 3D
分离 2D/3D
碰撞 2D/3D
我可以在非ECS/Dots代码中使用它吗?
可以,有一个混合工作流程,游戏对象与实体同步。这也允许在面向对象的编程中使用这个包。当然,可以预料的是,性能会稍微差一些。
我可以和ECS一起使用它吗?
是的,这个包使用ECS。
这个导航的目标是什么游戏类型?
这个包是作为任何导航需求的基础而开发的。然而,这个早期版本目前集中在3D/2D RTS、Moba、RPG、射击类游戏的导航。
我可以扩展功能吗?
是的,该软件包在设计时就考虑到了它可以被扩展,因为每个游戏都有独特的AI导航需求。这个解决方案是非常模块化的,允许对现有行为进行简单的添加/删除。然而,为了有效地扩展功能,你需要具备ECS的知识。
我可以把这个软件包和其他寻路解决方案(如A*寻路项目专业版、AnyPath)一起使用吗?
这个软件包中的解决方案是非常模块化的,所以用户可以扩展它来使用不同的解决方案,而不需要修改这个软件包。未来有计划与其他寻路包进行合作。
我可以把它用于人群流动吗?
可以,也不可以。因为目前没有运动场/矢量的实现,而运动场/矢量通常对巨大的人群产生最好的效果。然而,目前的导航也能在大群体中产生平滑的运动。在未来,我计划添加运动场。
它是确定性的吗?
所有的系统都在固定更新中运行。理论上,对于英特尔/AMD平台(Burst),它应该是确定性的。然而,它仍然使用浮点进行导航操作,这不会在所有平台上产生确定性的代码。在未来,我计划通过引入固定点类型来解决这个问题。
这个包与Local Avoidance有什么不同?
这是一个新版本的局部回避。它是一个独立的包,因为它包含的范围要大得多,不仅仅是避让,而是全面的导航(例如全局路径、boids、碰撞......)。对于那些拥有本地规避软件包的人来说,他们可以进行付费升级,而不是支付全额费用。
|