- 博客(25)
- 问答 (3)
- 收藏
- 关注
原创 一个用于将项目模块化管理的插件--ModularProject的规则处理类扩展
若认为默认提供的事件标签无法满足自己的需求而希望扩展事件,首先需要创建个Actor类并继承自RuleProcessingClassBase类。第三步:若希望扩展已有的事件,则需要先继承之前的事件,若不需要默认的事件,则。第二步:重写Add Rule Processor函数。
2025-04-03 18:10:19
202
原创 一个用于将项目模块化管理的插件--ModularProject
第六步:调用刚刚设置的模块(下图为我在关卡蓝图里写的测试调用方法,Invoke Module by Name与Invoke Module by Class功能一致,用哪个都行)第一步:创建Actor(只要是Actor及其子类即可,比如Character或GameMode),取名为SubModule1。第三步:实现GetModuleName函数,随意设置一个模块名称,我设置为My New Module。上面的执行顺序以及事件触发数量是通过规则处理类扩展的,若有额外需求可自行扩展
2025-03-27 12:34:00
411
原创 虚幻(UE)引擎UK2Node剖析系列之Spawn Actor from Class (第三部分)
此构造函数给NodeTooltip变量赋值为"AttemptstospawnanewActorwiththespecifiedtransform",Key为"NodeTooltip",主要用于后续本地化。(1)此类采用GENERATED_UCLASS_BODY()宏标注(此宏意味着将自动生成构造函数,不必显式声明构造函数,这个构造函数通常带有FObjectInitializer参数,并且后续成员默认为public)。此函数簇我们从上向下分析。概述:生成所有默认的Pin。
2025-01-16 21:51:39
532
3
原创 虚幻(UE)引擎UK2Node剖析系列之Spawn Actor from Class (第二部分)
UK2Node_ConstructObjectFromClass类剖析。
2025-01-14 21:24:51
249
原创 虚幻(UE)引擎UK2Node剖析系列之Spawn Actor from Class (第一部分)
蓝图中的SpawnActorfromClass节点的基础c++类就是继承自UK2Node的UK2Node_ConstructObjectFromClass类。
2025-01-01 21:01:55
522
原创 虚幻引擎创建新模块方法
public 新模块名称(ReadOnlyTargetRules Target) : base(Target)5:在Source/新模块名称下新建 新模块名称Module.h与新模块名称Module.cpp。IMPLEMENT_MODULE(F新模块名称Module, 新模块名称);4:在 主模块名称Editor.Target.cs文件中添加这个新模块。2:在Source文件夹下新建个文件夹,以 新模块名称命名。#include "新模块名称Module.h""Name": "新模块名称",
2024-12-10 14:05:03
431
原创 UnrealEngine的HotPatcher(热更新-未包括lua版本)使用教程
1:打个普通包(基准版本)2:选择Release版本3:输入基准版本的版本ID3:选择Content4:选择导出位置5:点击Export Release按钮导出配置。
2024-10-02 11:55:53
431
原创 加上ribbon后报No instances available for xxx,不加则无法使用IRule的替代方案
写一个CustomerLoadBalancerConfiguration类并将以下代码粘入。之后去掉pom文件中的ribbon就可以了。并在主启动类上加入以下注解。
2023-10-06 21:52:49
347
1
原创 Linux下CentOS8的docker安装流程
安装hello world测试程序:docker run hello-world。运行hello world测试程序:docker run hello-world。开启docker:systemctl start docker。查看docker版本:docker version。拿到root权限后按顺序从上到下复制粘贴就可以了。
2023-08-28 21:01:20
160
1
原创 模块“mySQLPlugin“无法被加载,因此插件“mySQLPlugin“加载失败
模块"mySQLPlugin"无法被加载,因此插件"mySQLPlugin"加载失败
2022-06-07 10:43:39
1900
5
原创 windows 64位 vs编辑器下各数据类型字节数
所需头文件#include <iostream>#include <stdlib.h>#include <WinSock2.h>#include <WS2tcpip.h>#include <mswsock.h>#include <string>#pragma comment(lib, "ws2_32.lib")测试代码printf("int 字节数: %d\n", sizeof(int));...
2022-04-13 09:35:32
792
原创 虚幻批量修改贴图
修改之前的属性为512*512.批量选择贴图,右键。找到Asset Actions(资产操作)的Bulk Edit via Property Materix(批量编辑属性材料)选中所有后输入Bias。修改LOD Bias的值(这里我改为256)再打开之前的图,发现变糊了,说明修改成功。...
2022-01-20 16:08:29
4047
1
原创 PUSHFD与POPFD
_pushfd_eflags: PUSHFD ; PUSH EFLAGS POP EAX RETEflags前面的E是Extra(额外)的意思,Flags是十六位标志位将EFLAGS标志位里的三十二位推入栈中,再弹出至EAX,相当于使用EAX寄存器保存标志位的值。_popfd_eflags: MOV EAX,DS:[ESP+4] PUSH EAX ...
2022-01-06 17:05:27
760
原创 虚幻仅在所在端执行事件的方法
有一天我遇到了一个需求,在开始游戏时创建一个UMG。这很简单,但我的操作结果是每进入一个人都将在所在端生成一个UMG,我意识到这是因为BeginPlay在权威(服务器)端与远(客户)端都会执行的原因,但怎么解决..如果是用按键执行则很容易,因为按键本身就是在所在端才会执行,那有没有办法模拟呢。翻了翻别人的案例,找到了方法:判断一下是不是本地服务器,这样就将仅在所在端执行了。结果在自身所在端都只会生成一个。...
2021-12-09 16:25:12
2543
原创 虚幻C++碰撞回调与注意事项
首先引碰撞头文件,这里我引的是盒体碰撞组件。并且这是父类.h。父类定义两个回调虚函数,一个是BeginOverlap,一个是EndOverlap,这里要注意一定要加UFUNCTION宏,要不然进入游戏将会触发断点。还有一个盒体碰撞组件。以下是父类的.cpp文件创建了一个组件并设置初始值。父类的两个函数什么都没有写接下来是子类.h子类重写两个函数。以下是子类的.cpp文件修改了一点默认值Beginplay处绑定函数...
2021-08-18 11:24:00
417
原创 虚幻动画系统的骨骼控制节点
骨骼控制节点(1) Look At:使脑袋看向一个物体可以使用Find Look At Rotation节点,也可以使用这个Look At节点。点开它,然后选择想要进行旋转的骨骼。我选择的是head这个节点来进行旋转。使用Y轴旋转(1是开,0是关)。如果想要使引脚暴露出来则勾选Target上的勾,这样就可以在运行时实时传值,来实时修改骨骼的旋转。最后的效果是这样的:会一直看向目标点。-----------------------------------
2021-06-16 11:07:12
753
原创 虚幻中的动画资产通过曲线值进行某些特殊需求的细微调整
在虚幻的蓝图类中创建一个AnimNotifyState类。打开它,然后在左侧函数中进行覆写函数操作。里面有Received Notify Tick , End , Begin和Get Notify Name四个函数可进行覆写。我只进行Tick操作的覆写,End和Begin都是差不多的操作。MeshComp得到的就是这个动画的Mesh,Animation就是这个动画资产的引用,下面的Delta就是帧率,我们这里得到了一个名为Speed的Curve(曲线),然后把曲线值赋值...
2021-06-10 18:27:07
355
原创 Unreal C++杂项(不定期更新)
一个有意思的Bool: 在不同平台上Bool的字节数可能也是不同的,在UECpp中有一种方法可以使其固定为一个字节。使用
2021-06-09 11:21:29
315
1
空空如也
汇编语言的nop和resb 1有什么区别吗?
2022-01-02
虚幻高级运动系统问题
2021-11-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人