Bevy 0.19リリース

#OSS

Bevy 0.19リリース Scene Systemの改

Bevy 0.19では、次世代のscene systemが導入され、シーンをより簡単に定義できるようになりました。

新しいBSN (Bevy Scene Notation) 形式は、Rustコードやアセットファイルで使用でき、ECS関係やScene Listsにも対応しています。

また、Render Bigger Scenes Faster、Contact Shadows、More Feathers Widgetsなどの新機能も追加されています。

Rust言語で構築されたゲームエンジン「Bevy」の0.19版が、crates.ioでリリースされました。261人の貢献者や1185のプルリクエスト、コミュニティのレビュー、寄付者の協力により実現されました。

次世代のシーンシステム

Bevy 0.19では、シーンの定義が大幅に改善されました。新しいBSN(Bevy Scene Notation)形式でコードやアセットファイルでシーンを定義でき、複数のシーンを組み合わせたり、修正したりできます。これにより、ECSやアセットの依存関係を手動で指定する必要がなくなりました。

パフォーマンス向上

レンダリング処理をGPUに委譲し、複数の領域で最適化を実施することで、より多くの要素を高速に描画できるようになりました。また、接触シャドウの導入により、シャドウの詳細度が向上し、フルレイトレーシングに比べてコストが抑えられました。

拡張性と柔軟性

テキスト入力や柔軟なフォント選択、アプリケーション設定のフレームワーク、ポスト処理効果などの機能が追加されました。また、BSNは関係性をサポートしており、カスタムの関係性を定義できるなど、柔軟なシーン構築が可能になりました。

まとめ

Bevy 0.19は、シーン定義の簡易化やパフォーマンス向上、柔軟な機能拡張など、多くの改善点を備えています。今後の開発では、アセット駆動型のワークフローが導入される予定です。

原文の冒頭を表示(英語・3段落のみ)

Thanks to 261 contributors, 1185 pull requests, community reviewers, and our generous donors, we're happy to announce the Bevy 0.19 release on crates.io!For those who don't know, Bevy is a refreshingly simple data-driven game engine built in Rust. You can check out our Quick Start Guide to try it today. It's free and open source forever! You can grab the full source code on GitHub. Check out Bevy Assets for a collection of community-developed plugins, games, and learning resources.To update an existing Bevy App or Plugin to Bevy 0.19, check out our 0.18 to 0.19 Migration Guide.Since our last release a few months ago we've added a ton of new features, bug fixes, and quality of life tweaks, but here are some of the highlights:Next Generation Scenes: Our brand new, massively improved scene system for Bevy has finally landed! Ergonomically define scenes in our new BSN (Bevy Scene Notation) format in code via the bsn! macro or (in a future release) in assets. Scenes are composable, patchable, and dependency aware. No more manually pulling in all of the ECS and asset dependencies required to spawn something!Render Bigger Scenes Faster: We've moved even more work to the GPU and optimized the renderer in a number of areas. Bevy can draw even more things even faster!Contact Shadows: Shadow quality makes a huge difference to how "polished" your game looks. Bevy 0.19 adds contact shadows to the mix, dramatically improving shadow detail without the cost of full raytracing.More Feathers Widgets: Bevy's opinionated "editor tooling" widget collection got a ton of new widgets. It was also ported to BSN, making it much more pleasant to use!Text Input: Bevy UI finally has upstream support for text entry via the new EditableText component.Richer Text: Bevy now has more flexible font selection, with support for higher level features like "font families" and variable font properties.App Settings: We've added an official "app settings" framework, which can load and save settings from files and expose them as ECS resources.Post Processing Effects: We've added built in "vignette" and "lens distortion" post processing effects.Improved Skinned Mesh Culling: Skinned meshes can now take their animations into account when they are being culled.Next Generation Scenes #Bevy 0.19 introduces our brand new, massively improved scene system for Bevy. We've been working on this for a long time (years now!), and we are excited to finally get it in the hands of Bevy developers. It makes defining scenes in code (and ultimately in assets produced by the upcoming Bevy Editor) much nicer. It will also be used to build the upcoming Bevy Editor!BSN (Bevy Scene Notation) #BSN is an ergonomic Rust-like scene syntax which can be defined in Rust code via the bsn! macro and in .bsn asset files. If you were ever bothered by the verbosity and complexity of spawning complex collections of entities in Bevy, you will probably enjoy what BSN has to offer. BSN can be used to spawn anything in the ECS. This benefits all scenarios, but it is worth calling out explicitly that this makes Bevy UI code significantly easier to read and write.Some quick caveats: while Bevy 0.19 technically supports scene assets, we aren't yet shipping a first-party .bsn asset loader. This release focuses on the code-driven workflow, and we plan to roll out the asset driven workflow in a future release. Additionally, BSN is still hot off the presses and it will likely take a few releases for us to iron out the experience. It is plenty useful now, but expect some rough edges and missing features.In Rust, a bsn! expression is essentially a list of components to add to an entity:bsn! {

Player {

score: 0

※ 著作権に配慮し、引用は冒頭3段落までです。続きは元記事をご覧ください。

元記事を読む ↗