BLUI:创建游戏UI的简易方法

开源游戏开发插件允许虚幻引擎用户使用基于网络的编程创建独特的用户界面元素。
289 位读者喜欢这篇文章。
open source button on keyboard

Opensource.com

在过去几年中,游戏开发引擎变得越来越容易上手。像 Unity 这样一直免费使用的引擎,以及最近从订阅服务转变为免费服务的 Unreal 引擎,都让独立开发者能够使用与 AAA 发行商相同的行业标准工具。虽然这些引擎都不是开源的,但它们都促进了围绕它们的开源生态系统的发展。

在这些引擎中,有插件允许开发者通过添加特定的应用程序来增强引擎的基本功能。这些应用范围很广,从简单的资源包到更复杂的东西,如人工智能(AI)集成。这些插件在创作者之间差异很大。有些是由引擎开发工作室提供的,另一些是由个人提供的。后者中有许多是开源插件。

什么是 BLUI?

作为一家独立游戏开发工作室的一员,我体验过在专有游戏引擎上使用开源插件的好处。Aaron Shea 开发的开源插件 BLUI 对我们团队的开发过程起到了至关重要的作用。它允许我们使用基于网络的编程(如 HTML/CSS 和 JavaScript)创建用户界面 (UI) 组件。我们选择使用这个开源插件,即使虚幻引擎(我们选择的引擎)有一个内置的 UI 编辑器,可以达到类似的目的。我们选择使用开源替代方案主要有三个原因:它们的可访问性、易于实现性,以及伴随开源程序的活跃且支持性的在线社区。

在虚幻引擎的早期版本中,我们在游戏中创建 UI 的唯一方法是通过引擎的原生 UI 集成、使用 Autodesk 的 Scaleform 应用程序,或者通过虚幻社区中传播的一些精选的基于订阅的虚幻集成。在所有这些情况下,这些解决方案要么无法为独立开发者提供有竞争力的 UI 解决方案,要么对于小型团队来说太昂贵,要么专门为大型团队和 AAA 开发者设计。

在商业产品和虚幻引擎的原生集成都让我们失望之后,我们转向独立社区寻求解决方案。在那里我们发现了 BLUI。它不仅与虚幻引擎无缝集成,而且还维护着一个强大而活跃的社区,该社区经常推送更新并确保文档易于独立开发者访问。BLUI 使开发者能够将 HTML 文件导入虚幻引擎,并在程序内部进一步对其进行编程。这使得通过 Web 语言创建的 UI 能够与游戏的代碼、资源和其他元素集成,并充分利用 HTML、CSS、JavaScript 和其他 Web 语言的功能。它还完全支持开源的 Chromium Embedded Framework

安装和使用 BLUI

使用 BLUI 的基本过程首先涉及通过 HTML 创建 UI。开发者可以使用他们可支配的任何工具来实现这一点,包括引导 JavaScript 代码、外部 API 或任何数据库代码。一旦这个 HTML 页面准备就绪,你就可以像安装任何虚幻插件一样安装该插件,并加载或创建一个项目。项目加载完成后,你可以将 BLUI 函数放置在虚幻 UI 蓝图中的任何位置,或者通过 C++ 硬编码。开发者可以从他们的 HTML 页面中调用函数,或者使用 BLUI 的内部函数轻松更改变量。

Integrating BLUI into Unreal Engine 4 blueprints

将 BLUI 集成到虚幻引擎 4 蓝图中。

在我们当前的项目中,我们使用 BLUI 将 UI 元素与游戏内配乐同步,以便为游戏机制的节奏方面提供视觉反馈。将自定义引擎编程与 BLUI 插件集成非常容易。

Using BLUI to sync UI elements with the soundtrack.

使用 BLUI 将 UI 元素与配乐同步。

得益于 BLUI GitHub 页面上的 文档,将 BLUI 实施到虚幻引擎 4 中是一个简单的过程。还有一个 论坛 ,其中聚集了热情的虚幻引擎开发者,他们渴望提出和回答有关插件以及实施该工具时出现的任何问题。

开源优势

开源插件在专有游戏引擎的限制内实现了更广泛的创造力。它们继续降低进入游戏开发的门槛,并可以产生前所未有的游戏内机制和资源。随着对专有游戏开发引擎的访问持续增长,开源插件社区将变得更加重要。不断增长的创造力将不可避免地超越专有软件,而开源将填补空白,并促进真正独特的游戏的开发。而这种新颖性正是独立游戏的伟大之处!

标签

2 条评论

感谢分享

嗨,很好的信息,我完全不了解 BLUI,但它似乎是开发游戏用户界面的绝佳选择,完美!问候。

fhx coc

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© 2025 open-source.net.cn. All rights reserved.