Dit browserspil, kompileret til en native app
Når et projekt er klar til at forlade fanen, eksporterer Engine det og genererer et Bevy-projekt i Rust — og kompilerer det derefter til en Windows-, macOS-, Linux- eller Android-build.
Mål
Bevy 0.19
Licens
MIT / Apache 2.0
Sprog
Rust (rustc ≥ 1.95)
Renderer
wgpu
Hvad Bevy er
Bevy er en spilmotor skrevet i Rust, gratis og open source under en dobbelt MIT/Apache 2.0-licens. Den er bygget op omkring en entity-component-system-arkitektur og renderer gennem wgpu, den samme grafikabstraktion, som ligger under WebGPU. Den kompileres til en ægte native binærfil — ingen browser, ingen runtime, der skal følge med.
Hvorfor overhovedet en anden motor
Babylon.js er det, der gør aukimi muligt: en 3D-applikation, du åbner med en URL. Men et færdigt spil skal ofte være en fil — noget at lægge på en butiksside, give en spiller eller køre uden en fane. I stedet for at bede dig om at genopbygge dit projekt et andet sted, oversætter Engine det: scenen, du har lavet i browseren, bliver til et Bevy-projekt, der kompileres til en desktop- eller mobilapplikation.
Hvad der rent faktisk eksporteres
Builden tager ikke et skærmbillede af din scene. Den udtrækker den: geometri og materialer forlader som en standard GLB, alt det, motoren ved, som glTF ikke kan bære (terræn, vegetation, himmel, post-processing, entity-data, sceneindstillinger), forlader som struktureret JSON ved siden af, og et fuldt Rust-projekt genereres ud fra de to filer. Det projekt er et almindeligt Cargo-projekt — du kan læse det.
- scene.glb — geometri, materialer, animation
- scene.json — terræn, vegetation, lys, indstillinger
- Et genereret Cargo-projekt målrettet Bevy 0.19
Dine scripts følger med
Gameplay-scripts skrevet i Engine bliver hverken omskrevet til Rust i hånden eller droppet. Det genererede projekt indlejrer en JavaScript-runtime (QuickJS) og binder det samme scripting-API, så et script skrevet i browseren kører i den native build, som det er skrevet. At holde disse to API'er på linje er en fast regel i kodebasen, ikke en eftertanke.
Fire mål, og ét der er ærligt om at mangle
Windows-eksekverbare filer, macOS-app-bundles, Linux-AppImages og Android-APK'er er de mål, byggepanelet tilbyder i dag. iOS er listet og slået fra — kravet til værktøjskæden er ikke noget, vi kan gemme bag en loading-indikator. Hvis byggeserveren ikke kan klare dit mål, får du det genererede Rust-projekt til selv at kompilere i stedet for en fejlbesked.
- Windows 10/11-eksekverbar fil
- macOS-app-bundle
- Linux-AppImage
- Android-APK (Android 8+)
Det, der ikke følger med, siger det selv
To renderere er to renderere. Nogle ting, browserforhåndsvisningen kan, har endnu ingen tilsvarende på Bevy-siden — bagte lightmaps og lokaliserede light probes blandt dem. Eksportøren skriver en konverteringsrapport, der lister præcis, hvad den ikke kunne overføre, i stedet for stiltiende at droppe det og lade dig opdage forskellen i den færdige build. Et hul, du kan læse om, er et hul, du kan planlægge omkring.
Læs det ved kilden
Byg dit projekt til en rigtig binærfil
Lav spillet i browseren. Udgiv det som en applikation.
Støt Projektet