自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

兴趣使然的博客

简单纪录下个人学习笔记,欢迎批评指正,不胜感激

  • 博客(32)
  • 收藏
  • 关注

原创 UE4 4.27像素流公网布置教程

4.27像素流公网部署

2022-12-27 22:52:28 2973 14

原创 UE4_如何在UI中设置动态图片

导入3D场景中/导入到UI中1>打开PS,先把想要的动态图拆分成序列帧(有序列帧的请忽略这一步,直接看)前缀任意,点击运行后会得到这样一些图片2>拆分完成后合并图片为联系表这里的行列,根据你图片数量*对应的尺寸,算出宽度高度的像素即可,我是26张图,5*6=30张能摆开就行.3>前期准备工作完成,打开UE,导入我们把图片序列和联系表格都导入到UE中,先操作图片序列部分.创建完成后选中创建的所有Sprite,再次右键...

2022-05-17 13:35:32 4411 3

原创 UE4打包问题_No target name was specified on the command-line

今天从别人那里拿了个项目做些小功能,闲着没事打了个包,结果运行不到1s就报个错.这个错误很简单,但是想纪录下主要思路,防止后面忘记.先说结论,遇到同样错误的朋友看完结论就可以右上了(点个赞再走啊~)命名不能以"Test"命名,会冲突,导致编译失败.修改项目名称即可.下面就是遇到这种问题的思路了:1>...

2022-03-18 14:39:36 2810 1

原创 如何整合OSS到UE4_对OSS基础操作(一)

如何整合第三方库到UE4注:此处关于如何使用CMake解析阿里云的OSS插件不赘述,默认大家已经解析好了阿里云插件如何修改已经CMake好的插件文件1:在UE4里创建一个空白插件(SimpleOSS),并新建一个文件夹OssTest2:先打开第三方库文件里的Third_Party文件 里面的lib 和 include 是第三方库的第三方库(依赖),直接拖进OssTest3:打开第三方库文件Sdk,把里面的include文件也拖进OssTest4:打开之前用CMa..

2022-02-27 18:51:14 507

原创 笔记_新插件作为模块移动原插件_Widget里自定义属性_防止对象/变量回收

新插件作为一个模块移动到原来插件上1:移动原来插件的Source下的文件夹过来2:修改三处文件. <1>新插件.build.cs 添加上关于你要移动到哪个插件的名字 <2>最外面的插件.uplugin,添加上你添加的模块名字 <3>修改原来插件的style.cpp文件,FindPlugin后面的名字写你移动到的插件名 3:重新编译即可.Widget里自定义属性 SLATE_ATTRIBUTE...

2022-02-27 18:17:20 85

原创 笔记_Slate部分知识点/编译器扩展部分_世界大纲中物体右键添加自定义操作_对文件栏文件右键进行操作_添加一个Actor detail面板属性_自定义映射变量

零散知识点//菜单分隔符 Builder.AddMenuSeparator(); //子菜单 Builder.AddSubMenu( LOCTEXT("OOO","JJJJ"), LOCTEXT("CCCC","KKKK"), FNewMenuDelegate::CreateRaw (this,&FMyToolModule::SubPullDownBar) ); //图片Slate Builder.AddWidget( SNew(SImage), LOC

2022-02-27 18:11:02 389

原创 笔记_编译器插件文件转Source中_*&简单使用_Lambda断点问题_编译器扩展小知识点

编译器扩展插件转Source一:先改文件结构将文件剪切直接粘贴到Source中,并修改目录下的文件目录下为,1,private 2,public, 3Resources,4,xxxx.build.cs二:代码修改首先在xxxEditor.Target.cs文件中,添加好对应的模块,然后修改原来插件下面的xxxStyle.h,找到ReloadTextures 方法,点开后修改原来指向插件的路径,现在指向本身,例子: Style->SetConte...

2022-02-27 17:53:12 107

原创 笔记_断言_共享指针_共享引用_转换_弱指针_单播/多播/动态代理

一.断言1.checkNoEntry();检测程序进入到这个函数中了吗,进入则断开2.checkNoReentry();检测函数是否被执行了两次;3.checkNoRecursion();递归检测,如果递归就崩溃.4.ensure(0 && "打印信息");其中0为bool,为零会在此打断,程序会阻塞在这里,用于调试二.共享指针(TSharedPtr)1.优势1> 可以避免循环引用2> 由系统管理释放,无需手动操作3> 存在

2022-02-27 16:19:54 390

原创 UE4_Instigator_人懵逼了就会懵逼纪录1

今天被这玩意气到了,Instigator翻了翻源码在4.27中是这样的私有类,无法子类访问,了解,然后想了想,有没有GetInstigator找了下,还真有而且还是个Public,问题按理说解决了并不是Rider开始疯狂报错,:FAITestBase.error!.大约48个错,绕了很久最后花了20分钟,发现Rider不知道怎么引用了个这个头文件???另外,找了找4.24之前的源码好吧,之前还是共有变量,24后改为私有了.可能是写迷糊了,对着南墙就撞..

2022-01-23 18:42:12 913

原创 UE4每周小功能_UI二级菜单

做功能的前提是先设计,后实现思维导图分析这个功能比较简单,设计没有什么复杂的地方,主要点在于数据在各级菜单之间传递,理解这点,做出来很容易.实现过程由大到小主菜单一级菜单二级菜单第一次写的比较简陋,很多不好的地方等会会出一个简单的视频版教程.修正一些问题...

2021-12-18 09:30:39 776 1

原创 笔记_New与Delete_operator new 和 operator delete_内存池

New与DeleteNew不加括号的差别1>空类的话无区别。2>有成员变量,带括号的会把一些和成员变量有关的内存清零,并不是整个对象的内存为零3>当有构造函数的时候,两种写法一致,不会把内存清零了。由构造函数负责了。class Test3d{public: Test3d() { cout << "Init" << endl; } ~Test3d() { cout <&...

2021-12-07 16:48:21 435

原创 笔记_Atomic详解_复习_Async与Thread的区别_recursive_mutex_虚假唤醒_线程池

Atomic详解一般的原子操作,针对++,--,+=,&=,|=,^=是支持的,其他的可能不支持比如std::atomic<int> myato = 0;myato = myato+1;这种结果会不对.Async深入复习Async:用来创建一个异步任务.std::launch::deferrer[延迟调用]std::launch::async[强制创建一个新线程]async为什么不和Thread一样叫创建一个线程呢?因为async有时候不一定创建一个新线程,

2021-12-06 22:48:35 214

原创 UE4每日学习笔记_AI篇(五)

AI躲避玩家位置1.修改EQS_FindPlayer,在ProjectionData中的TraceMode,修改为几何体,这样可以无视导航,而是做一个垂直判定(垂直偏移),使得均匀球体可以分布到无导航区域.在FindPlayer中添加其他几个部分详细介绍此处会过滤玩家看不到的位置如图所示,此处添加一个判断Npc距离玩家的位置此处添加一个周围环境判定,其实线性不动,只是把得分改成-1,也可以起到同样的效果.最后在行为树中运行即可运行效...

2021-12-05 12:11:37 914

原创 UE4每日学习笔记_AI篇基本概念

什么是EQS(环境查询系统)?是UE4AI系统的一个功能,用于从周围环境中收集数据在EQS中,可以通过不同种类的测试向收集的数据提问,这些测试会根据提出问题的类型来生成最适合的项目生成器比如EQS_FindPlayer中的SimpleGrid,是生成器,用于产生将要测试和加权的位置或Actor,生成的是一个范围,一个形状测试节点主要是用于测试距离,自定义的边界,点,或者追踪某些命中或没命中的事件,还有寻路的长度等等.在Trace追踪测试中蓝色代表过滤掉的位置,即不选择.

2021-12-03 20:00:34 912

原创 笔记_async_future_promise_future成员函数_原子操作std::atomic

async future作用:创建后台任务并返回值定义:async 是一个函数模板,用来启动一个异步任务,启动后会返回一个future类模板对象(线程返回的结果)实现:可以通过调用future的成员函数get()获取结果调用get时,等待入口函数执行完毕,拿到结果后才往下走。wait只是等待,并不返回结果代码:int mythread4(){ cout << "mythread4()start " << "thread...

2021-12-03 16:56:55 400

原创 UE4每日学习笔记_AI篇(四)

EQS系统前期准备1.创建以下几个类文件1_1>创建必要的文件其中EQC_C是继承自EnvQueryContextBlueprintBase的类1_2>对EQC_C修改对这个方法重载,用一个玩家角色作为返回值2.对EQSAIController的操作2_1>先添加视觉组件2_2>重载AI感知中,当AI感知发生变化方法(视觉)代码解释:先保存看到的Actor,判断看到的Actor是否含有Player标签,并且是看到的情况下..

2021-12-02 23:55:00 1311

原创 笔记_单例设计模式_call_once_condition_variable_wait()

单例设计模式共享数据设计模式,把项目开发经验总结,模块化。单例模式:整个项目中,有某个或者某些特殊类,属于该类的对象,有且只能创建一个。class mySys{public: static mySys* GetInstance() { if (m_instance == nullptr) { m_instance = new mySys; static GC cl; } ...

2021-12-02 16:55:20 642

原创 UE4每日学习笔记_AI篇(三)

Npc伤害反馈功能 首先先添加一个蒙太奇通知打开之前的行为树,添加新的节点,并仿照听到行为设置好在人物中添加一个攻击节点,并且如果生成的触发器碰到了玩家,那么这里会报告一个伤害事件此处的TraceChannel为自定义通道,在人物碰撞处可看到,选择为阻挡即可判定成功最后此处为行为树的相关设置流控制(BlackBoard中装饰节点)重新解释下,原先内容解释不明确BlackBoard中装饰节点,所选中的黑板键值发生变化时,中止执行子树Self:正...

2021-12-01 22:33:53 508

原创 笔记_线程参数_多线程执行_互斥锁_死锁_unique_lock_lock_guard

传递类对象,智能指针作为线程参数class TA{public: int cc; TA(int a) :cc(a) { cout << "构造函数执行: " << this << " threadId: " << std::this_thread::get_id << endl; }; TA(const TA& a):cc(a.cc){ cout << "拷贝构造函数执行: " &lt...

2021-12-01 16:44:10 297

原创 UE4每日学习笔记_AI篇(二)

改变Npc速度NewService按钮,创立一个服务,同Task类似,只是没有返回结果然后转换为NPC,同时新建一个变量Speed,公开后,可以直接在行为树中设置NPC的速度.放置位置具体移动速度实现方法Npc根据枚举控制行为模式创建Task枚举变量,用于切换模式和判断,增加可读性,此处不难 完整行为树如上图NPC到攻击范围就攻击要点:SimpleParallel 选择模式为FinshMode---Delayed当主要任务节点完成后...

2021-11-30 23:49:09 534

原创 UE4每日学习笔记_AI篇

AI视觉感知配置1.复制一份新的Task任务,修改PlayController,改为OwnerController,同时修改Radius的值,修改为150,表示随机范围移动2.在黑板中添加变量,是否看到(bool),然后在行为树中,在Sequence右键,添加装饰器(设计),设置变量值为是否看到,设置为否,下方修改为1写好的随机移动任务3.在selector另一边填写之前写好的找玩家的方法.并也添加一个装饰器(黑板),并设置为true,其实就是ifelse.4.行为树就这些,打开AI,并添加上

2021-11-29 23:07:10 619

原创 UE4每周学习总结_数据表_广域网_模块_模块接口_AI蓝图部分

Command 命令行r.setRes1280 x 720 w 窗口模式 f 全屏模式打包前的设置(广域网)1.在设置中Packaging/List of maps to include in a packaged build 点击+ 号添加数组元素,然后点击... 进行浏览选择要添加的场景 与关卡流不同,此处是跳转场景将对应的场景路径添加,打包时会将对应的关卡也一并打包。否则打包完成后没有进行设置,游戏运行时执行跳转场景时会失败。2.打包完成后,关闭UE4,然后编译一遍De...

2021-11-28 21:51:11 710

原创 笔记_线程概念_多进程并发_Detach()

并发,进程,线程基本概念并发两个或者多个任务同时发生,一个程序同时执行多个独立任务进程一个可执行程序运行起来了,就创建一个进程线程每个进程,都有一个主线程,并且主线程是唯一的,也就是一个进程只有一个主线程。当你执行一个可执行程序,产生一个进程后,这个主线程就随着一个进程启动起来了。F5运行的时候,进程的主线程来调用main函数的代码线程,代码的执行通路。除了主线程外,可以通过自己写代码来创建其他线程,其他线程是走别的地方每创建一个新的线程,就可以在同一时刻,多干一个不同的事

2021-11-24 16:38:30 544

原创 笔记_类模板成员函数_typename_模板_类模板_可变参类模板_using

类模板成员函数可以写在类模板定义中{}。那么这种写在类模板定义中的成员函数会被隐式声明为inline函数。一个实例化模板,它的成员函数只有在使用时才会被实例化注意,浮点型不能做非类型模板参数template<class T>class FVector{public: FVector(); typedef T* FIterator; FVector& operator=(const FVector&);private: F...

2021-11-19 16:58:02 593

原创 笔记_临时对象_移动构造函数_虚基类_虚继承_类型转换构造函数_静态成员函数_模板和泛型

临时对象:int &&ref = i++;r1 = 19; i =20;ref 和 i 之间没有什么关系一些临时对象,是代码写的问题,统一称临时变量为临时对象产生情况:1) 以传值方式给函数传递参数(不推荐,建议传引用,不产生临时对象)2) 类型转换生成的临时对象,隐式转换3) 函数返回对象的时候(用变量来接,&,或者&& 接收,都会少调用一次析构,防临时变量被析构掉)总结:Func();//函数引起消耗Test temp; 会消耗一个构造和

2021-11-18 20:54:00 210

原创 笔记_RTTI_typeid_type_info_final_静态动态_左值和右值

RTTI:(Run Time Type Identification) 运行时类型识别通过运行时类型识别,程序能够使用基类的阵阵或者引用来检查这些指针或者引用所指对象的实际派生类型1 dynamic_cast 能够将基类的指针或者引用安全的转换为派生类的指针或者引用2 typeid 返回指针或者引用所指对象的实际类型;以上方法,要求基类必须有虚函数因为只有虚函数的存在,这两个运算符才会使用指针或者引用所绑定的对象的动态类型(new的类型)强制转换 Human *p = new Men;..

2021-11-17 18:41:17 486

原创 笔记_内联_类_mutable_静态成员变量_纯虚函数

内联:一些简单的函数调用时间可能只用几毫秒,但是压栈出栈时间远比函数调用时间长,为了节约时间1系统尝试将调动该函数动作替换为函数本体,以提升性能。函数定义前增加了关键字inline2只是开发者对编译器的一个建议,编译器做不做取决于编译器的诊断功能3内联函数定义要放头文件。这样用这个内联函数的文件都能通过#include吧这个源代码放进来。1内联函数尽量要小const int &d = 100;函数中带const可以防止传参被修改,只是引用void func(const int

2021-11-16 22:51:51 268

原创 笔记_UE4单播,多播代理 服务器UDP TCP 函数指针

本周学习内容回顾UE4单播,多播代理 服务器UDP TCP 函数指针 其他零散知识点UE4单播:第一个传自身引用,第二个FName,函数名字绑定Lambda动态有参单播动态多播:自己手写一个单播多播...

2021-11-15 10:05:20 621

原创 UE4 3DUI始终显示在摄像机最前方

最近接到一个需求,需要使3DUI不被其他物体遮挡,始终显示在最前方。网上各种找,参考了董国政大神写关于用DisableDepthTest来实现透视效果的技术文章:https://blog.csdn.net/qq_36409711/article/details/76691192其实实现方法很简单1:找到3DUI的UI2:找到UI位置并且复制一份出来,并打开做如下设置3:把改好的UI放到3DUI下,效果如下...

2021-08-17 15:21:44 2015

原创 UE4 VR WidgetInteraction 局域网设定

无论用什么,我们要先确定是什么------------------------鲁迅下面是关于WidgetInteraction的官方定义控件交互组件执行光线投射,确定它是否命中世界场景中的控件组件。如命中,可设置规则确定与其交互的方式。 交互通过模拟定义的按键来执行。例如一个按钮可通过鼠标左键点击,即可告知其他形式的输入模拟一次鼠标左键点击(控制器按钮按下、运动控制器扳机键按下等)。总的来说就是:发射射线与3DUI交互并设定交互的方式添加方式也极其简单(官方文档讲的很详细,这里只是简略一提)

2021-07-23 11:07:03 961

原创 Win10略缩图悬浮问题

1.WIN10鼠标悬停到任务栏的时候显示略缩图,但是移开不关闭解决办法:直接不显示略缩图即可方法如下:WIN+R运行regedit,进入注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced创建一个名称ExtendedUIHoverTime 的 32位DWORD值(如果有就直接修改)修改为9000即可...

2021-07-22 07:52:32 666

原创 关于UE4广域网配置过程,以及配置踩过的坑

最近想和小伙伴开发一款UE4的小游戏,思来想去还是决定做多人联机功能,以下,是配置网络时踩过的坑鉴于教大家配置的文章很多,这里就buzu

2021-06-13 13:23:25 1003

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除