- 博客(103)
- 资源 (5)
- 收藏
- 关注

原创 OpenCV笔记之 图像有效区域复制 image.copyTo()
**openCV image.copyTo()**1,实现目的为了实现图像进行等比例的扩张,其中牵涉到一些前提环节。一下对牵涉到的几个关键点一一进行记录。1,OpenCV中Mat类的图像如何设置ROI区域(1)使用拷贝构造函数Mat(constMat& m, const Rect& roi ),矩形roi指定了兴趣区例如://...
2019-08-20 08:35:21
10419

原创 UE4 C++如何关闭进程?
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-01-23 14:28:56
3898
1
原创 UE4 双屏分辨率设置
主要是在全屏模式的时候 一开始没有选对,双屏总是不稳定。全屏模式改成:Windows 之后 ,双屏的问题就解决了。没有其他帖子说的那么麻烦 还得改ini 配置文件之类的。背景: 做了一个UI 应用,需要在双屏上进行显示。分辨率如下:3840*1080;
2023-12-04 14:43:14
1318
原创 Ardiono 和 Processing 之间的串口通讯
1,Processing 端在视频播放完毕后,在开启新的串口指令之前,需要将myport的串口进行清空。Processing 在接收到有效数据之后,就开始播放视频,在开始播放视频的瞬间,就将接收串口数据的功能模块进行关闭。在Processing 开始新一轮的数据接收程序之后,我们会发现一次接收了 很多次的 hasbody , hasbody 的数量正好和视频的长度是对应的。// 此行代码作用是:清空串口缓存区。1,Arduino 每隔800ms ,就将红外传感器检测的结果,以串口的形式发送出去。
2023-06-11 09:41:22
541
原创 硬件座舱 仪表设备的连接结构
一,背景我们的物理座舱 里面有很多仪表和设备。主要区分为 开关、按键、旋钮、灯的状态等类型。我们需要将上述信息全部以一定的频率发送给上位机端,提供给我们的UE4 程序使用。废话少说, 先上一张整体的原理图图1.1 系统动态原理图二,核心1,集线器本系统和核心硬件主要是集线器(暂且这么叫)。它的作用主要是将梯形引脚的RS485 转换成 RJ45 样式的输出接口。直白的解释: 输入 标注你的RS485 接头; 输出 一根网线。看见别人自己做了一个壳子 ,有很多对接口。
2022-05-09 17:49:57
538
原创 系统镜像的方法,大批量电脑重装的方法
一,背景:1,项目有24套电脑,电脑预装的系统可能不符合我们的要求。比如 framework 3.5 或者 direcx 没有有效安装,等等。所以需要重装。2,我有24套电脑,每个电脑的显卡都是GTX 3060 , 显卡都没提前安装。3,所有电脑都是涉密机器。现场没有有效的上网条件。二,解决方法1,将一台电脑重装好系统之后,安装完必要的软件。安装好所有的驱动。(这台电脑是可以上网的)2,将安装好的电脑装好之后,直接备份一个镜像文件。比如:XX.gho(名字采用系统默认的,不要自己
2022-03-09 14:22:49
7654
原创 UE4 报错:Serial loading Unknown structure
背景: UE4 C++ 工程 在编译的时候,出现 Unknown structure 等报错;查询之后发现: 在C++ 中定义的结构体,暴露给蓝图之后, 重新创建了一个新的容器,包含了很多结构体。这个容器的数据类型 自己定义为:AllZMQDataPool在Gameinstance 中定义 一个新的变量, 变量类型就是 AllZMQDataPool;在common func 中创建快速获取变量的方法。在编译完成之后,打包时,出现上述问题。废话少说,解决方案如下:1, 直接修改 结构体
2022-01-11 10:58:59
632
转载 UE4 打包重新命名的方法
内容来源于:UE4重命名工程和exe的名字 - 程序员大本营,若涉侵权,告知后必删;背景: 工程项目中已经命名好之后的项目,需要重新命名,并进行打包;根据上述的链接,查找到对应的重命名流程。PS: 我的是C++ 工程;(前面直接用原作者的图片,我就不贴自己的图片了)一,工程名1. 原来的工程名如下:2打开项目的 config 文件在config 文件里面找到DefaultEditor.ini 文件;(1)实际上这个文件里面可能是空白的;直接在里面按照下图中框选的部
2022-01-06 16:22:20
4419
原创 UE4 关于 childActor 位置不对的—— 随手笔记
通过ChildActor 嵌套其他的蓝图。 比如:把蓄电池的蓝图 在机身 的蓝图中,通过childAcor 挂载。单独看机身的蓝图,蓄电池的相对位置是正确的。但是 把机身扔进 场景之后, 蓄电池的相对位置出现了错误。经过排查: 是因为 蓄电池的 可移动性没有设置。 将其设置为科移动之后,问题解决。...
2021-11-16 15:26:00
639
原创 UE4 _ 组件蓝图使用方法 随笔
一,背景我们经常需要开发一些通用性的功能,如果每次使用都写一遍,会非常麻烦,比较好的方法是 我们做成一个组件蓝图,直接在组件蓝图中实现方法。然后我们把组件蓝图 往 上面挂 就可以。比如:我们在项目中 可能会需要移动某个特定的物体, 每次我们控制其移动的时候 在本地写移动的函数 会显得很麻烦。如图: 我们创建一个组件蓝图,简单的实现 一个移动的功能。组件蓝图中 初始化如下:get parent components 获取的所有的父类组件包括 根节点。此处测试 使用get ...
2021-11-14 21:05:46
2072
原创 UE4 开发笔记 接口的使用——纯思路
一,背景1,在项目开发过程中,经常遇到需要进行批量化处理的情况。比如:需要对所有的故障排除的模型进行设置相应的动作或者状态。需要对所有的umg 里面的btn 的动作进行应答。针对大量模型索引操作的情况,以前常规的做法是,直接通过 get all actors of chass 进行索引, 稍微方便点的就是 在 common function 中 构建函数,直接可以通过虚函数直接索引到。但是这并不能解决 程序耦合性高的问题。在程序开发过程中,尤其是 在UMG 的环节,经常会遇到一些...
2021-11-10 14:19:30
992
原创 LH 项目工作笔记关于Texcorrd 的注意事项 1-2
一,实现效果为了要模拟一个滚筒的数值上下切换的效果。如果采用模型进行表现,只需要控制位移或者旋转角度即可。如果要采用UMG 来进行实现。刻度部分就需要使用一个材质来实现。核心的思路:以上一张竖向的图,我们只需要控制它的上下移动,就可以模拟刻度的变化效果。为这个图创建材质,———— 针对UI 的类型。在调用 TexCoord 后, 分别 需要使用 Mask R 和Mask G 分别在两个方向上进行加值。因为横向我们不需要已经 所有 mask R 之后 add 的数值就是..
2021-08-20 19:11:22
192
原创 LH项目通电部分工作记录1-1
一,遇到的问题1,上电经常性失败主要的流程:(1)在加载关卡后,我们会默认执行一个上电的基本流程:外电源开关插上去,71p 插上,外电源开关合上。然后 按下 “”“管理按键”, MFD 会上电。关键点:关卡加载之后, Map8 总是会被加载。然后在Map8 里面的 actor 才会被默认加载。尤其是涉及到通讯的 zmq manager 蓝图,里面有关于通讯的逻辑。 我们在打印日志中发现:zmq 中跟通讯相关的 打印日志还没打印完毕, 就开始外电源上电操作。这在理论上是不正确的。正确的顺
2021-08-20 19:01:43
158
原创 关于UE4 中结构体 赋值结构体赋值
**关于UE4 中结构体 赋值结构体赋值**1, 经典的指令 set ref当我们对结构体进行赋值的时候, 最常用的指令是 set ref , 使用此指令可以 快读的对 结构体 中的一个单元进行赋值。但是我们在测试的时候, 此条指令并不一定 每次都成功。以下是 我们测试的成功的情况:(1)如果结构体 下面的第一个层级, 直接进行赋值 ,经过测试可以正常赋值。以下是我们测试未成功的情况:(1) 如果 结构体 是对结构体下面的第二个层级进行赋值, 我们发现无法正常。以上情况 ,具体到底
2021-07-12 18:55:18
1496
2
原创 UE4 数组元素的删除
**UE4 中 删除数组元素的方法**背景: 在应用开发中, 我们定义了一个 int 或者 string 类型的数组 。比如 int a【6】={3 ,4,4,5,6,8} 。我们要删除 其中所有的 4 。UE4 中可用的蓝图节点是 remove item 或者 remove Index初始解决的方法: 我们直接使用 for each loop 通过判断 当时 item 是否等于过滤 的item , 如果是 , 则调用数组 直接删除当前的 Item .遇到的问题: 我们发现 按照我们的
2021-06-03 10:29:06
3552
3
原创 3D Widget 制作
核心步骤1,Pawn 中设置 widget interaction 。2, 在蓝图中添加 widget componet , 找到属性设置:
2021-05-27 18:11:47
352
原创 3D UI 过程中遇到的问题
一 , 模型点不中现象:在 3D UI 中, 我们 使用 三维模型做了一个 三维UI 蓝图。 但是我们在进行点击操作过程中, 我们发现 三维 UI (模型形式) , 会出现点不中的问题。我们采用射线检测, 发现 射线 射击检测到的时 3D UI 后面的模型。原因查询 :1, 经过查询, 发现 作为方向的 模型 一般是一个 片。 这个片 自身的模型 通过查询碰撞, 发现Simple 的模型 都没有碰撞体。2,解决方法:设置模型的碰撞体 为Complex 。 然后设置 碰撞类型,就可
2021-05-27 18:11:32
263
原创 UE4中 模型角度控制旋转的问题
**UE4中 模型角度控制旋转的问题**一,背景1, 在项目开发过程中,遇到一种需要 旋转按钮的情况。 根据设定的档位值,旋转模型的角度。UE4 4.19知识点:1, 每个模型在 制作时,因为个别建模人员的规范是否执行,会导致 同样的按钮,出现了坐标轴不一致的情况。模型围绕坐标轴旋转的原则是 , 朝向 坐标轴的方向,顺时针方向 是角度+ , 逆时针旋转 是 角度—。二,出现的问题1, 旋钮设定了 6个档位, 在控制旋转过程中, 通过修改档位, 控制旋钮的旋转。但是在实际运行过程中,本应该
2021-05-15 13:10:33
5748
原创 事件调度器
一个比较好用的 方法:定义一个全局的actor 。 在里面做好 事件调度器。所有比较繁复的数据传输,都可以通过 此 中转站,作为 事件调度器的 数据转发
2021-04-14 08:59:09
192
原创 UE4 关于Actor 的隐藏
问题描述:进行开发过程中,如果一个actor 蓝图里面有 多个物体。 我们在进行 对其隐藏的时候,一般有两种方法1, set actor hidden in game (自身)2, set hidden in game (根节点)在使用过程中,有时候发现第一种方法并不好用。 使用第二种方法,通过勾选 是否应用到children ,可以很有效的控制物体的显示和隐藏效果。...
2021-04-14 08:55:22
6160
1
原创 UE4 关于UMG卸载失败的解决方案
UE4 关于UMG卸载失败的解决方案问题描述:1,在开发UMG 过程中,有时候会发现当卸载一个UMG 之后,在调试状态,发现UMG 并未卸载干净。这样在重复进出当前UMG 的时候,就会发生因为 存在多个同样的UMG , 导致操作失效的情况。原因: 经过高手指点,发现 如果UMG 里面变量或者对象被其他 actor 或者蓝图引用的话,就会导致 卸载失败。解决方案:1, 将引用UMG 元素的对象 首先进行卸载。2,然后 再 在需要卸载UMG 中,remove from parent...
2021-04-14 08:47:55
989
原创 关于 Tabledata的笔记
在调用TableData查询数据的时候,一般是采用row 行查询。 row的输入属于文本类型。有时候为了方便,我们自己做了一个枚举类型的变量,比如名字是opera type的枚举类型。这里面的元素名称就是row里面应该出现的元素的名字。如果,我们将比枚举变量,直接连接到函数的roe输入,会发现数据无法完成转化。正确的操作步骤是,先把枚举转换成字符串string,再转换成文本。在此记录。有点累,但是值得。...
2021-03-10 21:30:38
331
原创 关于 UE中 父类和 子类 函数互相调用的方法
背景: 在UE4 中, 有时候需要通过构建一个父类。构建通用的一些函数和变量。方便子类在构建的时候不用重复去构建。一, 父类中构建 函数。在父类中构建一个函数名字Func1。 可以没有实现。在子类中 函数列表(重载下) 选择 函数名称,可以在子类中 对此函数重构。父类中:在 初始构建的时候 Construct 中调用一个函数 比如 Init_Parent在子类中 可以 对Ini_Parent 重载。 这样子类在构建的时候,就会默认的执行 在父类中已经提前定义好的函数Init_Parent
2021-03-04 22:44:59
4957
原创 UE4 C+—— 文件查找, 文件删除, 文件定位
UE4 C+—— 文件查找, 文件删除, 文件定位一,开发平台UE4 4.15 VS2015二,背景1, 实现对一个文件夹进行 jpg 格式的图片进行查找,然后删除此文件夹里面 所有此格式的图片。2,获取文件内。jpg 格式的图片的 数量3,获取最新存入的.jpg 的图片三, 功能实现1,特定格式文件查找//////////////////////////////////...
2021-01-23 16:15:49
908
原创 UE4 UMG————获取UMG 界面坐标点的方法
**UMG——获取UMG 界面坐标点的方法**一,背景在一些场景中,我们需要在UMG 上进行鼠标点击操作。同时这个UMG 中有时候会出现 三维物体的窗口,用户可以用过鼠标点击之后滑动,在不同的角度和视角观察三维模型的具体情况。这里面以后会牵涉到几个重要的点:1,在加载当前这个UMG 的时候,或者在这个关卡的默认关卡里面,有没有对 鼠标的有效范围进行约定。 一般有两个 UI 和 game. 。Only Game 的意思是: 鼠标点击 只在三维世界中有效。 在UMG 上的点击不起效果。On
2021-01-23 16:15:06
8835
1
原创 UE4 关于项目迁移之后经常会出现的问题
UE4 中关于项目迁移或者新电脑重新安装VS UE4 经常出现的问题背景:项目采用4.19.2 源码版进行开发。 项目开发过程中,需要在新机器上继续进行开发。结果在新机器上出现了若干问题。以下对问题进行罗列,并相应的解决方案。1,SVN 更新了本地的项目文件之后, 后缀 .Uproject 文件没有默认的打开方式图标,并且也没有出现Generate VS 的三个选项。解决方案:1, VS 安装出现了问题。VS2015 专业版安装的时候,直接按照默认选项直接进行安装。 结构最后报错 :no 32-
2021-01-20 18:39:43
3781
原创 UE4诡异碰撞检测的问题
问题描述1.、通过Pawn.费射线检测,实现碰撞射线检测,结果,发现一直检测不到特定的物体或者一直检测到哦哦哦贴特定的物体。排除的方法:在场景中开启显示collision。会发现某个特定物体有不正常的碰撞体。如果打开此模型,点击simple. collision 会发现模型有不正常的碰撞体外框。此原因是模型在制作的时候,有不可见的物体。导致物体费默认碰撞外框不正常...
2021-01-07 23:03:01
1502
原创 关卡流和关卡重启的问题
一个猪关卡,包含了两个子关卡。测试使用流送模式加载卸载关卡。测试,关卡中的蓝图,使用了restartlebel指令。子关卡中没有回到默认状态。但是,再????关卡中采用卸载重新加载的方式,子关卡就可以重启。...
2021-01-05 23:35:51
827
原创 UE4组件蓝图
背景1-在开发过程中,经常发现多个蓝图使用共同的函数或者功能。目前有两种共同函数调用的常见方法,一种是通过基类来创建不同的子类。子类公用父类的函数。另一种就是通过创建组建蓝图,可以直接作为一个组建挂在另一个组件的下面,实现对组件的控制。2,详聊组件蓝图(1)功能函数和常规的没有区别,步骤完全一样。(2)怎样通过这个组件蓝图来控制挂载的本体?有一个重要的节点,get. parent component使用比节点就可以直接控制。(3)对物体进行控制的思考。目前的项目主要是用来控制物体的移动和翻转
2020-12-29 19:22:12
1392
原创 UE4边缘高亮效果
背景:1,为了实现对物体边缘高亮效果的实现。步骤1,需要创建一个高亮材质。此部分是比较重要的部分,一开始忽略,效果无法实现。官方有现成的效果,直接下载。2,场景中放置postprocess后期框。(1)选择render,创建。可以创建多个材质资源,此部分就是我们用来实现高亮的材质选择。index记录好,后面会用到。(2)搜索unbound,勾选。作用是后面可以让高亮的物体不在框内就可以实现高亮效果。3,控制。以此Actor作为模型,创建蓝图。蓝图中添加控制,Set pencil enabl
2020-12-29 18:59:09
2993
原创 3D Max 或者 Maya 导出 FBX到UE4 的基本注意事项。
**3D Max 或者 Maya 导出 FBX到UE4 的基本注意事项。**背景:1, 同事 3D Max 进行建模 一个机场(存在很多模型)。 在给 FBX 文件后, 导入UE4 之后,出现两个问题(1)多个模型分开(不算是问题) 、(2)模型创建的材质球和贴图没有自动关联解决方案:1, 在3d Max 或者Maya 中,进行导出的时候 有一个选项嵌入的媒体只要勾选之后, 导入的模型就会自动关联上贴图。非常方便。2, UE4 中需要注意的事项如果需要导入的模型 是由
2020-12-09 18:24:38
7079
3
原创 UMG————拖拽
**UMG 中拖拽的功能****背景:**UMG 中要实现拖拽。我想做一个拖拽图标放在新的位置的功能。重要的蓝图节点记录:1,OnDrop: 检测鼠标按键松开的事件这是一个鼠标按住之后松开的事件。可以理解为 松开鼠标的时候, 鼠标对应的位置 的事件。2,On mouse Button Down 检测鼠标按下的事件这个事件 针对拖拽 可以搭配 另外一个节点一起使用。搭配的节点: Detect Drag if pressed 。 可以理解为一个绑定的事件。如果在鼠标按下的时候 ,发生
2020-11-19 17:32:57
2378
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人