随笔分类 - UE4 主线日志
主要用于常用开发知识点记录,包括C++、蓝图、动画等模块
摘要:注意添加模块 "AIModule", "GamePlayTasks", "NavigationSystem" 动画资源 UAnimationAsset 类层级结构 UObjectBase UObjectBaseUtility UObject UAnimationAsset UAnimSequence
阅读全文
摘要:参考 虚幻引擎中文技术直播 第1期 虚幻引擎4的实时渲染流程 Unreal Engine 官网在线课程 UE4 Render System Sheet(UE4渲染系统概览) 几张高清图 简版 详版(新标签页打开可看原图)
阅读全文
摘要:前言 当前版本:4.26.2 本文原创 说明:有些名词保持英文可能更容易理解 目录 游戏流程总览 各个平台启动引擎的入口函数 引擎入口函数 GuardedMain() EnginePreInit 引擎预初始化 EngineInit 引擎初始化 EngineLoop 引擎主循环 EngineExit
阅读全文
摘要:Core 宏 主要用于反射 UCLASS() USTRUCT() UENUM() UPROPERTY() UFUNCTION() UMETA() UPARAM() GENERATED_BODY() 和 GENERATED_UCLASS_BODY() 的区别 ( from UE4 C++ UCLASS
阅读全文
摘要:概述 描述 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法的变化不会影响到使用算法的客户。 套路 Context(环境类) 负责使用算法策略,其中维持了一个抽象策略类的引用实例。 Strategy(抽象策略类) 所有策略类的父类,为所支持的策略算法声明了
阅读全文
摘要:概述 描述 将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。 套路 Target(目标抽象类) 目标抽象类定义了客户所需要的接口,可以是一个抽象类或接口,也可以是一个具体的类。 Adapter(适配器类) 适配器可以调用另一个接口,
阅读全文
摘要:概述 描述 动态地给一个对象增加一些额外的职责(Responsibility),就增加对象功能来说,装饰模式比生成子类实现更为灵活。是一种对象结构型模式。 套路 抽象构件(Component) 具体构件和抽象装饰类的基类,声明了在具体构建中实现的业务方法。 具体构件(ConcreteComponen
阅读全文
摘要:概述 描述 在单一实体跨越了多个领域时,为了保持领域之间相互解耦,可以将每部分代码放入各自的组件类中,将实体简化为组件的容器。 套路 参考 UE4中的 Componet 组件使用方式 使用场景 有一个涉及了多个领域的类,而你想保持这些领域互相隔离。 一个类正在变大而且越来越难以使用。 想要能定义一系
阅读全文
摘要:概述 描述 外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式又称为门面模式,它是一种对象结构型模式。 套路 外观角色 (Facade) 在客户端可以调用这个角色的方法,在外观角色中可
阅读全文
摘要:概述 描述 运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。 由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,它是一种对象结构型模式。 享元类可以有多个对象,单例类只有一个对象 内部状态 享元对象内部
阅读全文
摘要:概述 描述 允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。 其别名为状态对象(Objects for States),状态模式是一种对象行为型模式。 有限状态机(FSMs) 拥有状态机所有可能状态的集合 状态机同时只能在一个状态 一连串的输入或事件被发送给状态机 每个状态都
阅读全文
摘要:概述 描述 定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式又叫做 发布-订阅(Publish/Subscribe)模式 模型-视图(Model/View)模式 源-监听器(Source/Listener)模式 从属者(Dependen
阅读全文
摘要:概述 描述 使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。如孙悟空猴毛分身、鸣人影之分身、剑光分化、无限剑制 原型模式是一种创建型设计模式,允许一个对象再创建另外一个可定制的对象,无需知道如何创建的细节。 原型模式工作原理是:通过将一个原型对象传给那个要创建的对象,这个要创建的对
阅读全文
摘要:概述 描述 将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。 命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模式。 建造者模式将客户端与包含多个组成部分的复杂对象的创建过程分离,客户
阅读全文
摘要:概述 描述 建造者模式,又称生成器模式。是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式将客户端与包含多个组成部分的复杂对象的创建过程分离,客户端无需知道复杂对象的内部组成与装配方式,主需要知道所需的建造者即可。类似工厂方法,但是建造者模式返回一个完整的复杂
阅读全文
摘要:概述 描述 提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类;具体的工厂负责实现具体的产品实例 抽象工厂中每个工厂可以创建多种产品(如苹果公司生产iPhone、iPad); 工厂方法每个工厂只能创建一种 三种工厂小结 假设有骷髅士兵、骷髅弓箭手、哥布林士兵、哥布林弓箭手四种怪物 简
阅读全文
摘要:概述 描述 又称为工厂模式,也叫虚拟构造器(Virtual Constructor)模式,或者多态工厂(Polymorphic Factory)模式 工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完成,即通过工厂子类来确
阅读全文
摘要:概述 描述 又称为静态工厂方法 一般使用静态方法,根据参数的不同创建不同类的实例 套路 创建抽象产品类 ; 创建**具体产品类,**继承抽象产品类; 创建工厂类,通过静态方法根据传入不同参数从而创建不同具体产品类的实例; 使用场景 工厂类负责创建的对象比较少:由于创建的对象较少,不会造成工厂方法中的
阅读全文
摘要:定义 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。 使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 四人帮 GOF ( Gang of Four) 书籍《设计模式 - 可复用的面向对象软件元素》(《Design Patterns - Eleme
阅读全文
摘要:概述 描述 保证一个类只有一个实例 提供一个访问该实例的全局节点,可以视为一个全局变量 仅在首次请求单例对象时对其进行初始化。 套路 将默认构造函数设为私有, 防止其他对象使用单例类的 new运算符。 新建一个静态构建方法作为构造函数。 使用场景 资源Manager,如 SoundManager、P
阅读全文