UE4中如果在自己创建的FRunnable线程中取访问引擎相关的API,比如你想在非GameThread中创建UI,运行时UE4时会给assert错误:
Assertion failed: IsInGameThread() [File:D:\BuildFarm\buildmachine_++UE4+Release-4.11\Engine\Source\Runtime\Slate\Public\Framework\Application\SlateApplication.h] [Line: 156]
如何跨线程开访问UE4的API?
看了两个帖子,都说只能搞个queue,自定义线程往queue塞数据,Tick函数中对这个queue读取。因为GameThread中的数据不是线程安全的,所以只能通过这种方式。
自己创建的线程哪些不能做?官方文档上的回答:
https://wiki.unrealengine.com/Multi-Threading:_How_to_Create_Threads_in_UE4#What_Not_to_Do
- Do not try to modify, create, or delete UObjects from other threads!
You can prepare all the data / do all the calculations, but only the game thread should be actually spawning / modifying / deleting UObjects / AActors.
- Dont try to use TimerManager outside of the game thread :)
- Don't try to draw debug lines/points etc, as it will likely crash, ie DrawDebugLine(etc...)
参考:
How do I execute code on the Game thread from an FRunnable thread?
Thread safety, delegates and bPostTickComponentUpdate
相关推荐
在UE4(Unreal Engine 4)中,访问网格的顶点数据是图形编程和游戏开发中的重要操作,尤其在自定义着色器或者进行几何处理时。这涉及到引擎内部的渲染管线和数据结构,因此深入理解这个过程对优化游戏性能和实现复杂...
下面我们将深入探讨如何在UE4中实现自定义GameDebugTool,并展示它能显示哪些数据。 首先,一个自定义的GameDebugTool通常会包含以下几个关键部分: 1. **数据收集**:你需要确定要显示哪些数据。这可能包括游戏...
UE4(Unreal Engine 4)是Epic Games开发的一款强大的游戏...通过以上介绍,我们可以看出UE4json插件在游戏开发中的核心作用,它简化了UE4与Web服务器之间的数据交互,提升了开发效率,是现代游戏开发中的重要工具。
从获取DEM数据开始,到转换格式,处理地形,最后到UE4中导入制作地形,每一步都至关重要。通过这个流程,开发者能够将现实世界的地形精确地复刻到游戏中,为玩家提供更加逼真的体验。重要的是,每一步都要确保数据的...
《UE4官方中文文档》是Unreal Engine 4(简称UE4)用户的重要参考资料,它提供了详尽的技术指导和教程,帮助开发者深入了解和熟练运用这款强大的游戏开发引擎。UE4是由Epic Games开发并维护的,它在游戏、影视、建筑...
在UE4(Unreal Engine 4)中进行联网配置是一项重要的技术工作,它涉及到游戏的多人在线体验。UE4提供了一套完整的工具和框架,使得开发者可以构建支持多人在线的游戏项目。下面将详细讲解ue4联网配置的相关知识点,...
在UE4中,可以利用第三方库如WebSocket++或者直接使用C++实现WebSocket客户端,与Web服务器进行数据交换。这样,UE4场景中的变化可以实时反映到网页上,反之亦然。 五、蓝图实现交互 UE4的蓝图系统是其的一大亮点,...
将UE4嵌入WinForm中,开发者可以利用UE4的3D渲染能力,同时保持WinForm的窗口管理、数据处理和用户交互功能。这个过程涉及到几个关键步骤: 1. **创建WinForm项目**:首先,你需要在Visual Studio中创建一个新的...
在本文中,我们将深入探讨如何在Unreal Engine 4(简称UE4)中集成和使用ECharts库,以便为你的游戏或应用创建丰富的数据可视化功能。ECharts是一款由百度开发的开源JavaScript图表库,它提供了多种图表类型,如折线...
在UE4蓝图中,可以使用插件提供的节点来处理和解析Kinect数据。例如,“Get Skeleton”节点用于获取骨架数据,可以用于追踪玩家的手部、头部等关键部位;“Get Color Frame”节点则可以获取色彩图像,用以显示或作为...
2. **接收数据**:在UE4串口插件中,应该包含一个接收数据的蓝图节点,用于从串口读取接收到的信息。这个节点可能有一个输入参数,如串口号,以及一个或多个输出,例如接收到的数据字符串和接收状态。 3. **读写...
总的来说,DirectExcel是UE4生态中一个高效的数据管理和交互工具,它将Excel的强大功能与UE4的动态环境相结合,为游戏开发带来新的可能性。通过熟练掌握这款插件,开发者可以更加专注于游戏逻辑和创意实现,而非繁琐...
2. **数据流管理**:JSBSim的计算结果需要实时更新到UE4中的3D模型,这可能涉及到UE4的蓝图系统或者C++插件开发。 3. **物理引擎同步**:确保UE4的物理引擎与JSBSim的飞行模型保持一致,处理好碰撞、重力和其他物理...
UE4,全称为Unreal Engine 4,是由Epic Games开发的一款强大且广泛使用的实时3D创作工具,尤其在游戏开发、影视制作、虚拟现实(VR)、增强现实(AR)等领域有着广泛应用。UE4提供了丰富的功能,包括物理模拟、光照...
《UE4离线官方中文文档》是针对Unreal Engine 4(简称UE4)的一份完整、详尽的中文参考资料,适用于2018年2月之前的所有版本。UE4是由Epic Games开发的一款强大的游戏引擎,广泛应用于游戏开发、虚拟现实、影视特效...
ue4.js\ue4.js\ue4.js
文档中的"ue4API.chm"是一个Windows帮助文件,这种格式允许用户在本地快速查找和浏览内容,无需连接互联网。CHM文件是Microsoft的HTML帮助文件,它将一系列网页集合在一起,形成一个可搜索的数据库,非常适合用来...
在UE4(Unreal Engine 4)开发过程中,有时候我们需要获取电脑的唯一标识符或硬件信息,例如在实现用户认证、设备绑定等场景时。在UE4 4.25及之后的版本中,蓝图系统不再支持直接获取这些信息,这给开发者带来了一定...
而LEJSON蓝图插件正是为了解决UE4中处理JSON数据的问题,它为UE4提供了便捷的JSON解析和操作功能。 LEJSON蓝图插件v4.19是专为UE4 4.19版本设计的一个高效工具,旨在帮助开发者轻松地在蓝图中解析、创建和修改JSON...