mcpField
B
bevy-cargo-features

bevy-cargo-features

github.com/chrisgliddon開発2692 回インストール9 週間前に更新
リポジトリ

bevy-cargo-features について

Bevy 0.19のCargo機能を選択・組み合わせる開発者向けのスキルです。ヘッドレスサーバー、カスタムレンダラー、入力、ブラウザビルド向けの構成を解説します。

主な機能

  1. 01アプリ構成の選択
  2. 02機能セットの概要
  3. 03ヘッドレスサーバーの設定
  4. 04カスタムレンダラーの設定
  5. 05入力とコントローラー機能
  6. 06ブラウザビルド構成

活用シーン

  1. 01未使用のデフォルト機能の削減
  2. 02ヘッドレスサーバーの構成
  3. 03カスタムレンダラーでのビルド
  4. 04ブラウザとコントローラー機能の選択

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/chrisgliddon/bevy-skills --skill bevy-cargo-features

インストール後、Claude Code で/bevy-cargo-featuresを入力して読み込まれたか確認します。

詳細

Bevy 0.19 — Cargo の機能

このスキルを使う場面

  • デフォルトの機能一式を有効にせず、サポートされているアプリケーションプロファイルを選択します。
  • カスタムレンダラーまたはヘッドレスサーバーを構成します。
  • ネイティブのコントローラー入力、ウィンドウ/入力 API、またはブラウザーでのレンダリングを有効にします。
  • デフォルト機能を無効にした後に型やプラグインが見つからない場合の原因を調べます。

標準プロファイル

Bevy のデフォルトは 2d + 3d + ui + audio です。プロファイルを選択するには、デフォルト機能を無効にすることが不可欠です。

# 3D game with Bevy UI, but no audio or 2D renderer
bevy = { version = "0.19", default-features = false, features = ["3d", "ui"] }

# 2D game with audio, but no 3D renderer or UI
# bevy = { version = "0.19", default-features = false, features = ["2d", "audio"] }

デフォルト機能を有効にしたまま features = ["3d"] と記述しても、機能は絞り込まれません。Cargo は機能セットを結合するためです。

機能のレイヤー

レイヤー機能意味
プロファイル2d、3d、ui、audioアプリの完全な構成
組み込みレンダリング2d_bevy_render、3d_bevy_render、ui_bevy_render各領域向けの Bevy レンダラー
API のみ2d_api、3d_api、ui_apiレンダーバックエンドなしのコンポーネント/アセット
基本機能default_app、default_platformアプリのコアサービスとプラットフォーム/ウィンドウ/入力サービス
グループ化scene、picking、dev関連する機能のコレクション

API のみの機能では描画できません。Bevy のワールド側の型を使用するカスタム/外部レンダラー向けです。

ヘッドレスサーバー

bevy = { version = "0.19", default-features = false, features = [
    "default_app",
    "multi_threaded",
    "serialize",
    "bevy_world_serialization", # omit if the server never loads saved worlds
] }

MinimalPlugins を使い、サーバーが必要とするサービスプラグインだけを追加します。 0.19 では bevy_scene は BSN です。従来のリフレクション対応ワールドシリアライズには bevy_world_serialization を使います。

カスタムレンダラー

bevy = { version = "0.19", default-features = false, features = [
    "default_app",
    "3d_api",
] }

カスタムレンダラーが Bevy のウィンドウイベントループを共有する場合に限り、bevy_winit/プラットフォーム入力を追加します。Bevy の組み込みレンダラーを実際に使用する場合は、3d_api ではなく 3d_bevy_render を追加します。

入力とコントローラー

  • mouse、keyboard、gamepad、touch、gestures は API の各要素を有効にします。
  • ネイティブのコントローラー検出/入力には、bevy_gilrs を有効にします。これにより gamepad も有効になります。gamepad 機能だけでは、プラットフォームバックエンドは有効になりません。
  • 上位レベルの default_platform コレクションには、bevy_gilrs、Winit、デスクトップウィンドウバックエンド、デフォルトフォント、webgl2 が含まれます。

ブラウザープロファイル

bevy = { version = "0.19", default-features = false, features = [
    "3d",
    "ui",
    "touch",
    # "webgpu", # overrides WebGL2; use a separate WebGPU artifact
] }

3d プロファイルには、デフォルトのプラットフォームと WebGL2 の経路がすでに含まれています。webgpu を有効にすると webgl2 は置き換えられます。実行時フォールバックを含むビルドではありません。 bevy-wasm-webgpu を参照してください。

0.19 での変更点と注意事項

  • 2d と 3d は ui を暗黙的に有効にしなくなりました。ui を明示的に追加してください。
  • 2d、3d、ui は audio を暗黙的に有効にしなくなりました。audio またはより低レベルのコーデックの組み合わせを明示的に追加してください。
  • scene は bevy_world_serialization と、新しい BSN の bevy_scene の両方を有効にするようになりました。
  • dev、dynamic_linking、ファイルウォッチャー、トレーシング、開発ツールは、プロジェクトの開発用機能の背後に置き、誤ってリリースに含めないようにしてください。
  • ネイティブの Linux ウィンドウバックエンドは x11 と wayland です。ドキュメントに記載されているモバイル向けのターゲット固有の activity 機能は、相互に排他的です。Bevy に windows や macos という機能名があると考えてはいけません。
  • プロファイルコレクションは、安定した出発点です。コンパイル時間、バイナリサイズ、またはカスタムレンダラーのために、保守コストに見合う場合に限り、より低レベルのコレクションを使用してください。

関連項目

コメント