2D・3Dゲーム向けに、Entity Component Systemを基盤としてRustで開発されたデータ駆動型ゲームエンジン。
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
Cargo.tomlの依存関係にavian3dを追加します(2Dの場合はavian2dを使用)。
avian3d = "0.8" - 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 の数値は毎日更新されます。
関連プロジェクト
ゲームやVR向けの、マルチコア環境に適したC++剛体物理・衝突検出ライブラリ。
Godotは、統合エディターから2D・3Dゲームを制作できる、無料かつMITライセンスのクロスプラットフォームゲームエンジンです。
スクリプトやAIツールから操作できる、2D・三人称視点の3D・2D/3D混在ゲーム向けの軽量なゲームエンジン。
JavaScript製のWeb向け2D剛体物理エンジン。ブラウザとNode.jsで動作します。
接触状態にある多関節剛体を高速かつ高精度にシミュレーションする汎用物理エンジン。ロボティクスや機械学習の研究で広く使われています。