Tarayıcı oyununuz, yerel bir uygulamaya derlendi
Bir proje sekmeden ayrılmaya hazır olduğunda, Engine onu dışa aktarır ve Rust ile bir Bevy projesi oluşturur — ardından bunu bir Windows, macOS, Linux veya Android derlemesine dönüştürür.
Hedef
Bevy 0.19
Lisans
MIT / Apache 2.0
Dil
Rust (rustc ≥ 1.95)
Render motoru
wgpu
Bevy nedir
Bevy, Rust ile yazılmış, çift MIT / Apache 2.0 lisansı altında ücretsiz ve açık kaynaklı bir oyun motorudur. Bir varlık-bileşen-sistem (entity-component-system) mimarisi etrafında inşa edilmiştir ve WebGPU'nun temelini oluşturan grafik soyutlamasının aynısı olan wgpu üzerinden render eder. Gerçek bir yerel ikili dosyaya derlenir — tarayıcı yok, birlikte gönderilecek çalışma zamanı (runtime) yok.
Neden ikinci bir motor
aukimi'yi mümkün kılan şey Babylon.js'tir: bir URL ile açtığınız bir 3D uygulama. Ama bitmiş bir oyunun çoğu zaman bir dosya olması gerekir — bir mağaza sayfasına koyacağınız, bir oyuncuya vereceğiniz ya da sekme olmadan çalıştıracağınız bir şey. Projenizi başka bir yerde yeniden inşa etmenizi söylemek yerine, Engine onu çevirir: tarayıcıda oluşturduğunuz sahne, masaüstü veya mobil bir uygulamaya derlenen bir Bevy projesine dönüşür.
Aslında dışa aktarılan nedir
Derleme, sahnenizin ekran görüntüsünü almaz. Onu ayıklar: geometri ve malzemeler standart bir GLB olarak çıkar, motorun bildiği ama glTF'in taşıyamadığı her şey (arazi, bitki örtüsü, gökyüzü, son işlem, varlık verisi, sahne ayarları) yanında yapılandırılmış bir JSON olarak çıkar ve bu iki dosyadan eksiksiz bir Rust projesi oluşturulur. Bu proje normal bir Cargo projesidir — onu okuyabilirsiniz.
- scene.glb — geometri, malzemeler, animasyon
- scene.json — arazi, bitki örtüsü, ışıklar, ayarlar
- Bevy 0.19 hedefli, oluşturulmuş bir Cargo projesi
Betikleriniz de sizinle gelir
Engine'de yazılan oyun betikleri elle Rust'a yeniden yazılmaz ve atılmaz. Oluşturulan proje bir JavaScript çalışma zamanı (QuickJS) gömer ve aynı betik API'sini bağlar, böylece tarayıcıda yazılan bir betik, yerel derlemede yazıldığı gibi çalışır. Bu iki API'yi uyumlu tutmak, sonradan akla gelen bir şey değil, kod tabanının kalıcı bir kuralıdır.
Dört hedef ve eksikliğini gizlemeyen bir tanesi
Windows çalıştırılabilir dosyaları, macOS uygulama paketleri, Linux AppImage'ları ve Android APK'ları, derleme panelinin bugün sunduğu hedeflerdir. iOS listelenir ama kapalıdır — araç zinciri gereksinimi, bir yükleme animasyonunun arkasına gizleyebileceğimiz bir şey değil. Derleme sunucusu hedefinizi alamıyorsa, bir hata mesajı yerine kendiniz derlemeniz için oluşturulmuş Rust projesini alırsınız.
- Windows 10/11 çalıştırılabilir dosyası
- macOS uygulama paketi
- Linux AppImage
- Android APK (Android 8+)
Aktarılamayan, bunu söyler
İki render motoru, iki render motorudur. Tarayıcı önizlemesinin yaptığı bazı şeylerin Bevy tarafında henüz bir karşılığı yok — önceden pişirilmiş ışık haritaları ve yerelleştirilmiş ışık probları bunlar arasında. Dışa aktarıcı, sessizce atıp farkı bitmiş derlemede keşfetmenize izin vermek yerine, tam olarak neyi aktaramadığını listeleyen bir dönüşüm raporu yazar. Okuyabildiğiniz bir eksiklik, etrafında plan yapabileceğiniz bir eksikliktir.
Şuradan erişilebilir
Kaynağından okuyun
Projenizi gerçek bir ikili dosyaya derleyin
Oyunu tarayıcıda yapın. Bir uygulama olarak yayımlayın.
Projeyi Destekle