【基于unreal engine 4蓝图】HOLOLENS 2 多QRCODE二维码识别blueprint实现

忙活了一段时间,终于实现了hololens2的多二维码识别。在此讲解一下,如何基于UE4或者UE5来实现hololens2的QRcode这种二维码识别。

有很多人写过UNITY平台的,但是很少有人研究基于unreal engine的,作为一名编程小白,UE4蓝图无疑是最好的解决方式。

基础环境:UE4.27

在学习此部分之前,建议学习UE4蓝图基础知识,以及hololens2基于UE开发的基础教程部分。

hololens2本身配置有一枚摄像头,也可以实现二维码的扫描功能,通过二维码扫描我们可以更好的实现三维模型的控制和定位,比如说我们想做一个仪器设备的数字孪生,需要将虚拟的机器和真实机器零件配合起来。那就需要在真实机器的某个关键定位点贴上二维码,在基于这个二维码的坐标系定位来生成一个零件ACTOR,和现实中的设备位置相匹配,这样就实现了虚实融合。

前段时间CCTV报道的中国空间站团队,也在使用hololens来实现虚实结合:https://baijiahao.baidu.com/s?id=1760208534684760332&wfr=spider&for=pc

大概就是这个效果。

以下是教程正文:

 

(更多…)

UE4打包问题:This module was most likely not flagged for being included in a precompiled build

遇到打包问题:

UATHelper: 打包 (HoloLens): ERROR: Missing precompiled manifest for 'VaRest'. This module was most likely not flagged for being included in a precompiled build - set 'PrecompileForTargets = PrecompileTargetsType.Any;' in VaRest.build.cs to override.

PackagingResults: Error: Missing precompiled manifest for 'VaRest'. This module was most likely not flagged for being included in a precompiled build - set 'PrecompileForTargets = PrecompileTargetsType.Any;' in VaRest.build.cs to override.

(更多…)

UE4和UE5中get gaze date没有输出节点的问题

在UE教程中,get gaze date节点中可以得到5个输出节点:

Out Gaze Data Gaze Origin

Out Gaze Data Gaze Direction

Out Gaze Data Fixation Point

Out Gaze Data Confidence Value

Return Value

但是在4.27和UE5中,get gaze date节点只有out gaze date 眼部追踪器凝视数据结构一个输出。实际上这是一个复合数据,有两种办法得到这5个输出节点。

首先第一种方法是直接在out gaze date输出节点上右键,点击分割结构体引脚,就可以得到上述五个输出节点的样子

第二种方法是从out gaze date上引出一个break节点,得到一个中断EyeTrackerGazeData节点,就可以把结构化的数据输出分成上述四个节点。

顺便吐槽一下,中文的UE4把这个翻译成了中断……其实个人理解意思是打开打散数据结构……

(更多…)

因为删除文件导致Error: CDO Constructor (demo3 CollidingPawn): Failed to find的解决办法

为了精简化UE4程序内容,删除了很多很多东西,开始报错:

Error: CDO Constructor (demo3 CollidingPawn): Failed to find/Game/StarterContent/Shapes/Shape Sphere.Shape Sphere

Error: CDO Constructor (my demo1GameMode): Failed to find/Game/ThirdPersonCPP/Blueprints/ThirdPersonCharacter.ThirdPersonCharacter C

等等,百思不得其解

最后解决办法:新建一个全新的项目,把程序的content文件夹复制进去,重新打开关卡就没有了= =

UE4蓝图运行时错误:"“无访问”正在尝试读取属性 Kinght"。 节点: Resetgame 图表: EventGraph 函数: Execute Ubergraph Reset Button 蓝图: ResetButton

UE4蓝图运行时错误:"“无访问”正在尝试读取属性 Kinght"。 节点: Resetgame 图表: EventGraph 函数: Execute Ubergraph Reset Button 蓝图: ResetButton。

解决方法:

1、勾选可编辑实例

2、点击组件所在的蓝图,在下方细节——默认——找到指定的蓝图actor,选择。

如果此处没有指定的话,导致无法跨蓝图调用,最终导致错误。勾上就可以正常的跨蓝图调用了。

 

The 'UXTools' plugin was designed for build 5.0.3. Attempt to load it anyway?打包失败

我们来谈谈微软的大坑:当打开hololens项目文件的时候,报错:

The 'UXTools' plugin was designed for build 5.0.3. Attempt to load it anyway?

'GraphicsToolsExamples' is Incompatible

The 'GraphicsToolsExamples' plugin was designed for build 5.0.3. Attempt to load it anyway?

但是不影响项目运行,可是打包的时候会报错:

UATHelper: 打包 (HoloLens): LogBlueprint: Error: [AssetLog] E:\UEPJSPEED\DELTEST0308\Content\config1\MRPAWNnew.uasset: [Compiler] 生成节点 生成Actor NONE 必须指定一个 Class 。 from Source: /Game/config1/MRPAWNnew.MRPAWNnew
UATHelper: 打包 (HoloLens): LogBlueprint: Error: [AssetLog] E:\UEPJSPEED\DELTEST0308\Content\config1\MRPAWNnew.uasset: [Compiler] 生成节点 生成Actor NONE 必须指定一个 Class 。 from Source: /Game/config1/MRPAWNnew.MRPAWNnew

(更多…)

hololens2打包错误: ERROR: No required compiler toolchain found in E:\Visual studio\core\VC\Tools\MSVC\14.35.32215

unreal engine 4.26.2 试着打包微软的HoloLens示例项目:MissionAR

报错: ERROR: No required compiler toolchain found in E:\Visual studio\core\VC\Tools\MSVC\14.35.32215 最后打包失败

网上查了很久,有的说是缺东西,就把visual studio里面能装的都装了,还是失败

后面又说打开一个C++项目就好了,重新创建新项目基于C++,还是失败

ERROR: No required compiler toolchain found in
ERROR: No required compiler toolchain found in

最后发现通过点击上图菜单里面的( 刷新visual studio 2019 项目 )(图示为点击以后的结果),更新完成之后,终于可以成功打包了!!

Unreal Engine 打包的HoloLens2的.appx 文件和.appxbundle文件有什么区别

在微软的HoloLens Device Quick Start指南中有这样的一个页面:

https://docs.unrealengine.com/5.0/en-US/hololens-device-quick-start-in-unreal-engine/

其中提到了:

3 - 将包安装到 HoloLens 2
如果您还没有为 HoloLens 构建和可用的应用程序,请参阅为 HoloLens 2 打包应用程序以了解有关为 HoloLens 2 打包应用程序的详细信息。

在这些步骤中,您将加载两个文件,一个 *.appxbundle 文件和一个 *.appx 文件。 *.appxbundle 文件是游戏的包。 *.appx 文件是包含目标架构(arm64 或 x64)支持文件的依赖包。 每个设备只需要安装一次依赖包。 如果您已经安装了依赖文件,则无需选择可选包,继续安装即可。 如果重新刷新设备,您将丢失已部署到设备的所有内容,包括依赖包。

*.appx文件是依赖包,每台设备只需要安装一次。如果您已经安装了依赖文件,则无需选择可选包,继续安装即可。

所以最终在设备门户(Windows Device Portal)里面安装的时候,需要先安装.appxbundle,然后选择Allow me to select optional packages,再选择同一个文件夹内一起打包出来的.appx文件,最后就可以顺利安装了。

【unreal4】 虚幻引擎中获取虚拟摄像机图像并导入UI(UMG)实时显示

最终效果
最终效果(左侧为UI中的摄像头)

完成目标:在虚幻引擎中实时获取虚拟摄像机的镜头图像,并在GUI中显示,类似于赛车游戏中左右后视镜显示图像,或者摄像头实时采集图像信息显示在GUI界面中,或者在VR中实现摄像机的实时画面采集。

测试版本:4.26(多数版本都可通用)

需要用到的知识:

1、场景捕获组件2D(SceneCaptureComponent2D)

2、画布渲染目标材质(CanvasRenderTarget2D)

3、UI中的图像模块(image)

 

功能实现思路:想要实现获取虚拟摄像机图像并导入UI实时显示,就需要一个实时捕获画面并将其转换为动态材质的方式,通过场景捕获组件2D获得实时画面流,将渲染目标材质转换为普通材质,最后在GUI中创建图像,并为该模块赋予图像材质即可。

(更多…)