歡迎光臨
每天分享高質量文章

BLUI:建立遊戲 UI 的簡單方法 | Linux 中國

開源遊戲開發外掛執行虛幻引擎的使用者使用基於 Web 的程式設計方式建立獨特的使用者介面元素。
— Uwana Lkaiddi


致謝
轉載自 | 
https://opensource.com/article/18/6/blui-game-development-plugin

 作者 | Uwana Lkaiddi

開源遊戲開發外掛執行虛幻引擎的使用者使用基於 Web 的程式設計方式建立獨特的使用者介面元素。

遊戲開發引擎在過去幾年中變得越來越易於使用。像 Unity 這樣一直免費使用的引擎,以及最近從基於訂閱的服務切換到免費服務的虛幻引擎Unreal Engine,允許獨立開發者使用 AAA 發行商相同達到行業標準的工具。雖然這些引擎都不是開源的,但每個引擎都能夠促進其周圍的開源生態系統的發展。

這些引擎中可以包含外掛以允許開發人員透過新增特定程式來增強引擎的基本功能。這些程式的範圍可以從簡單的資源包到更複雜的事物,如人工智慧 (AI) 整合。這些外掛來自不同的創作者。有些是由引擎開發工作室和有些是個人提供的。後者中的很多是開源外掛。

什麼是 BLUI?

作為獨立遊戲開發工作室的一員,我體驗到了在專有遊戲引擎上使用開源外掛的好處。Aaron Shea 開發的一個開源外掛 BLUI[1] 對我們團隊的開發過程起到了重要作用。它允許我們使用基於 Web 的程式設計(如 HTML/CSS 和 JavaScript)建立使用者介面 (UI) 元件。儘管虛幻引擎Unreal Engine(我們選擇的引擎)有一個實現了類似目的的內建 UI 編輯器,我們也選擇使用這個開源外掛。我們選擇使用開源替代品有三個主要原因:它們的可訪問性、易於實現以及伴隨的開源程式活躍的、支援性好的線上社群。

在虛幻引擎的最早版本中,我們在遊戲中建立 UI 的唯一方法是透過引擎的原生 UI 整合,使用 Autodesk 的 Scaleform 程式,或透過在虛幻社群中傳播的一些選定的基於訂閱的虛幻引擎整合。在這些情況下,這些解決方案要麼不能為獨立開發者提供有競爭力的 UI 解決方案,對於小型團隊來說太昂貴,要麼只能為大型團隊和 AAA 開發者提供。

在商業產品和虛幻引擎的原生整合失敗後,我們向獨立社群尋求解決方案。我們在那裡發現了 BLUI。它不僅與虛幻引擎無縫整合,而且還保持了一個強大且活躍的社群,經常推出更新並確保獨立開發人員可以輕鬆訪問檔案。BLUI 使開發人員能夠將 HTML 檔案匯入虛幻引擎,併在程式內部對其進行程式設計。這使得透過 web 語言建立的 UI 能夠整合到遊戲的程式碼、資源和其他元素中,並擁有所有 HTML、CSS、Javascript 和其他網路語言的能力。它還為開源 Chromium Embedded Framework[2] 提供全面支援。

安裝和使用 BLUI

使用 BLUI 的基本過程包括首先透過 HTML 建立 UI。開發人員可以使用任何工具來實現此目的,包括自舉bootstrappedJavaScript 程式碼、外部 API 或任何資料庫程式碼。一旦這個 HTML 頁面完成,你可以像安裝任何虛幻引擎外掛那樣安裝它,並載入或建立一個專案。專案載入後,你可以將 BLUI 函式放在虛幻引擎 UI 圖紙中的任何位置,或者透過 C++ 進行硬編碼。開發人員可以透過其 HTML 頁面呼叫函式,或使用 BLUI 的內部函式輕鬆更改變數。

將 BLUI 整合到虛幻 4 圖紙中。

在我們當前的專案中,我們使用 BLUI 將 UI 元素與遊戲中的音軌同步,為遊戲機制的節奏方面提供視覺反饋。將定製引擎程式設計與 BLUI 外掛整合很容易。

使用 BLUI 將 UI 元素與音軌同步。

透過 BLUI GitHub 頁面上的檔案[3],將 BLUI 整合到虛幻 4 中是一個輕鬆的過程。還有一個由支援虛幻引擎開發人員組成的論壇[4],他們樂於詢問和回答關於外掛以及實現該工具時出現的任何問題。

開源優勢

開源外掛可以在專有遊戲引擎的範圍內擴充套件創意。他們繼續降低進入遊戲開發的障礙,並且可以產生前所未有的遊戲內的機制和資源。隨著對專有遊戲開發引擎的訪問持續增長,開源外掛社群將變得更加重要。不斷增長的創造力必將超過專有軟體,開原始碼將會填補這些空白,並促進開發真正獨特的遊戲。而這種新穎性正是讓獨立遊戲如此美好的原因!


via: https://opensource.com/article/18/6/blui-game-development-plugin

作者:Uwana lkaiddi[6] 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

贊(0)

分享創造快樂