Vaše hra z prohlížeče, zkompilovaná do nativní aplikace
Když je projekt připraven opustit záložku, Engine jej exportuje a vygeneruje projekt Bevy v Rustu — ten pak zkompiluje do buildu pro Windows, macOS, Linux nebo Android.
Cíl
Bevy 0.19
Licence
MIT / Apache 2.0
Jazyk
Rust (rustc ≥ 1.95)
Renderer
wgpu
Co je Bevy
Bevy je herní engine napsaný v Rustu, svobodný a otevřený pod duální licencí MIT / Apache 2.0. Je postaven na architektuře entity-component-system a vykresluje pomocí wgpu, stejné grafické abstrakce, na které stojí WebGPU. Kompiluje se do skutečného nativního binárního souboru — žádný prohlížeč, žádný runtime, který by bylo třeba distribuovat s ním.
Proč vůbec druhý engine
Babylon.js je to, co aukimi vůbec umožňuje: 3D aplikaci, kterou otevřete pomocí URL adresy. Hotová hra ale často musí být souborem — něčím, co lze nahrát na stránku obchodu, předat hráči, nebo spustit bez záložky. Namísto toho, aby vás Engine nutil projekt přestavět jinde, jej přeloží sám: scéna, kterou jste vytvořili v prohlížeči, se stane projektem Bevy, který se zkompiluje do desktopové nebo mobilní aplikace.
Co se skutečně exportuje
Build vaši scénu nesnímá jako obrázek. Extrahuje ji: geometrie a materiály odcházejí jako standardní GLB, vše, co engine ví a co glTF neumí přenést (terén, vegetace, obloha, post-processing, data entit, nastavení scény), odchází vedle toho jako strukturovaný JSON, a z těchto dvou souborů se generuje kompletní projekt v Rustu. Jde o běžný Cargo projekt — můžete si jej přečíst.
- scene.glb — geometrie, materiály, animace
- scene.json — terén, vegetace, světla, nastavení
- Vygenerovaný Cargo projekt cílený na Bevy 0.19
Vaše skripty jedou s vámi
Herní skripty napsané v Engine se ručně nepřepisují do Rustu ani se nezahazují. Vygenerovaný projekt obsahuje vestavěný JavaScript runtime (QuickJS) a napojuje stejné skriptovací API, takže skript vytvořený v prohlížeči běží v nativním buildu přesně tak, jak byl napsán. Udržovat tato dvě API v souladu je trvalé pravidlo kódové základny, ne dodatečný nápad.
Čtyři cíle a jeden, který otevřeně přiznává, že chybí
Panel buildů dnes nabízí spustitelné soubory pro Windows, aplikační balíčky pro macOS, AppImages pro Linux a APK soubory pro Android. iOS je uveden a vypnutý — požadavek na toolchain není něco, co bychom mohli schovat za točící se kolečko. Pokud build server váš cíl zvládnout nemůže, dostanete vygenerovaný projekt v Rustu ke zkompilování vlastními silami, místo hlášení o chybě.
- Spustitelný soubor pro Windows 10/11
- Aplikační balíček pro macOS
- AppImage pro Linux
- APK pro Android (Android 8+)
Co se nepřenese, to se přizná
Dva renderery jsou prostě dva renderery. Některé věci, které náhled v prohlížeči umí, zatím na straně Bevy nemají obdobu — mimo jiné zapečené lightmapy a lokalizované light probes. Exportér místo toho, aby je tiše zahodil a nechal vás rozdíl objevit až v hotovém buildu, vypíše zprávu o převodu s přesným výčtem toho, co se přenést nepodařilo. Mezera, kterou si přečtete, je mezera, se kterou můžete počítat.
Ověřte si to u zdroje
Zkompilujte svůj projekt do skutečného binárního souboru
Hru vytvořte v prohlížeči. Vydejte ji jako aplikaci.
Podpořit Projekt