#游戏引擎 #amethyst #实现 #算法 #鸟群 #craig #reynold

应用 henninglive/boids

使用Amethyst游戏引擎在Rust中实现的Boids鸟群模拟

1 个不稳定版本

0.1.0 2017年6月16日

#1564游戏开发

6 个星 & 2 个观察者

17KB
424

boids-rs

使用Rust和Amethyst游戏引擎实现的Craig Reynold的Boids算法

Boids模拟了一群具有协调群体行为的鸟类。对每个鸟群成员逐一应用一些规则。这些规则使得鸟群展现出各种行为特征。

规则

  • 分离:避免拥挤当地鸟群成员,进行转向
  • 对齐:转向,朝着当地鸟群成员的平均航向
  • 聚拢:转向,朝着当地鸟群成员的平均位置(质心)

alt text

依赖

如果您在Linux上编译,请确保安装以下依赖项。

Debian/Ubuntu

apt install gcc pkg-config openssl libasound2-dev cmake build-essential python3 libfreetype6-dev libexpat1-dev libxcb-composite0-dev libssl-dev libx11-dev libfontconfig1-dev

其他操作系统

参见Amethyst README

构建和运行

  1. 确保您已安装rust编译器的1.47.0版本。Amethyst版本0.15中存在错误,阻止了使用较新版本的rustc进行编译。您可以使用以下命令为当前目录覆盖rustc版本:$ rustup default 1.47.0
  2. 构建项目 $ cargo build --release(注意:在不进行优化编译时,性能差异很大,因此我建议始终使用--release来启用它们)
  3. 完成后,二进制文件将位于target/release/boids
  4. 使用$ cargo run --release一步构建并运行

依赖

~56MB
~836K SLoC