Ваша браузерна гра, скомпільована в нативний застосунок
Коли проєкт готовий покинути вкладку, Engine експортує його та генерує проєкт Bevy на Rust — а потім компілює його у збірку для Windows, macOS, Linux або Android.
Платформа
Bevy 0.19
Ліцензія
MIT / Apache 2.0
Мова
Rust (rustc ≥ 1.95)
Рендерер
wgpu
Що таке Bevy
Bevy — це ігровий рушій, написаний на Rust, безкоштовний і з відкритим кодом за подвійною ліцензією MIT / Apache 2.0. Він побудований на архітектурі entity-component-system і рендерить через wgpu — ту саму графічну абстракцію, що лежить в основі WebGPU. Він компілюється у справжній нативний бінарник — без браузера, без рантайму, який довелося б постачати разом із ним.
Навіщо взагалі другий рушій
Саме Babylon.js робить aukimi можливим: 3D-застосунок, який відкривається за URL-адресою. Але готова гра часто мусить бути файлом — тим, що можна викласти на сторінку магазину, передати гравцю або запустити без вкладки. Замість того щоб просити вас перебудовувати проєкт деінде, Engine перекладає його: сцена, яку ви створили в браузері, стає проєктом Bevy, що компілюється в застосунок для десктопа чи мобільного пристрою.
Що насправді експортується
Збірка не робить знімок вашої сцени. Вона витягує її: геометрія та матеріали виходять як стандартний GLB, усе, що рушій знає, а glTF передати не може (рельєф, рослинність, небо, постобробка, дані сутностей, налаштування сцени), виходить поруч у вигляді структурованого JSON, а з цих двох файлів генерується повноцінний проєкт на Rust. Цей проєкт — звичайний проєкт Cargo, і ви можете його прочитати.
- scene.glb — геометрія, матеріали, анімація
- scene.json — рельєф, рослинність, освітлення, налаштування
- Згенерований проєкт Cargo під Bevy 0.19
Ваші скрипти переносяться разом
Ігрові скрипти, написані в Engine, не переписуються вручну на Rust і не відкидаються. Згенерований проєкт вбудовує JavaScript-рантайм (QuickJS) і прив'язує той самий скриптовий API, тож скрипт, написаний у браузері, виконується в нативній збірці таким, яким його написали. Узгодженість цих двох API — постійне правило кодової бази, а не запізніла думка.
Чотири платформи — і одна, що чесно визнає свою відсутність
Виконувані файли для Windows, пакунки застосунків macOS, AppImage для Linux та APK для Android — ось платформи, які панель збірки пропонує сьогодні. iOS вказано в списку, але вимкнено: вимогу до інструментарію неможливо приховати за індикатором завантаження. Якщо сервер збірки не може обробити вашу платформу, ви отримуєте згенерований проєкт на Rust для самостійної компіляції, а не повідомлення про помилку.
- Виконуваний файл для Windows 10/11
- Пакунок застосунку macOS
- AppImage для Linux
- APK для Android (Android 8+)
Що не переноситься — про це прямо сказано
Два рендерери — це два рендерери. Дещо з того, що показує браузерний перегляд, поки що не має еквівалента на боці Bevy — серед іншого запечені лайтмапи та локалізовані світлові проби. Експортер формує звіт про перенесення, у якому чітко перелічено все, що не вдалося перенести, замість того щоб мовчки це відкинути й дати вам виявити різницю вже в готовій збірці. Прогалину, яку можна прочитати, можна й спланувати.
Читайте з першоджерела
Зберіть свій проєкт у справжній бінарник
Створіть гру в браузері. Випустіть її як застосунок.
Підтримати проект