【UE4】一个实现Web穿透,用HTML开发UI的方式——WebUI的用法

网友实现的效果
👉 原文地址
: https://blog.hidavid.cn/webui-html-mouse-unreal/

  1. 如何导入UE4的插件Plugins
  2. UE4如何跟WebBrowser交互,互调传参
  3. Web穿透设置
  4. 文末附件

一、下载和导入插件

首先到官网下载对应版本的依赖库,把依赖库解压后放置在游戏引擎安装目录的Plugins目录下面:
如我的路径是 ..../Epic Games\UE_4.23\Engine\Plugins\Runtime

打开例程项目,点开插件管理页面,Edit->Plugins,勾选刚加入项目的plugins,如下图:
在这里插入图片描述
重启项目才能加载刚勾上的plugins

最后导入demo项目里面的InterfaceHUDWebInterface

关于导出导入蓝图:先在需要导出的项目中选中需要导出的蓝图文件,点击右键,选择AssetAction->migrate,接着选择需要导入项目的Content路径,注意一定是要Content路径,不然蓝图会出问题。
这样就完成了蓝图的导出导入。

到了这一步就完成了UE4插件的导入。

二、UE4跟web交互,互相调用

html加上这段,方便接口调用两个蓝图。创建继承InterfaceHud的蓝图BP_HUD,或者直接使用InterfaceHUD,并在GameMode中设置使用它。

<script>
// create the global ue4(...) helper function
"object"!=typeof ue||"object"!=typeof ue.interface?("object"!=typeof ue&&(ue={}),ue.interface={},ue.interface.broadcast=function(e,t){if("string"==typeof e){var o=[e,""];void 0!==t&&(o[1]=t);var n=encodeURIComponent(JSON.stringify(o));"object"==typeof history&&"function"==typeof history.pushState?(history.pushState({},"","#"+n),history.pushState({},"","#"+encodeURIComponent("[]"))):(document.location.hash=n,document.location.hash=encodeURIComponent("[]"))}}):function(e){ue.interface={},ue.interface.broadcast=function(t,o){"string"==typeof t&&(void 0!==o?e.broadcast(t,JSON.stringify(o)):e.broadcast(t,""))}}(ue.interface),(ue4=ue.interface.broadcast);
</script>

2.1 js传数据到UE4

在js中调用下面函数,第一个参数为UE4对应的接口名称,第二个参数(可选)为传入的json参数

ue4("callUE4Func", {"haha":999});

修改HUD的蓝图,在SwitchOnName中加入pin,命名为调用函数的名称
在这里插入图片描述
这样就完成了js传数据给UE4,那就能实现调用UE4的函数方法了。

2.2 UE4调用js函数

首先在js里定义一个函数,如下所示,setFPS为函数方法的名称

ue.interface.setFPS = function(fps)
	{
	    // set element text
	    $("#fpsMeter").text(fps.toFixed(1) + " FPS");
	};

然后,同样地在HUD蓝图中,添加CallFunction的蓝图节点,Function引脚填写js的函数名称setFPSData引脚为传入的json数据。
在这里插入图片描述

三、Web穿透的设置

Web穿透是WebUI很实用的功能之一,它是通过获取Web元素的透明值来判断是否执行穿透的。

设置方式:
打开蓝图WebInterface,在Hieracrchy窗口点选Browser,在Details窗口中,有这个属性类别Behavior->Mouse,其中Enable Transparency就是用于设置穿透web界面元素的透明度阈值。

在这里插入图片描述

WebUI 或 WebBrowser无法输入中文字体的解决方案

WebUI自带一个接口可以接收输入法的中文输入,只需要调用下面的方法即可:

在这里插入图片描述
如果是WebBrowser,需要自行实现该方法:

void UC_WebBrowser::EnableIME()
{
    if (WebBrowserWidget.IsValid())
    {
        ITextInputMethodSystem*inputSystem = FSlateApplication::Get().GetTextInputMethodSystem();

        if (inputSystem)
        {
            WebBrowserWidget->UnbindInputMethodSystem();
            WebBrowserWidget->BindInputMethodSystem(inputSystem);
        }
        else
        {
            UE_LOG(LogTemp, Warning, TEXT("Input Method System is not valid"));
        }
    }
}

附件地址:https://download.csdn.net/download/killfunst/13103996

  • 14
    点赞
  • 121
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
### 回答1: 要下载UE4 WebUI插件,首先需要进入Unreal Engine的官方网站。在首页上方的导航栏中,找到“Marketplace”(市场)选项并点击进入。然后,在左侧的搜索框中输入“WebUI”来搜索相关插件。 在搜索结果页面中,可以看到各种WebUI插件的列表。浏览这些插件并选择适合自己需求的插件。点击选定的插件,进入插件的详细页面。 在插件的详情页面上,可以阅读有关该插件的详细描述、功能、系统要求等信息。确保插件与当前使用的UE4版本兼容,并满足其它系统要求。如果满足要求,可以点击页面上的“Add to Project”(添加到项目)按钮。 接下来,会出现一个弹出窗口,让你选择将插件添加到哪个项目中。选择目标项目并点击“Add to Project”按钮,然后等待一段时间以完成插件的下载和安装。 安装完成后,可以打开UE4编辑器,并打开目标项目。在编辑器中找到插件目录,并将其添加到项目的插件列表中。按照插件提供的说明和文档,可以开始使用WebUI插件来创建和设计网页界面。 总之,要下载UE4 WebUI插件,首先需要在Unreal Engine官方网站上搜索并选择合适的插件,然后将其添加到目标项目中进行下载和安装,最后根据插件提供的说明进行使用。 ### 回答2: 下载UE4 WebUI插件非常简单。首先,打开Epic Games Launcher并登录您的账户。然后,在左侧导航栏中选择“库”选项卡。在库页面上,找到并选择已安装的UE4引擎版本。在引擎细节页面中,找到并选择“插件”选项卡。 在插件页面上,您可以找到各种可用的插件列表。使用搜索框或滚动浏览可用的插件,直到找到具体的WebUI插件。一旦找到,点击插件名称以打开它的详细信息页面。 在插件详细信息页面上,您将看到有关插件的描述、版本、兼容性和其他详细信息。请确保您查看和了解这些信息,以确定该插件是否适用于您的项目。如果确定要下载该插件,请点击页面上的“添加到项目”按钮。 添加到项目后,Epic Games Launcher将开始下载插件文件。具体下载时间取决于您的网络速度和文件大小。一旦下载完成,您将在“类别”选项卡中看到已添加的插件。 现在,您可以打开UE4编辑器,并在项目内容浏览器中找到已安装的WebUI插件。点击插件以查看和使用它。如果您要开始使用插件功能,您可能需要参考插件的文档或教程以了解如何正确使用它。 总的来说,UE4 WebUI插件下载非常简单,只需从Epic Games Launcher中选择并添加到您的项目中即可。 ### 回答3: UE4(Unreal Engine 4)是一款强大的游戏开发引擎,拥有丰富的功能和工具。UE4支持在游戏中使用Web UI插件,使开发者能够在游戏中集成Web页面。 要下载UE4Web UI插件,可以按照以下步骤进行操作: 1. 在官方Unreal Engine网站(https://www.unrealengine.com/)上创建一个账户并登录。 2. 导航到"Marketplace"标签页。 3. 在搜索栏中输入"Web UI",然后点击搜索按钮。 4. 在搜索结果中,选择适用于UE4版本的Web UI插件。 5. 点击插件的页面以查看更多信息,包括功能、价格和用户评价。 6. 如果插件符合要求,点击“Add to Cart”按钮将其添加到购物车。 7. 在购物车页面上,确认订单并选择适用于你的项目的许可证选项。 8. 填写付款和发票信息,然后点击“Purchase”按钮进行付款。 9. 完成付款后,你将收到一封确认邮件,并可以在网站上的“Library”标签页中找到已购买的插件。 10. 在UE4编辑器中,导航到“Marketplace”标签页,并选择“Your Library”。在这里,你可以找到刚刚购买的Web UI插件。 11. 点击插件名称的下载按钮,选择合适的版本并点击“Install”进行安装。 12. 安装完成后,在Editor中使用插件的相关文档和示例,开始在游戏中使用Web UI插件。 总结来说,要下载UE4Web UI插件,你需要在官网购买插件,然后在UE4编辑器中安装和使用插件。购买过程需要创建账户、浏览插件页面、添加到购物车、进行付款,并在Library中找到已购买的插件进行下载和安装。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DvLee1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值