自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 UE在资源浏览器创建资源

UE在资源浏览器创建资源

2024-07-03 09:59:34 104

原创 创建UE的TabManager

UEC++的TabManager

2024-07-03 09:53:31 339

转载 使用命令行进行批量渲染

在这种方法中,完整的虚幻编辑器将启动,打开您指定的项目,加载默认的启动级别,然后在所有东西都加载并准备就绪后运行您的脚本。注意:ExecutePythonScript 等待资源注册表加载后再运行,因此对于大型项目,您可能会看到延迟,编辑器已加载并可交互,但不会执行您的脚本,直到它完成异步发生的注册表处理。这使我们能够定义执行后过程,在此示例中,执行后过程只是在执行器完成运行时退出编辑器。这可能是由于不同的设备配置文件造成的,因此我们现在建议先启动编辑器,以尽可能接近创作镜头的艺术家的渲染结果。

2024-06-06 08:59:49 18 1

原创 程序员的发展赛道

在这个阶段,新手程序员通常会接触到编程的基础知识和技能,学习一些常见的编程语言,如Python、Java、C++等。在拓展阶段,程序员可以选择进一步深入某个特定领域,比如人工智能、区块链、物联网等,成为该领域的专家。在这个阶段,程序员已经具备了丰富的经验和技能,可以独立承担更复杂的项目和任务。通过不断提升自己的技能和经验,程序员可以在这个领域中取得成功,并且为科技的进步和社会的发展做出贡献。通过参与一些开源项目、个人项目或者实习经历,他们可以积累更多的经验和技能,并且建立起自己的工作作品集。

2024-03-06 09:35:43 258

原创 建造者模式

Builder 模式要解决的也正是这样的问题:当我们要创建的对象很复杂的时候(通常是由很多其他的对象组合而成),我们要要复杂对象的创建过程和这个对象的表示(展示)分离开来,这样做的好处就是通过一步步的进行复杂对象的构建,由于在每一步的构造过程中可以引入参数,使得经过相同的步骤创建最后得到的对象的展示不一样。Builder 模式的关键是其中的 Director对象并不直接返回对象,而是通过一步步(BuildPartA,BuildPartB,BuildPartC)来一步步进行对象的创建。

2024-03-05 14:17:39 442

原创 抽象工厂模式

AbstractFactory 模式和 Factory模式的区别是初学(使用)设计模式时候的一个容易引起困惑的地方。实际上,AbstractFactory模式是为创建一组(有多类)相关或依赖的对象提供创建接口,而 Factory模式是为一类对象提供创建接口或延迟对象的创建到子类中实现。每上架一个国家的苹果我们都要实现一次苹果类,这样就会有成千上万的苹果类需要被创建,AbstractFactory 模式就是用来解决这类问题的:要创建一组相关或者相互依赖的对象。

2024-03-05 14:15:44 225

原创 原型模式学习

当我们定义了第一个简历对象 p1 时,如果再需要创建一个对象,直接调用 p1 中的克隆 Clone 方法,然后返回一个新的对象 p2. 如果想要定制化简历 p2 时,只需要在 p2 中修改与 p1 差异的地方就可以了。原型模式实现的是一个Clone 接口,注意是接口,也就是基于多态的 Clone 虚函数。但是,这里有一个很严重的问题:一旦简历内容需要修改,那么所有的简历对象都需要改动。所以,一般在初始化的信息不发生变化的情况下,克隆是最好的办法,这既隐藏了对象创建的细节,又对性能能是大大的提升。

2024-03-05 14:14:30 120

原创 Factory模式(工厂模式)

这样我们可以通过声明一个指向基类的指针来指向实际的子类实现,达到了多态的目的。Product 是一类,有一个共同的基类),如果我们要为不同类的类提供一个对象创建的接口,那就要用 AbstractFactory 了。如果为每一个具体的 ConcreteProduct 类的实例化提供一个函数体,那么我们可能不得不在系统中添加了一个方法来处理这个新建的。可以看出,Factory 模式对于对象的创建给予开发人员提供了很好的实现策略,但是Factory 模式仅仅局限于一类类(就是说。使用工厂方法模式的应用。

2024-03-05 14:11:47 184

原创 单例模式学习

Singleton 模式是设计模式中最为简单、最为常见、最容易实现,也是最应该熟悉和掌握的模式。Singleton 模式就是一个类只创建一个唯一的对象,即一次创建多次使用。懒汉式:解决了饿汉式内存浪费问题,但是线程不安全的,可以通过互斥量mutex.lock()和mutex.unlock()来解决。饿汉式:还没有使用该单例对象,该单例对象就已经被加载到内存了,在对象过多时会造成内存浪费。3、提供静态对外接口,可以让用户获得单例对象。2、增加静态私有的当前类的指针变量。单例分为懒汉式和饿汉式。

2024-03-05 14:09:12 112

转载 Learning Agents入门

编辑器插件窗口显示的Learning Agents插件这时会弹出一个窗口,表明Learning Agents是一个实验性插件。点击“确定”继续。窗口底部会出现一个“立即重启”按钮。单击这个按钮重新启动编辑器。编辑器会自动重新打开。完成初始设置后,就可以开始使用Learning Agents插件!Learning Agents管理器创建管理器蓝图在内容侧滑菜单的“内容”文件夹中创建一个新的文件夹,命名为“Learning”:编辑器内容浏览器中显示新建的Learning文件夹。

2024-03-05 13:55:05 53

原创 欲求生富贵,须下死工夫!

人活一世,匆匆几十载,总归是要做一些自己喜欢的事情,死的时候才能不留遗憾。不知不觉已过而立之年,回首往昔,常叹光阴虚度,经过社会的多年毒打,逐渐向现实低头... 然而心中还是留有一颗倔强的小火苗,总是对我说别躺平。我们必须学会敢于为自己树立更大的梦想,培养与众不同的思维。我们不能仅凭自己当下的处境和所掌握的资源去预判人生,并悲剧性地受限于此!有田不耕仓禀虚,有书不读子孙愚;少壮不经勤学苦,老来方悔读书迟;板凳要坐十年冷,文章不写一句空;书山有路勤为径,学海无涯苦作舟;少年不努力,老大徒伤悲;

2024-02-28 15:21:21 70

原创 UE项目中:什么时候用插件--什么时候用模块

综上所述,选择使用UE插件还是模块来开发功能取决于功能的独立性、项目的扩展性需求、开发团队的组织结构以及性能和资源需求等因素。

2024-02-27 16:45:01 178

翻译 编程二十年,38岁Google程序员万字长文给出16条建议,涉创业、技术淘汰、拿大厂offer...值得学习思考

今天正好是我开始专业编码的 20 年。尽管如此,我还是错过了更多,而且花了太长时间。我想,如果我尽早应用我所学到的态度、原则和优先事项,我本可以加快这个职业,在 5 年内获得大部分成功的属性。如果你正在开始你的职业生涯,这篇文章可以挽救你 15 年的生命。想象一下,在23岁而不是我现在的38岁时拥有所有这些列表(IEEE除外,这需要10年)。在第一部分中,我将简要描述我的职业生涯。在第二部分中,我将介绍我认为影响最大的每条建议。

2024-02-27 16:35:52 89

原创 创建动态自定义工具面板

图表的另一部分要将“Button Clicked”事件与“Tool Cmnd”连接,这样就可以将每个按钮与Button ID关联起来,从而关联到数据表的具体行,之后将数据表拆分成各个列,再执行Button ID的Python命令。在本教程中,我们将探讨如何将这些元素结合在一起,创建一个带有按钮的工具面板,并且这些按钮可以执行存储在数据表中的python脚本。在本示例中,变量ItemDetails就被设置为结构,并且命名为S_ToolBar,这个就是我们之前创建的结构,应该可以在列表中轻松找到。

2024-02-22 16:37:41 582

原创 字符串方法

替换: 把字段中所有的five替换为millions of。转为标题形式: 所有单词的首字母大写,其余的字母都小写。

2024-02-22 16:08:40 388

原创 Python定义函数

这个方法包含一个in关键字,它是检测一个序列中是否包含某个给定的值。下面是从函数中返回一个数组。

2024-02-22 16:06:41 170

原创 For循环

>> for x in a[:]: #创建整个列表的切片副本。跟据迭代索引活动链表中的元素。

2024-02-22 16:04:43 128

原创 If-elif-else语句

【代码】If-elif-else语句。

2024-02-22 16:03:23 61

转载 Runtime加载Pak文件

除了应用程序的主可执行文件之外,虚幻引擎(UE)还能以.pak文件的形式交付资产。为此,我们需要将资产整理成文件块,即烘焙处理可以识别的资产文件组。本示例将展示如何在虚幻引擎编辑器中将资产整理成文件块。最终产生一个示例项目,该项目将生成.pak文件,你可以利用补丁系统交付这些文件,利用C++蓝图函数库和蓝图加载内容。Pak文件依赖于对函数的软引用,你的主要虚幻引擎应用程序将通过这种方式与任意Pak加载内容进行沟通。参阅官方文档了解对象引用在虚幻引擎中的工作方式。

2024-02-20 16:35:51 294

转载 使用几何体脚本和蓝图快速替换Cesium瓦片

除了基本功能,我还为Actor添加了其他实用程序。如果你想删除其中一个Actor并重新开始,可能会遇到一些问题。删除Plot Actor不会删除地图多边形Actor。删除多边形Actor会弹出破坏瓦片集引用的警告。因此,我创建了一个自定义事件叫做“(移除地块)”,它会先从瓦片集的光栅叠加中移除地图多边形,然后删除多边形,再刷新瓦片集和填充空洞,最后销毁自己,不留痕迹。我还给Plot Name(地块名称)添加了一个公开字符串变量。这意味着我可以创建数百个这样的区域,为每个区域分配唯一标识符。

2024-02-20 16:33:43 161

转载 Sequencer脚本编辑

这个函数会在指定的关卡中创建一个关卡序列播放器,在指定范围内评估序列,然后收集与输入的绑定代理绑定的对象。对象绑定将多个轨道绑定到一个特定对象上,或者绑定到某个已经存在于关卡中的对象上(可持有对象)或由序列生成的对象(可生成对象)上。要添加组件,可以像前面一样调用“添加可拥有项(Add Possessable)”,引用序列和组件,然后调用“设置父项(Set Parent)”,组件的绑定代理为“在绑定中(In Binding)”,父对象的绑定代理为“在父绑定中(In Parent Binding)”。

2024-02-20 16:28:19 57 1

原创 C++文件操作

ios::out= 0x02,  //供写,文件不存在则创建,若文件已存在则清空原内容(ofstream默认的打开方式)ios::app= 0x08,  //供写,文件不存在则创建,若文件已存在则在原文件内容后写入新的内容,指针位置总在最后。ios::ate= 0x04,  //文件打开时,指针在文件最后。ios::nocreate = 0x20,  //文件不存在时产生错误,常和in或app联合使用。ios::in= 0x01,  //供读,文件不存在则创建(ifstream默认的打开方式)

2024-02-20 16:25:42 192

原创 C++创建动态库dll

动态库的优点是,不需要拷贝到目标程序中,不会影响目标程序的体积,而且同一份库可以被多个程序使用(因为这个原因,动态库也被称作共享库)。与静态库相反,动态库在编译时并不会被拷贝到目标程序中,目标程序中只会存储指向动态库的引用。另外一种情况是,对于某些不会进行大的改动的代码,我们想减少编译的时间,就可以把它打包成库,因为库是已经编译好的二进制了,编译的时候只需要 Link 一下,不会浪费编译时间。上面提到库在使用的时候需要 Link,Link 的方式有两种,静态和动态,于是便产生了静态库和动态库。

2024-02-20 16:24:30 216

转载 虚幻引擎5迁移指南

根据你的操作系统或开发环境,可执行文件可能位于你的 Engine/Binaries/OS 目录中,其中OS表示你的操作系统。随着UE5的不断完善,Lumen的光线追踪功能将继续改进,提供更广泛的支持,并与引擎的其他功能不断协同。要将你的地图升级到世界分区系统,请在项目中使用WorldPartitionConvertCommandlet,并提供要转换的每张地图的名称,一次一个。由于在非编辑器版本中,TObjectPtr 会转换成原始指针,这不会影响已发布产品的行为或性能,但会改善你在编辑器版本中的开发体验。

2024-02-20 16:21:28 621

原创 BlueprintImplementableEvent和BlueprintNativeEvent之间有什么区别?

当你在c++中定义了一个以UFUNCTION(BlueprintImplementableEvent)修饰的函数,这个函数就可以在蓝图中重写,当这个函数是没有返回值的时候,则可以当作事件调用,有返回值则不可以,无论有返回值还是没有返回值调用这个函数都必须通过代码来调用。注意:当你用BlueprintImplementableEvent修饰函数后这个函数不可以在cpp文件中实现否则编译不通过。同意如果要调用这个函数必须在代码中调用。

2024-02-20 16:16:19 608

原创 UE4c++计时器

(3)UpdateTimeDispay():更新TextRender显示的字。(3)AdvanceTimer中当计时器到0时要清除计时器并调用完成后的函数。(2)BeginPlay:更新TextReander,和启用计时器绑定函数。(4)AdvanceTimer():用于倒计时和逻辑的实现。(5)TimerFinish():当倒计时结束后做的事情。(2)TextRender:在场景中可以看见的Text。(1)构造中先场景TextRender对象并初始设置。1.声明基本变量引用头文件。

2024-02-20 16:14:20 189

原创 FRunable多线程

实现的逻辑就是当调用PauseThread函数是bPause=true这是while里就会执行ThreadEvent->Wait(),这时线程挂起,当需要激活线程时候调用WakeUpThread函数执行bPause=false和ThreadEvent->Trigger()方法,线程就会重新激活。在上面的笔记中记录了线程的基本使用在下面的内容中将在原来的基础上加入线程的挂起和唤醒功能。在这里就是这个类的生命终点如果线程还没有销毁那么会在这里销毁掉线程。他的作用是执行这个线程可以通过他来挂起或激活这个线程。

2024-02-20 16:10:51 264

原创 FTP客户端指令

CommandABORACCTADATALLOAPPEAUTHAVBLCCCCDUPCONFCSIDCWDDELEDSIZENCEPRTEPSVFEATHELPHOSTLANGLISTLPRTLPSVMDTMMFCTMFFMFMTMICMKDMLSDMLSTMODENLSTNOOPOPTSPASSPASVPBSZPORTPROTPWDQUITREINRESTRETRRMDRMDARNFRRNTO。

2024-02-20 16:06:55 605

原创 数字孪生项目管理

第一步与客户确认取数维度,取数来源,该项都需要准备时间,可以提前安排时间提高项目的开发效率。组件展现最好,例如,地图、TOP10、饼图、列表、数字,趋势等图表。所以要在特定场景下做好指标体系建设,需要先选好指标,常用方法是指标分级方。设计的过程,根据搜集到的指标,通过草稿、界面化的方式回答“该可视化场景,”三个问题,一般需要重点做到如下几。据组件来表达可视化大屏观看者传达的信息,主要是细节和感受的设计,可简单理。进而,对每个数据的呈现组件的选择,知道每个数据代表什么,用什么可视化。

2024-02-20 15:57:30 275

原创 UEC++Delay

被调用的函数一定要是加入UFUNTION反射后的。Linkage:不能是-1。

2024-02-20 15:54:13 224

原创 UEC++模拟键盘输入

需要使用window.h的头文件但单独引用有冲突需要一起引用以上头文件。#include //冲突头文件。

2024-02-20 15:52:22 148

原创 UEC++打开、关闭外部exe

打开execonst TCHAR* Exepath = L"D:/MyWork/Packges/1/Windows/DaTengXia.exe";//外部程序地址const TCHAR* Parms = L"-PixelStreamingIP=127.0.0.1 -PixelStreamingPort=8888 -RenderOffscreen -AudioMixer -PixelStreamingEncoderMinQP=0 -PixelStreamingEncoderMaxQP=5";//命令行参数Pr

2024-02-20 15:50:35 198

原创 UEC++单例模式创建

2024-02-20 15:49:19 169

原创 UE智能指针

(2).IsUnique:判断是不是被引用对象的唯一引用指针。(1)共享指针创建可以先赋nullptr,共享引用不可以。(1)共享引用创建必须赋值,引用不可以为空。4.共享指针父子级之间的转化。5.Const指针转可变指针。

2024-02-20 15:47:42 189

原创 UE4c++Json读写

/重点要做序列号的结构体变量·要有UPROPERTY标记才可以序列化!把json字符串解析出结构体信息。把结构体转化成Json格式。

2024-02-20 15:45:03 151

原创 UEC++打包包含编辑器内容

当你设置bCompileAgainstEditor = true时,表示在编译项目时会包含与编辑器相关的代码,使得在运行时可以调用编辑器特有的功能或代码。在Unreal Engine中,bBuildWithEditorOnlyData是一个用于指定是否在构建项目时包含仅在编辑器中使用的数据的布尔标志。但请注意,禁用着色器编译可能会导致在运行时加载着色器时的性能损失,因为它需要使用预编译的着色器。在项目的Target.cs文件中进行这样的设置,可以根据项目的需求来决定是否需要在运行时包含编辑器专用的数据。

2024-02-20 15:39:37 820

原创 UE修复GPU驱动程序崩溃

但是,有一种方法可在开发过程中避免这种类型的崩溃,就是编辑Windows注册表项,让系统有更多时间运行渲染进程。如果尚未存在,请右键点击右侧的窗格,并选择新建(New) > DWORD (32 位)值(DWORD (32-bit) Value)进行创建。如果你仍遇到类似的GPU崩溃,请将注册表项TdrDelay和TdrDdiDelay中的值(Value)从60更改为120秒。如果尚未存在,请右键点击右侧的窗格,并选择新建(New)> DWORD (32 位)值(DWORD (32-bit) Value)。

2024-02-20 15:37:25 870

原创 实时渲染优化指南

渲染优化

2024-02-20 15:29:31 959

原创 UE常用slate控件作用说明

SButton:按钮控件,用于触发操作或执行特定功能。用户可以单击按钮来触发与其关联的事件或操作。 STextBlock:文本块控件,用于显示静态文本内容。它通常用于显示信息、标签或说明。 SEditableText:可编辑文本控件,允许用户输入和编辑文本内容。通常用于接受用户输入的文本字段。 SProgressBar:进度条控件,用于显示某个任务的进度或百分比完成情况。 SImage:图像控件,用于显示图像或纹理。可以用于显示游戏中的图标、图像背景等。 SListView:列表视图控件,用于创建

2023-09-14 08:53:51 438 1

原创 UE4 TreeView学习

Tree View

2023-08-07 16:42:12 403

SFML库资源,已经使用VS构建好

支持音频播放,可以播放WAV格式的音频

2024-07-03

UEC++实时音频播放插件支持win64和Linux平台

可以加载文件中的音频文件进行播放,支持wav.MP3等常用的格式。开发这个插件的时候是UE的5.2版本但是使用的UEC++语言编写如果代码兼容没问题理论上是低版本和高版本通用。

2024-07-03

Learning Agents入门

Learning Agents入门

2024-03-05

UE5插件可以读写Ini文件

可以对ini文件进行内容的写和读

2023-09-08

UE5 封装的AES加密插件

可以对字符进行加密解密

2023-09-08

ApacheHttp服务器

可以用于搭建文件服务器

2023-09-08

空空如也

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

TA关注的人

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