#路径查找 #瓦片地图 #bevy #导航网格 #游戏开发

seldom_map_nav

Bevy插件,用于生成导航网格、路径查找和瓦片地图的导航。无需Bevy依赖即可生成导航网格。

8个版本 (破坏性)

0.7.0 2024年7月10日
0.6.1 2024年5月14日
0.5.0 2023年7月15日
0.4.0 2023年5月7日
0.1.0 2022年10月8日

#541 in 游戏开发

Download history 82/week @ 2024-04-28 76/week @ 2024-05-05 96/week @ 2024-05-12 21/week @ 2024-05-19 2/week @ 2024-05-26 11/week @ 2024-06-30 121/week @ 2024-07-07 7/week @ 2024-07-14

每月479次下载
用于 seldom_pixel

MIT/Apache

45KB
607

seldom_map_nav

Crates.io MIT/Apache 2.0 Crates.io

seldom_map_nav 是一个Bevy插件,用于生成导航网格、路径查找和瓦片地图的导航。无需Bevy依赖即可生成导航网格。它对您使用的瓦片地图解决方案无关,但不需要太多的粘合剂。它对您的位置类型也无关紧要,只要它实现了 Position2(例如 Transform)。它与 seldom_statestate 功能兼容。

特性

  • 适用于有限、方形瓦片地图的导航网格生成
  • 了解导航器的物理尺寸
  • Bevy插件用于路径查找和导航
  • seldom_state 集成

未来工作

此crate目前处于维护模式,因此我目前没有添加新功能。

  • 在特定情况下可以路径穿越的瓦片,例如门
  • 不能路径穿越的瓦片,但不需要生成清理区域,例如孔洞

生成的路径不一定是最佳路径,即使在高质量设置下也是如此,但我不打算自己修复这个问题。如果可能的话,我可能会切换依赖来改善这一点。

seldom_state 兼容性

如果启用 state 功能,当导航完成时(如果到达目的地或找不到路径),将触发 DoneTrigger。另请参阅相关示例: cargo run --example state --features="state"

用法

将其添加到您的 Cargo.toml

# Replace * with your desired version
[dependencies]
seldom_map_nav = "*"

要生成没有 Bevy 集成的 navmesh,请禁用 bevy 功能,并使用 Navmeshes::generateseldom_map_nav::mesh::generate_navmesh。请参阅 no_bevy.rs 示例。

要生成路径而不使用内置导航,请将 MapNavPlugin 添加到您的应用程序中,将 Navmeshes 组件添加到您的瓦片地图(或任何其他实体),并将 Pathfind 组件添加到您的导航实体。要使用内置导航,还请将 Nav 组件添加到您的导航实体。请参阅 nav.rs 示例。如果您在生成路径时遇到困难,请启用 log 功能,它可能会告诉您问题所在。

如果您需要帮助,请随时在 Bevy Discord 服务器@Seldom)上 ping 我!如果任何文档需要改进,请随时提交问题或 pr!

兼容性

Bevy seldom_state seldom_map_nav
0.14 0.11 0.7
0.13 0.10 0.6
0.11 0.7 0.5
0.10 0.6 0.4
0.10 0.5 0.3
0.9 0.3 0.2
0.8 0.2 0.1

许可证

seldom_map_nav 可根据您的选择在 MIT 和 Apache 2.0 许可证下双许可。

贡献

除非您明确表示,否则任何有意提交给作品以供您包含的贡献,根据 Apache-2.0 许可证定义,应按上述方式双许可,不附加任何额外条款或条件。

依赖关系

~28MB
~535K SLoC