概要
Bevy 0.20 がリリースされ、多数の新機能や改善が追加。 Solariレンダラー の高速化とmacOS対応、 BSN構文の簡素化 などが大きな特徴。 UIウィジェット の拡充や WESLシェーダー言語 の正式採用も実現。 移行ガイド や詳細な新機能一覧が公式ドキュメントで提供。 開発者とコミュニティの協力による オープンソースゲームエンジン の進化。
Bevy 0.20 リリース概要
- 227人のコントリビューター、 817件のプルリクエスト、 多くのコミュニティレビュワー、 寄付者 の協力によるリリース
- Bevy はRust製の シンプルかつデータ駆動型のゲームエンジン
- crates.io で公開、 GitHub でソースコード取得可能、 オープンソース として永久無料
- クイックスタートガイド や Bevy Assets でプラグイン・学習リソースを提供
- 既存アプリやプラグインの移行 は 0.19→0.20移行ガイド 参照
主な新機能と改善点
- Solariリアルタイムパストレースレンダラー の高速化・高精度化・macOS(Metal)対応
- BSN(Bevy Scene Notation)構文 の大幅な簡素化・可読性向上
- Readyイベント によるシーン生成完了時のフック追加
- Bevy Feathers UIツールキット に新ウィジェット(カラー入力、スクロールリスト、ドロップダウン、LazyMenu、NumberInputドラッグ対応、ヘッドレスタブ)追加
- WESLシェーダー言語 の正式採用によるシェーダー開発体験の向上
- 2D/3Dマテリアル拡張、 カスタムスプライトマテリアル 作成対応
- Pan Orbit Camera によるCADライクなシーン操作
SolariとDLSSのアップデート
- Solari の全体的な最適化による CPUコストの大幅削減
- ReSTIR の実装改善でライティング精度向上、 動的オブジェクトの影の遅れ・反射のちらつき 低減
- ReSTIR をデフォルトでオフ化、必要に応じて SolariLighting::restir で再有効化
- DLSS-RR 4.5 対応による ノイズ除去品質の大幅向上
- Atmosphere/EnvironmentMapLights のカメラライティング対応、macOSでの動作(MetalFX Ray Reconstructionによる今後のノイズ除去検討中)
BSN構文改善
- @プレフィックス 必須化でシーン参照の明確化
- template_valueラッパー廃止 で記述量削減
- Enum の互換性向上(VariantDefaults不要、Default/Clone必須、全フィールド指定必須)
- ビルダーパターンやメソッドチェーン でのラッパー不要化
- リスト構文 の簡素化(区切りに「--」を採用、過剰インデント・ノイズ解消)
- bsn_list! では{}推奨、[]や()は非推奨
Readyイベントの追加
- シーン生成完了時 (全子孫エンティティ生成後)に Readyイベント を発火
- 独立性・再利用性の高いシーン構築 や 外部シーン表現との連携 が容易に
UIウィジェットの拡充(Bevy Feathers)
- Color Input :カラーピッカーウィジェット(カラーホイール、RGB/HSL、履歴付き)
- List View / Scrollbar :スクロール可能なリスト表示
- Dropdown Selection :選択肢をドロップダウンで表示
- Lazy Menu :開閉時のみメニュー生成/破棄する効率的なUI
- Number Input :ドラッグ対応、ハード/ソフトリミット、精度・ステップ調整可能
- ヘッドレスタブ :外部管理型タブリスト、キーボードショートカット・アクセシビリティ対応
WESLシェーダー言語の正式採用
- WESL は WGSL拡張の標準言語 で、モジュール・インポート・条件コンパイルなどをサポート
- 独自WGSL方言 を廃止し、 WESLコミュニティ と連携してエコシステム・ツール開発を推進
- WESL Playground でブラウザ上のシェーダー実験が可能
まとめ
- Bevy 0.20 は パフォーマンス・利便性・拡張性 の全方位で進化
- 公式ドキュメント・移行ガイド を活用して最新機能を体験
- オープンソースコミュニティ の協力による継続的な発展