High performance, modular and scalable navigation for agents.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.Pillars of this package:Seamless Unity Integration: Harmoniously integrates with existing Unity technology, supporting both mono and dots.Intuitive and Streamlined UX: Offers a clean and simple user experience tailored for perfect alignment with Unity.Optimized Performance Out of the Box: Ensures default high performance through parallelized and optimized code.Employs a multi-layered API, facilitating low-level interactions.Clear Code Architecture: Adheres to clean coding practices with a clear architecture.Scalable and Modular Codebase: Built with scalability and modularity in mind, allowing easy extension with minimal package changes.What navigation features are contained in this package?Unity NavMesh multithreaded support 3DAvoidance 2D/3DFlocking (Alignment, Cohesion) 3DSeparation 2D/3DCollision 2D/3DExtensions:A* Pathfinding Project 5.0.8 (Preview)Agents Navigation - CrowdsCan 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. Currently, it has out of the box integration with A* Pathfinding Project.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.As I am a huge Diablo 2 fan, I created a small prototype of an ARPG heavily based on it. Since it uses my agent's navigation package, it serves as a nice example of how this package can enable an actual game project. For those who are interested, here is the link to it!Support Discord, Forums, DocumentationReview Turbo Makes Games (Sales information is outdated)Showcase Inferno, Mass Conflict, They Fear the MistDependenciesMinimum Unity 2022.3Package com.unity.entitiesAgents NavigationUnity NavMesh supportScenarios - contains small isolated test scenes that showcases some common navigation behaviors (etc. circle, hallway, group ...)Mass - stress test scene where thousands of agents are spawned and navigate through static and dynamic obstacles.Zerg - small subset of RTS game. With some common controls like smart stop, attack, follow, combat...
エージェント向けの高性能、モジュール式、スケーラブルなナビゲーション。
説明
このパッケージには、エージェント向けの高性能、モジュール式、スケーラブルなナビゲーションが含まれています。 DOTSを念頭に置いて開発されています。 その結果、SIMD 数学、ジョブ、バースト コンパイラー、EntityComponentSystem などの Unity の最新テクノロジー スタックを活用します。 さらに、ハイブリッド モードのサポートにより、オブジェクト指向プログラミングのゲームオブジェクトでの使用が可能になります。
このパッケージにはどのようなナビゲーション機能が含まれていますか?
Unity NavMesh マルチスレッド サポート 3D
回避2D/3D
植毛(整列、密着)3D
2D/3D分離
コリジョン2D/3D
これを ECS/Dots コード以外で使用できますか?
はい、ゲーム オブジェクトがエンティティと同期されるハイブリッド ワークフローがあります。 これにより、このパッケージをオブジェクト指向プログラミングでも使用できるようになります。 もちろん、パフォーマンスがわずかに悪くなることが予想されます。
ECSでも使えますか?
はい、このパッケージは ECS を使用しています。
このナビゲーションはどのようなゲーム ジャンルを対象としていますか?
このパッケージは、あらゆるナビゲーション ニーズの基盤として開発されました。 ただし、この初期バージョンは現在、3D/2D RTS、Moba、RPG、シューティング スタイルのジャンルのゲーム ナビゲーションに重点を置いています。
機能を拡張できますか?
はい、このパッケージは、どのゲームにも AI ナビゲーションに対する固有のニーズがあるため、拡張できることを念頭に設計されています。 このソリューションは非常にモジュール化されており、既存の動作の簡単な追加/削除が可能です。 ただし、機能を効率的に拡張するには、ECS の知識が必要です。
このパッケージを他のパス ソリューション (A* Pathfinding Project Pro、AnyPath など) と一緒に使用できますか?
このパッケージのソリューションは非常にモジュール化されているため、ユーザーはこのパッケージを変更することなく、拡張してさまざまなソリューションを使用できます。 将来的には、他のパス パッケージと連携する計画もあります。
これを群衆の流れに使用できますか?
はいといいえ。 現時点では、通常、大勢の群衆に対して最良の結果を生み出すモーション フィールド/ベクトルの実装はありません。 ただし、現在のナビゲーションは、大きなグループでもスムーズな動きを生成します。 将来的にはモーションフィールドを追加する予定です。
それは決定論的ですか?
すべてのシステムは修正アップデートで実行されています。 理論的には、Intel/AMD プラットフォーム (バースト) では決定的である必要があります。 ただし、ナビゲーション操作には依然として float が使用されるため、すべてのプラットフォームで決定的なコードが生成されるわけではありません。 将来的には、固定小数点型を導入することでこの問題に対処する予定です。
このパッケージはローカル回避とどう違うのですか?
これはローカル回避の新しいバージョンです。 これは、単なる回避ではなく、完全なナビゲーション (グローバル パス、ボイド、衝突など) を含むはるかに大きな範囲が含まれるため、別個のパッケージです。 Local Avoidance パッケージをお持ちの場合は、全額を支払う代わりに有料アップグレードを行うことができます。
Discord、フォーラム、ドキュメントのサポート
依存関係
最小統一性 2022.2
パッケージcom.unity.entities
注: 現在、ECS パッケージはプレリリース段階にあり、いくつかの軽微な問題が予想されます。
技術的な詳細
エージェントのナビゲーション
Unity NavMesh のサポート
シナリオ - いくつかの一般的なナビゲーション動作 (サークル、廊下、グループなど) を示す小さな独立したテスト シーンが含まれています。
マス - 何千ものエージェントが生成され、静的および動的障害物を通過するストレス テスト シーン。
Zerg - RTS ゲームの小さなサブセット。 スマートストップ、攻撃、フォロー、戦闘などの一般的なコントロールを備えています...