Repolode
avianphysics

avianphysics/avian

Rust製のBevyゲームエンジン向けに特化した、ECS駆動の2D・3D物理エンジン。

スター
3,281
フォーク
302
未解決の Issue
212
最終コミット
3 日前

これは何?

AvianはRustで書かれたBevyゲームエンジン向けの物理エンジンで、2D用(avian2d)と3D用(avian3d)の個別のcrateとして提供されています。BevyのEntity Component Systemに直接なじむよう設計されているため、物理オブジェクトは別の物理ワールドと同期を保つ必要がなく、通常のentityとcomponentとして扱えます。

速度、力、減衰、軸固定、スリープ、連続衝突判定に対応した、動的・キネマティック・静的な剛体を扱えます。衝突判定にはParryライブラリを使用し、衝突イベント、レイヤー、衝突フック、ジョイント(固定、距離、プリズマティック、回転、球面)に加え、レイキャストやシェイプキャストなどの空間クエリも提供します。固定タイムステップ向けのTransform補間とデバッグ描画も含まれています。

Avianはf32とf64の精度に対応しており、デフォルトはf32です。ドキュメントと2D・3Dのサンプルはdocs.rsとリポジトリで確認できます。

主な機能

  • 01速度、減衰、軸固定に対応した動的・キネマティック・静的剛体
  • 02Parryを利用した衝突判定と、レイヤー、衝突イベント、衝突フック
  • 03組み込みジョイント:固定、距離、プリズマティック、回転、球面
  • 04componentまたはSpatialQueryパラメーターを使ったレイキャスト、シェイプキャストなどの空間クエリ
  • 05固定タイムステップ向けのTransform補間と外挿
  • 06f32とf64の精度に対応

ユースケース

  • Bevyで開発した2D・3Dゲームに剛体物理と衝突判定を追加する
  • Bevyのシミュレーションでヒンジやスライダーなどのジョイントや拘束を作成する
  • 視線判定や弾の判定などのゲームプレイ処理にレイキャストやシェイプキャストを利用する

クイックスタート

  1. 1

    Cargo.tomlの依存関係にavian3dを追加します(2Dの場合はavian2dを使用)。

    avian3d = "0.8"
  2. 2

    BevyアプリにPhysicsPluginsを追加し、RigidBodyとColliderを使って物理エンティティを生成します。

使う前に知っておきたいこと

  • Bevyゲームエンジンに依存するため、Bevy以外では役に立ちません。
  • バージョン0.8のプレリリースのため、リリースごとにAPIが変更される可能性があります。
  • Bevyの各バージョンには対応するAvianのバージョンが必要なため、Bevyをアップグレードする際は連携して更新する必要があります。

収録されている特集

トピック

よくある質問

avian とは?
Rust製のBevyゲームエンジン向けに特化した、ECS駆動の2D・3D物理エンジン。 AvianはRustで書かれたBevyゲームエンジン向けの物理エンジンで、2D用(avian2d)と3D用(avian3d)の個別のcrateとして提供されています。BevyのEntity Component Systemに直接なじむよう設計されているため、物理オブジェクトは別の物理ワールドと同期を保つ必要がなく、通常のentityとcomponentとして扱えます。
avian は無料で使えますか?ライセンスは?
avian は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
avian は今もメンテナンスされていますか?
活発にメンテナンス中。avian の最終コミットは 2026年11月4日 です。
avian は何に使えますか?
Bevyで開発した2D・3Dゲームに剛体物理と衝突判定を追加する Bevyのシミュレーションでヒンジやスライダーなどのジョイントや拘束を作成する 視線判定や弾の判定などのゲームプレイ処理にレイキャストやシェイプキャストを利用する
avian のインストール方法は?
Cargo.tomlの依存関係にavian3dを追加します(2Dの場合はavian2dを使用)。: avian3d = "0.8" BevyアプリにPhysicsPluginsを追加し、RigidBodyとColliderを使って物理エンティティを生成します。
avian はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/avianphysics/avian

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト