现在可以在 Linux 上运行!| 需要免费的 ODBC 驱动程序 | 适用于所有常见数据库,如 SQL、MySql、Oracle 等...(您只需选择正确的 ODBC 驱动程序)
该插件可以使用 ODBC 在蓝图中执行数据库查询。ODBC 是一种免费的、老式的、稳定的、可靠的和跨平台的与数据库通信的方式。大多数常见的数据库框架都可以使用 ODBC。SQL、MySql、Oracle、Azure、Amazon 等……都可以用这个插件查询。蓝图的使用与广泛使用的 VaRest 插件非常相似。它利用 UE4 的 FNonAbandonableTask 异步执行查询而不阻塞游戏线程。
切勿将数据库连接字符串放入您将提供给陌生人的东西中。我把我的放在一个只在我的 Linux 游戏服务器上找到的配置文件中。此插件仅用于专用服务器端逻辑或本地数据库逻辑。
积极支持:https ://discord.gg/Sd4B2rm
关于我
我是使用 UE4 的游戏工作室的首席网络工程师。10 年来,我一直是一名全栈开发人员。我擅长让计算机与 SQL 和 .Net Core 对话。我已经建立了网站、电子邮件/传真/语音服务器、配对服务器、种子系统和其他网络繁重的逻辑。这个插件将改善我的项目所需的加班时间https://www.thumpergames.com/world-of-pursuits。
技术细节
特征
- 在蓝图中执行 SQL 语句
- 查询在 UE4 的异步线程池中异步运行
- 根据查询结果的大小,可以一次执行数百个查询,而游戏线程上没有任何明显的延迟
代码模块
- 核
- CoreUObject
- 引擎
如何在蓝图中创建和执行查询(参见蓝图截图)
- 构造查询 UObject
- 将构造的 Query UObject 提升为变量
- 绑定 OnQueryFinished 事件
- 添加一个 DatabaseRowModel 结构变量。DatabaseRowModel 应该包含包含列名和变量类型定义的 DatabaseColumnModels 数组。只有字符串列需要 StringBufferSize
- 对 DatabaseQuery 对象调用 ExecuteQueryAsync
- 一个 DatabaseQueryResult 应该返回填充结果
- 您可以在结果列上 GetValueAsString 或将其转换为变量类型列以避免将其转换为字符串
幕后花絮:
- 调用 ExecuteQueryAsync
- DatabaseQueryResult UObject 在游戏线程上创建
- FNonAbandonableTask 已创建并开始异步运行
- 在异步线程内部创建到 SQL 数据库的连接
- 为每个结果行创建 QueryResultRowStructs 并由 ODBC SQLFetch() 填充
- FNonAbandonableTask 将填充的 QueryResultStruct 返回给游戏线程并销毁
- 游戏线程将 QueryResultStruct 转换为步骤 2 中创建的 UDatabaseQueryResult
- 蓝图友好的 OnQueryFinished 与填充的 UDatabaseQueryResult 一起广播
1、得到一个文件夹,放入项目路径的Content下打开项目即可。(一定要在Content主目录,文件名不能带有空格)2、得到项目文件夹,有启动图标。双击图标启动对应的引擎即可。(如提示需编译项目就是没有安装对应的引擎版本)
3、文件夹内有manifest库文件,将上一级文件夹一起复制到Epic\Epic Games\Launcher\VaultCache文件夹下重启Epic平台
在保管库里可以看到资源下载。(如没有文件夹,只有库文件可以复制宝贝名称或者随意命名一个文件夹放入VaultCache)
4、打开文件夹看见带有Plugins字样说明这个是插件素材,需要将文件夹复制到需要打开的引擎版本文件夹里的plugins或Marketplace 文件夹内
举个例子:D:\Office\Epic\UE_4.25\Engine\Plugins
放入后打开对应版本的项目可以看到发现新插件的提示,点击启用插件重启引擎即可。(如无提示在项目设置里找到管理插件搜索插件名称启用也可)
常见问题
1、网盘提示无法下载。 答:重启或更换浏览器 2、打开项目后什么都没有,全是空白。 答:文件夹路径有空格
3、打开项目后材质丢失,蓝图节点报错 。 答:文件夹路径没放对 4、材质模型都有,但是找不到关卡。 答:版本过低导致关卡丢失。
5、一打开关卡就崩溃。 答:版本过低或内存不够 6、人物车辆无法移动。 答:在内容浏览器添加对应的第一人称或驾驶内容包
如以上步骤都没问题还是出现材质丢失蓝图报错等问题,有可能是随着虚幻引擎更新抛弃了原有的一些功能。
遇到的问题客服会的都会解答,如未回复可以留言,最好有截图说明。



