#random #bevy #rand #game-engine #game

bevy_prng

提供用于集成到Bevy中的新类型RNG的crate

8个版本 (4个破坏性更新)

0.7.1 2024年7月5日
0.7.0 2024年7月4日
0.6.0 2024年4月24日
0.5.2 2024年2月21日
0.1.0 2023年8月29日

#1276 in 游戏开发

Download history 90/week @ 2024-05-03 72/week @ 2024-05-10 103/week @ 2024-05-17 78/week @ 2024-05-24 85/week @ 2024-05-31 90/week @ 2024-06-07 107/week @ 2024-06-14 112/week @ 2024-06-21 254/week @ 2024-06-28 391/week @ 2024-07-05 119/week @ 2024-07-12 66/week @ 2024-07-19 270/week @ 2024-07-26 172/week @ 2024-08-02 168/week @ 2024-08-09 86/week @ 2024-08-16

每月下载量709
2个crate中使用(通过bevy_rand

MIT/Apache

15KB
284

Bevy PRNG

Crates.io CI License Documentation

什么是Bevy PRNG?

bevy_prng是一个crate,它提供了各种rand_* PRNG算法crate的新类型版本,以便在bevy中进行反射。它使这些类型具有稳定的TypePath,并实现各种所需的特质。此crate可以作为独立单元使用,以访问各种选择的PRNG算法,然后用于在bevy中编写组件/资源,但它的主要目的是支持和与bevy_rand(提供通用包装组件/资源,bevy_prng类型可以插入)相对应。

使用Bevy PRNG

默认情况下,bevy_prng不会导出任何内容,除非显式定义了所需的特性/算法。为了访问新类型的RNG结构,您需要激活以下特性之一

  • rand_chacha - 此特性启用了导出新类型的ChaCha*Rng结构体,供需要使用CSPRNG级别的源的人使用。
  • rand_pcg - 此特性启用了从rand_pcg导出新类型的Pcg*结构体。
  • rand_xoshiro - 此特性启用了从rand_xoshiro导出新类型的Xoshiro*结构体。它还重新导出Seed512,以便无需显式引入rand_xoshiro即可设置Xoshiro512StarStar等。
  • wyrand - 此特性启用了从wyrand导出新类型的WyRand,与在fastrand/turborand中使用的相同算法。

除了这些用于启用各种支持算法的功能标志之外,还有一个 serialize 标志,用于提供 serdeSerialize/Deserialize 的支持,默认情况下是启用的。

所有类型都在模块的最顶层提供

use bevy_prng::*;

支持的PRNG算法/库

以下所有库都实现了必要的特性和 bevy_prng 兼容的特性行为。可以通过向该库/存储库提交PR来添加额外的PRNG库,前提是PRNG实现了 DebugClonePartialEq 以及可选的 Serialize/Deserialize serde 特性,并且这些特性放在合适的特性标志后面。

密码学安全的PRNG

非密码学安全的PRNG

支持的版本 & MSRV

bevy_prng 使用与 bevy 相同的MSRV。

bevy bevy_prng
v0.13 v0.5
v0.12 v0.2
v0.11 v0.1

rand_core 的版本

bevy_prng rand_core rand
rand_chacha rand_xoshiro rand_pcg

rand_pcg

rand_pcg

  • rand_pcg
  • rand_pcg

rand_pcg

rand_pcg

rand_pcg
rand_pcg