Bevy:基於Rust的資料驅動遊戲引擎和應用程式框架

banq發表於2020-08-12

Bevy是一個用Rust開發的令人耳目一新的簡單資料驅動遊戲引擎和應用程式框架。
它具有以下設計目標:
  • 功能:提供完整的2D和3D功能集
  • 簡單:對於新手來說很容易上手,但是對於高階使用者則具有無限的靈活性
  • 關注資料:使用實體元件系統範例的面向資料的體系結構
  • 模組化:僅使用您需要的內容。替換你不喜歡的東西
  • 快速:應用程式邏輯應快速執行,並儘可能並行執行
  • 高效:更改應快速編譯,等待並不是一件有趣的事

我認為Bevy具有許多功能,與其他引擎不同:
  • Bevy ECS:具有無與倫比的可用性和超快效能的自定義實體元件系統
  • 渲染圖:使用“渲染圖”節點輕鬆構建自己的多執行緒渲染管道
  • Bevy UI:專為Bevy構建的自定義ECS驅動的UI框架
  • 高效的編譯時間:使用“快速編譯”配置,預期更改將在約0.8-3.0秒內完成編譯

它還具有大多數人期望從現代通用引擎獲得的許多功能:
  • 跨平臺:Windows,MacOS和Linux(計劃支援移動和Web)
  • 3D:燈光,網格,紋理,MSAA和GLTF載入
  • 精靈:渲染單個影像作為子畫面,子畫面從片材呈現,和動態地產生新的子畫面片
  • 資產:可擴充套件的,事件驅動的資產系統,可在後臺執行緒中非同步載入資產
  • 場景:將ECS Worlds儲存到人類可讀的場景檔案中,並將場景檔案載入到ECS Worlds中
  • 外掛:所有引擎和應用功能均作為模組化外掛實現
  • 聲音:將音訊檔案作為素材載入並從系統中播放
  • 多個渲染後端:Vulkan,DirectX 12和Metal(由於wgpu而有更多的發展中)
  • 資料驅動著色器:輕鬆將ECS元件直接繫結到著色器制服
  • 熱資產過載:在執行時自動將更改過載到資產,而無需重新編譯或重新啟動
  • 事件:從ECS系統內部有效地消費和產生事件
  • 屬性:使用名稱欄位的字串版本動態獲取和設定元件欄位
  • 層次變換:在實體之間建立父子關係,以在層次結構中傳播變換


 

相關文章