ข้ามไปยังเนื้อหา
สร้างขึ้นบน Bevy
Bevy

เกมจากเบราว์เซอร์ของคุณ คอมไพล์เป็นแอปพลิเคชันเนทิฟ

เมื่อโปรเจกต์พร้อมออกจากแท็บ 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 เป็นไปได้: แอปพลิเคชัน 3 มิติที่คุณเปิดได้ด้วย URL เดียว แต่เกมที่เสร็จสมบูรณ์มักต้องออกมาเป็นไฟล์ — สิ่งที่ใส่ลงในหน้าร้านค้า ส่งมอบให้ผู้เล่น หรือรันได้โดยไม่ต้องมีแท็บ แทนที่จะให้คุณสร้างโปรเจกต์ใหม่ที่อื่น Engine จะแปลงมันให้: ฉากที่คุณสร้างในเบราว์เซอร์จะกลายเป็นโปรเจกต์ Bevy ที่คอมไพล์เป็นแอปพลิเคชันสำหรับเดสก์ท็อปหรือมือถือ

สิ่งที่ถูกส่งออกจริง ๆ

การบิลด์ไม่ได้แค่ถ่ายภาพหน้าจอฉากของคุณ แต่มันสกัดข้อมูลออกมาจริง ๆ: เรขาคณิตและวัสดุออกมาเป็นไฟล์ GLB มาตรฐาน ส่วนทุกอย่างที่เอนจินรู้แต่ glTF พาไปด้วยไม่ได้ (ภูมิประเทศ พืชพรรณ ท้องฟ้า การประมวลผลภาพหลังเรนเดอร์ ข้อมูลเอนทิตี การตั้งค่าฉาก) จะออกมาเป็น JSON ที่มีโครงสร้างควบคู่กันไป แล้วโปรเจกต์ Rust แบบเต็มจะถูกสร้างขึ้นจากไฟล์ทั้งสองนี้ โปรเจกต์นั้นเป็นโปรเจกต์ Cargo ธรรมดา — คุณอ่านมันได้

  • scene.glb — เรขาคณิต วัสดุ แอนิเมชัน
  • scene.json — ภูมิประเทศ พืชพรรณ แสง การตั้งค่า
  • โปรเจกต์ Cargo ที่สร้างขึ้นโดยกำหนดเป้าหมายเป็น Bevy 0.19

สคริปต์ของคุณก็ติดไปด้วย

สคริปต์เกมเพลย์ที่เขียนไว้ใน Engine จะไม่ถูกเขียนใหม่เป็น Rust ด้วยมือ และก็จะไม่ถูกทิ้งไปเช่นกัน โปรเจกต์ที่สร้างขึ้นฝังรันไทม์ JavaScript (QuickJS) ไว้และผูก scripting API เดียวกันเข้าไว้ด้วยกัน ทำให้สคริปต์ที่เขียนในเบราว์เซอร์รันในบิลด์เนทิฟได้ตามที่เขียนไว้จริง การรักษาให้ API ทั้งสองสอดคล้องกันเป็นกฎที่ยึดถืออยู่เสมอในโค้ดเบส ไม่ใช่เรื่องที่คิดทีหลัง

สี่เป้าหมายบิลด์ และอีกหนึ่งที่ยอมรับตรง ๆ ว่ายังไม่มี

ไฟล์ปฏิบัติการ Windows แพ็กเกจแอป macOS, Linux AppImage และ Android APK คือเป้าหมายที่แผงบิลด์เปิดให้ใช้งานในตอนนี้ iOS มีรายการอยู่แต่ปิดใช้งานไว้ก่อน — ข้อกำหนดเรื่อง toolchain เป็นสิ่งที่เราซ่อนไว้หลังไอคอนหมุนโหลดไม่ได้ ถ้าเซิร์ฟเวอร์บิลด์รับเป้าหมายของคุณไม่ได้ คุณจะได้รับโปรเจกต์ Rust ที่สร้างไว้ให้ไปคอมไพล์เองแทนที่จะเจอแค่ข้อความว่าล้มเหลว

  • ไฟล์ปฏิบัติการ Windows 10/11
  • แพ็กเกจแอป macOS
  • Linux AppImage
  • Android APK (Android 8 ขึ้นไป)

สิ่งที่ไปด้วยไม่ได้ ก็บอกตรง ๆ

ตัวเรนเดอร์สองตัวก็คือตัวเรนเดอร์สองตัว บางอย่างที่พรีวิวในเบราว์เซอร์ทำได้ยังไม่มีสิ่งเทียบเท่าในฝั่ง Bevy — เช่น lightmap ที่เบคไว้ล่วงหน้าและ light probe เฉพาะจุด ตัวส่งออกจะเขียนรายงานการแปลงที่ระบุชัดเจนว่าอะไรบ้างที่พาไปด้วยไม่ได้ แทนที่จะทิ้งมันไปเงียบ ๆ แล้วปล่อยให้คุณมาพบความแตกต่างเอาเองในบิลด์ที่เสร็จแล้ว ช่องว่างที่คุณอ่านได้ คือช่องว่างที่คุณวางแผนรับมือได้

แปลงโปรเจกต์ของคุณให้เป็นไบนารีจริง

สร้างเกมในเบราว์เซอร์ แล้วส่งมอบเป็นแอปพลิเคชัน

สนับสนุนโปรเจกต์