自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(140)
  • 资源 (1)
  • 收藏
  • 关注

原创 Python功能制作之流动折线图

通过获取某个文件夹中的csv表格,表格为这个格式。则设置0-...为x轴,假设是回合,然后后面是每回合的金钱数。则我们获取了所有的相关表格后就可以做动画,同时为了可重复使用,做了一个简单的按钮:然后x轴会根据回合数量的增加而增加y轴会根据出现的数据里面的最大值来更改y轴的轴线如果数据表格提前结束,则在结束位置生成对应标签流动性的从左到右出现的动画就做好了。

2024-05-17 17:55:29 193

原创 Python功能制作之正则表达式批量删除并重命名文件

这种情况会导致图片序列无法导入到pr、nuke等软件中,我们需要将前缀进行删除才行。在平时,我们总是会遇到一种需要批量更改,或者是删除文件名字的情况。对此,我们可以使用正则表达式进行匹配,然后去匹配删除相应的字数。

2023-11-05 05:35:27 448

原创 在Blender中使用python脚本

如图所示,我们在场景中创建了一个球,在左下角会出现一行代码,这个代码就是球的创建代码。【】内的字符串是999,赋值的也是字符串999,所以一般会下意识的写上去。在这里,我们就可以写python代码,来进行运行了,在写代码之前记得写上。在使用了以上功能后,我们可以发现,很多事情都已经开始简单起来了。这里笔者将i*20在z轴,可以看到每一个球都是在。一样的流程【如果有需要,甚至可以在。我们只需要将其复制粘贴即可。运行的位置就在新建右侧的。

2023-11-01 17:25:48 841

原创 UE4/5:通过Blender制作BlendShape导入【UE4/5曲线、变形目标,blender形态键】

UE4/5里面,我们经常可以在一些骨骼模型上面看到相关的曲线,如Metahuman里面就是通过这个曲线来改变人物的脸部表情。而这里笔者将教导如何去制作这种曲线。这种曲线都是存在于骨骼模型上的,所以我们要么直接制作骨骼模型导入ue,要么做一个普通的模型,然后导入ue的时候添加一个骨骼。

2023-10-19 14:09:37 2011 2

原创 UE5.1编辑器拓展【三、脚本化资产行为,删除无引用资产】

在我们删除资产的时候,会发现,有些资产在删除的时候会出现有被什么什么引用,还有的是没有被引用。而我们如果直接选择一片去进行删除的话,那么会导致看到很多有引用和没有引用的出现。现在我们需要将没有引用的全部删除,而有引用的全部留下,做一个。

2023-10-02 11:36:26 2415

原创 UE5.1编辑器拓展【二、脚本化资产行为,快速更改资产名字,1.直接添加前缀或后缀2.通过资产类判断添加修改前缀】

如果是需要自定义选择前缀名,那么我们需要的是输入一个FString和一个bool。通过bool来判断你是要添加前缀还是后缀。首先遍历选择的资产,然后检查是否有效,然后判断是添加前缀还是后缀,最后进行添加。然后右下角通知添加前缀成功。

2023-10-01 12:46:26 2142

原创 UE5.1编辑器拓展【一、脚本化资产行为,通知,弹窗,高效复制多个同样的资产】

的意思就是直接到资产的名字,那么地址就是/Game/test/a。头文件是自己创建的,主要是为了方便使用更多的其他debug函数。此时此刻我们会发现是编译失败的,那是因为我们缺失了相关的模块。可以用于创建、删除和重命名资产,以及管理资产的引用关系。在了解了一些基本知识后,我们开始在继承了。的意思就是/Game/test/这样就可以编译成功了。

2023-10-01 11:04:23 1975

原创 UE4/5数字人MetaHuman通过已有动画进行修改

我们将这些关键帧复制后,打开我们自己创建的动画序列。【当然也可以在这个动画序列中使用,不过需要保存到自己需要的地方】。首先架设我们已经有相关的MetaHuman的动画,但是这个动画因为是外部导入进来的,所以可能会出现如缺帧之类的情况。然后点击一下人物的control rig,然后粘贴,就可以看见下方出现了关键帧,而后我们只需要将这些关键帧修改即可。然后我们需要将这个修改这个动画,如果再在外面弄,或者是导出之类的进行,会消耗很多时间,并且在效果上也可能不尽人意。

2023-09-26 11:53:05 673

原创 HTML之动态点连线

每个点会随机进行移动,点移动到靠近的点之后,就会连接到这个点,以此类推。做一个动态点连线的效果。

2023-08-29 21:36:23 504

原创 HTML之VSCode简单配置与创建

下载这个插件后可以直接运行: 然后创建一个文件:使用两种方法,一个是默认,直接打开:另一种是自己选择哪个浏览器打开:

2023-08-27 23:42:30 753

原创 UE4/5在蓝图细节面板中添加函数按钮(蓝图与c++的方法)

很多时候,我们可以看到一些插件的actor类中,点击一下之后就可以实现如矩阵一样的效果。实际上是因为其使用了函数来修改了蓝图中的数值。那么这种可以直接使用函数是怎么设置的呢?

2023-08-27 17:51:13 1704 1

原创 Python功能制作之简单的绘画板

制作我们使用Python的Tkinter库创建的一个简单绘画软件。首先创建了一个简单的绘画应用,可以选择颜色、切换画笔和橡皮擦模式、清空画布以及绘制自由曲线。里面的主要结构和功能是:导入必要的库:tkinter:用于创建图形用户界面。PIL(Python Imaging Library):用于处理图像。定义 PaintApp 类,构建绘画应用:初始化界面和属性,如画笔颜色、橡皮擦颜色、坐标等。创建画布和按钮,设定按钮功能。方法解释:choose_color():打开颜色选择器,让

2023-08-27 15:47:09 741 2

原创 UE4/5的Custom节点:在VScode使用HLSL(新手入门用)

但是在这里面去写代码会发现十分的繁琐【按下enter后,不会换行,也不会自动缩进】

2023-08-26 14:24:29 1372 2

原创 Python功能制作之【遍历某个文件夹,复制某后缀到另一个文件夹中】

模块来轻松地遍历文件夹、复制文件。在函数内部,我们首先检查目标文件夹是否存在,如果不存在则创建它。函数遍历源文件夹中的所有文件和子文件夹。对于每个文件,我们检查其扩展名是否为。在Python中,我们可以使用。函数将文件复制到目标文件夹中。是目标文件夹的路径。

2023-08-24 21:07:36 304

原创 UE4/5Niagara粒子特效之Niagara_Particles官方案例:3.3->4.3

从特效的表现以及打开的状态来看,左边是一号发射器,右边是二号发射器。左右两边有什么不同呢,仔细看看就可以发现:左边是发射器是随机生成粒子和模型。右边的发射器是根据生命周期按照一定的顺序改变自己的渲染状态。

2023-08-23 12:09:39 1919

原创 Python功能制作之简单的音乐播放器

按住下面的暂停和播放【需要图标】【空格也可以】双击列表歌曲即播放。

2023-08-21 22:41:11 1046

原创 UE4/5Niagara粒子特效之Niagara_Particles官方案例:2.4->3.2

5. float3(Particles.Position.x, Particles.Position.y, Emitter.InitialPosition.z -Emitter.ZOffset):如果上一步的判断为假,即粒子位置的z坐标不大于发射器初始位置的z坐标减去偏移值,就返回一个新的向量,其中x和y坐标与粒子位置相同,但z坐标为发射器初始位置的z坐标减去偏移值。4. Particles.Position:如果上一步的判断为真,即粒子位置的z坐标大于发射器初始位置的z坐标减去偏移值,就返回粒子的位置。

2023-08-21 17:49:32 1881

原创 UE4/5Niagara粒子特效之Niagara_Particles官方案例:1.5->2.3

如半径是100,指数是1,表示你离中心越远,你的移动速度也就越快【可以想象一下漩涡中心对你的力,和你在外围的力有什么不同。【可以参考对黑洞的理解】】:简单的来讲如果将这个关闭,那么它的位置就不是NS【Niagara System】的所在世界位置了,而是世界坐标的0,0,0的位置。,同样是从中间向四周递增,所以将曲线中的某个值调大,就可以很明显的看到特效里面的条带某端变大的效果。可以看到生成的粒子的生命周期是6秒,点是绿色的【Sprite】,然后Sprite的大小是8.

2023-08-21 00:10:39 1456

原创 Python功能制作之简单的3D特效

pygame: 这是一个游戏开发库,用于创建多媒体应用程序,提供了处理图形、声音和输入的功能。: 导入pygame库中的常量和函数,用于处理事件和输入。OpenGL.GL: 这是OpenGL的Python绑定库,用于编写和执行OpenGL代码。: 这也是OpenGL的Python绑定库,用于提供与设备无关的窗口和交互功能。random: 这是Python的内置模块,用于生成随机数。math: 这是Python的内置模块,提供了数学函数的支持。OpenGL.GLU。

2023-08-19 00:08:29 1435

原创 Python功能制作之3D方块

用python写一个黑窗口,窗口里面有一个白色的3D方块,左键按下后移动可以旋转以各个视角来看方块。当然有需要的话,可以自己在代码中去更改颜色,直接通过RBG的参数进行更改即可。和如果需要旋转,将清空缓冲上面的取消注释即可。这个函数的作用主要是刷新的帧率,比如填写120,就可以感觉到游戏里面卡顿的感觉了。

2023-08-18 22:23:01 802

原创 UE4/5Niagara粒子特效之Niagara_Particles官方案例:1.1->1.4

通过对官方案例的讲解来了解和使用Niagara,可以打开官方示例来看。

2023-08-18 17:32:06 2096 2

原创 UE4/5Niagara粒子特效之拖尾渐变

它是粒子的生命周期0-1,所以我们只需要这样就可以让颜色从上面的颜色转变到下面的颜色。发射器二和一一样,先创建一个喷泉的发射器,把要删除的都删除掉,然后把渲染器替换,替换为。然后这两个里面的骨骼网格体都进行添加,我直接添加第三人称模板的人物的骨骼网格体。将不需要的删除,剩下的就只有需要的初始化的东西,以及添加速度和解算。这里的骨骼和要使用特效的骨骼需要是一致的,否则会导致无法出现特效。可以看到,现在它是在One发射器的点上面进行生成的,需要调节一下。然后会发现,现在我们的人体位置生成的粒子一直处于。

2023-08-18 14:02:34 1119

原创 UE4/5数字人MetaHuman的控制绑定资产使用

我们会自动进入动画模式,没有的话,就自己进入一下,那里选择一个想要的资产,然后下面会出现新的选择。,就会在所在的帧需要的控制点做好一个关键帧。,那么就会自动选择到需要的控制点,然后点击。然后我们去寻找我们的。

2023-08-18 10:04:02 744 2

原创 UE4/5Niagara粒子特效学习(使用UE5.1,适合新手)

目录创建空模板创建粒子粒子的基础属性粒子的生命周期颜色大小设置生成的位置Skeletal Mesh Location的效果:Shape Location添加速度添加Noise力场在生成中添加:效果:​编辑在更新中添加:效果:控制粒子过程的大小控制粒子过程的颜色添加风的立场结束笔者这里使用的是UE5.1理论很多,但如果只看理论,就无法去学会,所以迈开第一步很重要:创建空模板首先我们创建一个空的Niagara

2023-08-17 13:39:48 3817 1

原创 UE4/5C++多线程插件制作(二十一、使用)

相关的插件制作在上一节已经完成了。具体的使用方式在第0章已经写了,get之后去绑定即可。而后笔者做了一个接口,具体的绑定方式也就在这个接口里面。

2023-08-14 09:47:09 617 2

原创 ue4/5网络network基础讲解(一、宏Switch Has Authority,Actor的Replicates,变量的RepNotify与Replicated)

如果没看过也不影响下面的阅读,因为这里讲的与会话有所不同。

2023-08-07 19:04:18 822

原创 UE4/5C++多线程插件制作(0.简介)

插件效果更多的是在cpp中去使用这个插件,而不是在蓝图中,所以对于蓝图接口并没有进行一个精致的制作【有一个蓝图接口,但因为不是专门去制作的,所以这个蓝图接口实际上只能用于简单的异步加载来做一些gameinstance之类的事情,如果有需要,可以自行在里面进行添加相对应的函数。】插件使用如何使用这个插件,对此我在MTPLevelSubsystemBPInterface.h的底下做了注释,里面的其实是一个pawn类,只需要将里面的相应函数复制到pawn类就可以知道这是如何使用的了,不过还是简单的进行讲解

2023-07-29 23:27:10 912

原创 UE4/5C++多线程插件制作(二十、源码)

笔者将一些的细节,以及头文件,还有没法使用的宏进行了一定程度上的修改,如果是自己写的,可以一一对照看看,如果是懒人,可以直接复制粘贴源码即可:添加了没用的蓝图接口,在cpp中使用,效果比较好,可以封装到蓝图,笔者这里简单的做了一下,有需要可以自己去制作:首先是头文件:看情况决定你的环境配置,甚至平台是Windows还是安卓,或者是其他的,笔者的电脑只有这两个配置,所以就只有这样:MultiThreadPlugins.Build.csMultiThreadPlugins.hMTPPl

2023-07-29 22:48:51 604 3

原创 UE4/5C++多线程插件制作(十九、异步资源读取封装,细节修改)

普遍要修改的地方是重载操作符的位置,以及头文件的顺序问题,一些文件报错【前置任务完成的宏发生报错,笔者尝试进行解决,却失败了】下一章,笔者将发出可以打包的全部源码【请复制粘贴(文件上传会导致下载可能需要积分或者vip情况)】。

2023-07-29 16:36:05 447

原创 UE4/5C++多线程插件制作(十八、Graph线程封装,以及宏的设置)

在UE5中,是一种特定的线程,用于处理游戏引擎中的。负责解释蓝图和行为树的逻辑,执行其中的节点、连接和操作,并根据其定义的行为来驱动游戏的运行。它负责处理输入事件、计算脚本之间的依赖关系,以及执行与游戏中其他系统的交互。Graph线程还负责管理蓝图和行为树的状态,例如变量的更新、条件的评估和事件的触发。使用的可以提高脚本系统的。由于它是一个独立的线程,可以与游戏的工作,这样就可以在。

2023-07-25 22:20:07 450

原创 UE4/5C++多线程插件制作(十七、封装协程管理)

用于创建委托并将其绑定到当前实例。这样可以以更加灵活的方式来处理绑定,并支持多种不同的委托类型。

2023-07-25 18:21:02 404

原创 UE4/5C++多线程插件制作(十六、Coroutines协程封装)

我们要对协程继续封装制作:协程是一种计算机程序组件,它允许在某个位置暂停执行,然后在稍后的时间点恢复执行。与传统的函数调用不同,协程可以被多次调用并且能够保留其内部状态,从而允许程序在执行到一定点时暂停,执行其他任务,然后再返回协程继续执行。在传统的线程或进程模型中,控制权在不同的线程或进程之间切换,而协程是在同一个线程中执行,使用一个调度器来控制执行的协程。协程提供了更加轻量级和高效的计算资源利用方式,因为它们不需要线程间的切换开销。协程的一个重要特点是可以进行非阻塞的异步操作。

2023-07-25 15:16:17 642

原创 UE4/5C++多线程插件制作(十五、将模板统一,修改统一后的其他类,修改继承,修改返回类型等)

随着我们一点点的创建,可以发现模板太多了,并且有一些模板的功能甚至是重复的。尝试打包,成功,该章结束。

2023-07-25 12:23:12 373

原创 UE4/5C++多线程插件制作(十四、MTPAbandonable)

定义了一个宏,用于创建一个FMTPAbandonable类型的自动删除的异步任务,并在后台线程中执行。它接受一个FSimpleDelegate类型的ThreadDelegate参数,表示要执行的操作。该宏会返回一个新创建的FAutoDeleteAsyncTask对象,并调用StartBackgroundTask()方法来启动后台任务。定义了一个宏,用于创建一个异步任务,并指定一个UObject对象和其成员函数以及可变参数来执行。

2023-07-25 10:12:30 761

原创 UE4/5C++多线程插件制作(十三、优化,bug,尝试打包【尚未完成插件封装,初次测试】)

首先我们准备一个跨平台使用的头文件,在ue内部有很多关于跨平台的头文件,我们只需要在自己的头文件中,根据不同的平台来决定包含哪些头文件即可。然后包含这个头文件,这个头文件里面定义了通用平台进程相关的功能和操作,而后我们就可以根据#if来判断是什么平台来包含不同的头文件。

2023-07-24 21:50:53 757

原创 UE4/5C++多线程插件制作(十二、任务管理,优化ThreadManage,相关代码)

笔者才发现有bug,找了1个小时,发现是一个类底下的;写到这里,笔者突然发现,要删除的东西。实例,并将其加入到线程任务列表中。这样,当我们需要使用多线程执行任务时,就可以通过这个。这是为了确保在销毁实例时,所有线程都可以正常退出并释放资源。作为参数,用于指定要创建的线程数量。在该函数中,我们根据。函数,这是一个非常重要的函数,它将在每一帧被调用,用于。当找到一个挂起的线程后,我们将其赋值给。在这个函数中,我们首先定义了一个名为。,如果不为空,我们可以从队列中取出一个。这个tick,在上面已经创建了,所以。

2023-07-22 23:17:04 233

原创 UE4/5C++多线程插件制作(十一、管理封装)

在第十章中,我们完成了对MTPThreadInterface.h的接口封装,接下来我们将对两个管理文件进行封装:MTPThreadAgendyManage.hJoin():该函数用于同步操作,用于等待一个线程的执行完成。它接受一个FThreadHandle类型的参数Handle,表示要等待的线程。返回值为bool,表示操作是否成功。Detach():该函数用于异步操作,用于将一个线程分离,使其在后台继续执行。它接受一个FThreadHandle类型的参数Handle,表示要分离的线程。返回

2023-07-22 17:24:20 351

原创 UE4/5C++多线程插件制作(十、接口类和代理容器类的制作)

该文件提供了一个接口类和一个代理容器类。类是一个基类,它包含了一个互斥锁,用于保护多线程操作的互斥访问。类继承自和,作为代理容器。它重载了运算符来管理代理任务的创建、分配和查询。使用互斥锁确保多线程操作的安全性。

2023-07-21 22:29:14 337

原创 UE4/5C++多线程插件制作(九、将FEvent封装为信号量)

通过上一章,我们可以发现随着我们的多线程插件的制作,我们的项目虽然一次次的在进行局部的优化,但仍然是十分臃肿的。

2023-07-20 03:30:00 199

原创 UE4/5C++多线程插件制作(八、通过获取最大线程数制作任务队列)

我们需要制作一个自动化的任务列表,而这个时候,我们就需要知道我们当前使用的设备是支持多少个线程去使用的。而ue内部是有这么两个函数是可以实现的,分别是:FPlatformMisc::NumberOfWorkerThreadsToSpawn()和FPlatformMisc::NumberOfCoresIncludingHyperthreads()。FPlatformMisc::NumberOfWorkerThreadsToSpawn()这个函数返回的是引擎在启动时自动创建的worker线程数的最大值

2023-07-19 04:30:00 303

UE5 MetaHuman SDK插件的使用【二、聊天机器人】的两个方法的蓝图代码

复制到蓝图中即可

2023-07-02

文章:UE5 MetaHuman SDK插件的使用【一、编辑器创建音波与蓝图创建获取音波,音波与嘴唇的同步】的方法一和方法二代码

直接复制到蓝图即可使用,记得放如参数

2023-07-02

2023年4月8日蓝桥杯c++ABC组题目大全

其中是2023年4月8号的蓝桥杯c++的ABC组的题目,以pdf形式展现:

2023-04-09

c++一看就懂的扫雷游戏

用VS2022写的c++扫雷,有一个exe,好像被认为是病毒了。。 需要easyX图形库 字符集在项目设置中改为多字符集使用,或者是自己_T 其他就没有了

2022-08-22

空空如也

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

TA关注的人

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