![](https://img-blog.csdnimg.cn/20200309115845173.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
UE4
文章平均质量分 83
UE4引擎相关的知识点、学习笔记整理
Im 胡嘿嘿
这个作者很懒,什么都没留下…
展开
-
【UE4】共享(智能)指针用法
文章目录一、基本概念二、UE4智能指针1. TSharedPtr2. TSharedRef3. TWeakPtr4. TUniquePtr5. TSharedFromThis一、基本概念在UE4中,继承UObject的类被实例化的对象在内存中可以被UE4的垃圾回收机制管理,从而不用担心内存泄漏等问题。但非继承UObject的普通C++类或结构体则需要被开发者管理,如果管理不善,很容易导致内存泄漏、野指针和程序崩溃等问题。对此,我们可以使用UE4提供的共享指针来创建和管理这些类对象。C++的stl库中也提原创 2020-07-31 21:33:52 · 8001 阅读 · 0 评论 -
【UE4】编辑器开发(六)自定义预览视口
文章目录第三章第5节 3分38秒FEditorViewportClient-FPreviewSceneSEditorViewport创建两个类,分别继承FEditorViewportClient和SEditorViewportFEditorViewportClient子类public: FCustAssetViewportClient(FPreviewScene& InPr...原创 2020-07-10 12:14:07 · 6528 阅读 · 7 评论 -
【UE4全反射松耦合框架笔记】第二章 框架结构搭建
第二章 框架结构搭建文章目录第二章 框架结构搭建一、框架介绍二、仿QT打印功能一、框架介绍框架目录:二、仿QT打印功能原创 2020-07-10 12:10:53 · 521 阅读 · 0 评论 -
【UE4】反射系统分析(二)
文章目录INCLASS_NO_PURE_DECLSENHANCED_CONSTRUCTORS这节主要分析一下generated.h文件中的代码。首选先创建一个继承AActor的类,并编译,UHT会生成一个generated.h文件。下边来分析一下AActor类中的GENERATED_BODY()宏的作用。#define BODY_MACRO_COMBINE_INNER(A,B,C,D) A##B##C##D#define BODY_MACRO_COMBINE(A,B,C,D) BODY_MACRO_C原创 2020-06-19 01:02:04 · 956 阅读 · 0 评论 -
【UE4】反射系统分析(一)
文章目录反射的宏标记反射数据UHT和UBT反射的宏标记 在编写UE4 C++代码时,我们经常使用UCLASS()、USTRUCT()、UENUM()、UFUNCTION()、UPROPERTY()等宏去标记我们的类和成员变量,只有添加这些宏的类或成员才能将其添加到反射系统。这样,基于UE4反射的GC系统等可以管理我们的反射数据。举例而言,当一个继承UObject的类对象指针被声明时,如果不使用UPROPERTY将其标记,则GC不能察觉到它的存在,也就不能对其进行管理。当GC认为没有其它对象包含该对象的原创 2020-06-15 18:24:03 · 1130 阅读 · 0 评论 -
【UE4】编辑器开发(四)属性面板(Details)拓展
文章目录一、自定义类的属性面板二、自定义类属性设置一个蓝图类会有一个属性面板,即Details面板。在编辑蓝图类或实例化蓝图类后,都可以编辑这个Details面板,下面第一节就是介绍如何自定义此面板内容。当一个蓝图类声明一个蓝图变量时,其Details面板会出现对应的属性设置,如何自定义这个属性设置的内容和样式就是第二节的内容。下图是一个蓝图类的属性(Details)面板,其中的CustomC...原创 2020-04-20 00:19:09 · 4676 阅读 · 0 评论 -
【UE4】编辑器开发(三)资源类型拓展
文章目录创建一个继承UObject的类,类名UNewAsset创建一个继承UFactory的类包含UnrealEd模块UFactory构造器和实现FactoryCreateNew抽象方法UNewAssetFactory::UNewAssetFactory(){ bCreateNew = true; bEditAfterNew = true; SupportedClass = UN...原创 2020-04-20 00:11:56 · 2478 阅读 · 1 评论 -
【UE4】编辑器开发(二)ContentBrowser拓展
文章目录Viewport选中Actor的右击菜单栏拓展项ContentBrowser菜单项测试一下关卡编辑器的各个ExtenderViewport选中Actor的右击菜单栏拓展项//获取Level Editor模块FLevelEditorModule& LevelEditorModule = FModuleManager::LoadModuleChecked<FLevelEd...原创 2020-04-13 13:38:09 · 2944 阅读 · 0 评论 -
【UE4】编辑器开发(一)关卡编辑器拓展
文章目录一、菜单栏或工具栏中创建子项二、菜单栏拓展项创建下拉菜单三、菜单拓展项1. 创建分隔栏2. 创建分割线3. 创建子下拉菜单4. 添加其它拓展项自定义UI输入框四、工具栏拓展项一、菜单栏或工具栏中创建子项在StartModule中创建拓展项://加载LevelEditor模块,LevelEditor模块负责的就是打开UE4编辑器首先映入眼帘的各个编辑窗口。其中包括菜单栏、工具栏、视窗、...原创 2020-04-12 19:58:58 · 3977 阅读 · 0 评论 -
【UE4】SaveGame存储系统
SaveGame存储系统文章目录SaveGame存储系统一、SaveGame对象二、存储、加载方法使用SaveGame存储游戏到本地的逻辑和方法都很简单,涉及两个部分SaveGame对象,以及存储、加载方法。下面我们一一讲解。一、SaveGame对象首先,我们要创建一个继承USaveGame的类。我们需要在这个类的实例中保存需要持久化到磁盘的游戏数据,然后调用存储方法,将其写入磁盘。所以,...原创 2020-03-30 18:20:17 · 4297 阅读 · 1 评论 -
【UE4】插件与模块
文章目录一、什么是插件与模块二、创建插件三、插件目录介绍四、配置文件1、插件2、模块3、项目五、创建模块1. 插件中创建模块2. 项目中创建模块六、模块加载与卸载七、插件封装一、什么是插件与模块模块是实现某一个或一类功能的集合,当模块足够独立和庞大、复杂之后,可以将其提升为插件。UE4引擎就是由众多模块组成,而插件也可以包含一个或多个模块,但模块却不能包含插件。相对于模块来说,插件具有更高的独...原创 2020-03-30 18:18:44 · 2877 阅读 · 4 评论 -
【UE4】资源管理之UAssetManager用法
UAssetManager用法文章目录UAssetManager用法一、PrimaryAsset和SecondaryAssetUAssetManager通过名字就可以了解,这个类是对资源进行管理。一般情况下,UE4会自动加载与卸载资源,但是如果开发者(就是我们)想更精确地掌控资源发现、加载与审核的时机与方法,那这个UAssetManager就可以上场帮忙了。下面,我们一步一步解析,这个UAss...原创 2020-03-24 18:22:41 · 4783 阅读 · 0 评论 -
【UE4全反射松耦合框架笔记】开篇与目录
UE4全反射松耦合框架笔记笔记说明《UE4全反射松耦合框架笔记》系列是根据梁迪老师的《UE4全反射零耦合框架开发坦克游戏》中的知识点所做的总结,并对其中一些知识点进行修正和补充说明。此笔记作为自己学习与总结,如有错误,望指出,谢谢。目录第一章 UE4框架基础UE4框架基础(上)UE4框架基础(下)第二章 框架结构搭建框架介绍仿QT打印功能模组生命周期枚举匹配模组结构注册对象...原创 2020-03-13 15:52:59 · 896 阅读 · 1 评论 -
【UE4全反射松耦合框架笔记】第一章 UE4框架基础(下)
第一章 UE4框架基础(下)文章目录第一章 UE4框架基础(下)六、反射应用详解七、资源同步、异步加载八、异步加载UClass类型九、LatentAction潜在事件六、反射应用详解常用反射宏UCLASSUSTRUCTUENUMUPROPERTYUFUNCTION通过反射获取实例的函数StaticLoadClassStaticLoadObjectLoadClassL...原创 2020-03-13 14:47:03 · 1482 阅读 · 0 评论 -
【UE4笔记】各种Delegate委托的区别和应用
文章目录UE4委托单播委托声明单播委托将函数绑定到单播委托UE4委托委托的基本类型有三种:单播委托多播委托动态委托单播委托单播委托指只能绑定一个函数指针的委托,也就是当执行委托时只能触发一个唯一绑定的函数。单播委托可以绑定一个无返回值或有返回值的函数。//无返回值函数委托声明DECLARE_DELEGATE(DelegateName); //无参DECLARE_DEL...原创 2020-03-05 15:54:25 · 7066 阅读 · 3 评论 -
【UE4全反射松耦合框架笔记】第一章 UE4框架基础(上)
UE4框架基础文章目录UE4框架基础一、蓝图与C++交互一、蓝图与C++交互在蓝图中创建变量时,有四个选项可供选择:与C++对应的就是:AActor*TSubclassOfTSoftObjectPtrTSoftClassPtr...原创 2020-03-09 16:23:25 · 1598 阅读 · 0 评论 -
【UE4基础】对象创建与资源获取
对象创建与资源获取文章目录对象创建与资源获取一、对象创建与销毁1. 纯C++类的创建与销毁2. UObject及其子类创建与销毁3. AActor及其子类的创建与销毁二、Component创建1. 构造器中创建组件2. 其它函数中创建组件三、资源获取1. 构造器中加载资源2. 其它函数中加载资源一、对象创建与销毁1. 纯C++类的创建与销毁创建: 对于纯C++类(这里指非继承自UObjec...原创 2020-02-26 12:33:57 · 863 阅读 · 0 评论 -
【UE4】C++编程笔记(一)
【UE4】C++编程简介UPROPERTY()宏如何使用属性说明符UFUNCTION()宏如何使用属性说明符Gameplay类UObjectAActorUActorComponentUStruct引擎工作方式虚幻反射系统说明符传送门对象/Actor迭代器内存管理和垃圾回收UObject和垃圾回收Actor和垃圾回收UStructs非对象引用类命名前缀数字类型字符串FStringFTextFName...原创 2019-04-25 18:48:56 · 2619 阅读 · 1 评论