Linux中國

BLUI:創建遊戲 UI 的簡單方法

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

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

什麼是 BLUI?

作為獨立遊戲開發工作室的一員,我體驗到了在專有遊戲引擎上使用開源插件的好處。Aaron Shea 開發的一個開源插件 BLUI 對我們團隊的開發過程起到了重要作用。它允許我們使用基於 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 提供全面支持。

安裝和使用 BLUI

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

![Integrating BLUI into Unreal Engine 4 blueprints](/data/attachment/album/201807/22/120956ze0op4p0czohpouz.png "Integrating BLUI into Unreal Engine 4 blueprints")

將 BLUI 集成到虛幻 4 圖紙中。

在我們當前的項目中,我們使用 BLUI 將 UI 元素與遊戲中的音軌同步,為遊戲機制的節奏方面提供視覺反饋。將定製引擎編程與 BLUI 插件集成很容易。

![Using BLUI to sync UI elements with the soundtrack.](/data/attachment/album/201807/22/121011i0ngdczghe0nwddb.png "Using BLUI to sync UI elements with the soundtrack.")

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

通過 BLUI GitHub 頁面上的文檔,將 BLUI 集成到虛幻 4 中是一個輕鬆的過程。還有一個由支持虛幻引擎開發人員組成的論壇,他們樂於詢問和回答關於插件以及實現該工具時出現的任何問題。

開源優勢

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

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

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

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


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國