编辑器/功能拓展
道具
Unity 2022
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
成群(对齐、聚合) 三维
分离 2D/3D
碰撞 2D/3D
可以在非 ECS/Dots 代码中使用吗?
可以,在混合工作流程中,游戏对象与实体是同步的。这样就可以在面向对象编程中使用该程序包。当然,性能会稍差一些。
能否与 ECS 一起使用?
可以,本软件包使用 ECS。
此导航针对哪些游戏类型?
本软件包是作为满足任何导航需求的基础而开发的。不过,这个早期版本目前主要针对 3D/2D RTS、Moba、RPG 和射击类游戏导航。
我可以扩展功能吗?
可以,由于每个游戏都有独特的人工智能导航需求,因此本软件包在设计之初就考虑到了它的扩展性。该解决方案非常模块化,允许琐碎地添加/删除现有行为。不过,要有效地扩展功能,您需要掌握 ECS 知识。
|
|