⑴ 从蓝图载入一张纹理开始理解UE4的资源加载(六)——LoadImports
在Unreal Engine 4中,从蓝图载入纹理资源并处理Import中的依赖包加载机制的过程如下:
初始状态:
查找已加载对象:
处理Outer属性:
XObject查找与处理:
Outer属性不为Null时的处理:
获取FAsyncPackage:
添加依赖关系:
处理完成:
总结:UE4在处理从蓝图载入纹理资源时,通过复杂的依赖关系管理和加载机制,确保所有依赖的资源能够正确加载和处理。这一过程中,对Import对象的查找、XObject的获取、依赖关系的添加以及Package状态的更新等步骤都至关重要。
⑵ UE4理论介绍梳理
UE4理论介绍梳理如下:
一、蓝图系统 定义与功能:蓝图是UE4中一个强大且直观的逻辑构建工具,允许开发者通过拖拽和连接节点的方式创建游戏逻辑,无需编写代码。 运作原理:蓝图在虚拟机环境中运行,修改后无需重新编译,大大提高了开发效率。 主要区分:蓝图主要分为宏、函数和事件三类,通过事件或特定标记的函数实现与C++的交互。 通信机制:蓝图间的通信包括直接操作、事件调度器以及接口,特别是在处理渲染和3D流程时显得尤为重要。
二、3D渲染技术 渲染管线:UE4的3D渲染过程涉及数据准备、顶点处理、光栅操作和像素处理四个关键阶段。 关键步骤:屏幕映射、光栅化和片元着色器是决定画面效果的重要步骤。像素点的显示包含裁切、透明、模板和深度测试后的混合写入遮罩。 渲染功能:包括遮挡处理、几何体渲染、路径选择、剔除与渲染命令,以及GPU渲染技术如延迟渲染、半透明处理和后处理。 性能优化:利用GPU分析器、调整光照复杂度、静态光重叠查看和光照贴图密度等工具,深入理解反射计算方式,以优化游戏性能。
三、编译与内存管理 编译系统:UE4的编译系统由UHT解析头文件和UBT编译链接组成,类型系统设计精细,便于遍历和封装属性和方法。 内存管理:UE4支持内置的垃圾回收和智能指针,通过簇化技术如UMaterial和UParticleSystem提升性能。 标记宏与元数据:了解标记宏如UCLASS、UPROPERTY和UFUNCTION,以及元数据的meta=标记,能优化编辑器行为并控制资源打包。
总结:掌握UE4的蓝图系统、3D渲染技术和编译与内存管理,是深入理解UE4理论基础的关键。这些技术将为你的游戏开发之旅打下坚实的基础,帮助你创造出更加精彩的游戏作品。
⑶ UE4蓝图(2)
UE4蓝图是一种可视化编程工具,提供了一种与标准脚本语言不同的方式来编写脚本。它要求每个节点的显式线性执行,但与普通脚本语言的执行流方式类似。以下内容将详细解释UE4蓝图中的变量类型、如何处理这些变量以及图表中节点的执行。
变量可以在蓝图中采用多种类型创建,包括数据类型(如布尔型、整数型和浮点型)以及用于保存对象、Actor和类等引用类型。这些变量通过颜色编码易于识别。
蓝图变量用于保存值或引用世界场景中的对象或Actor。这些属性既可以由包含它们的蓝图内部访问,也可以通过外部访问,以便设计师使用关卡中的蓝图实例修改它们的值。蓝图变量显示为包含变量名称的圆形框。
可以创建各种类型的变量,包括数据类型(如布尔、整数和浮点)以及用于保存对象、Actor和特定类等对象的引用类型。此外,还可以为每种变量类型创建阵列。这些类型采用颜色编码以便识别。
在“我的蓝图”选项卡中,可以将自定义变量添加到蓝图,同时列出所有现有变量,包括在组件列表中添加的组件实例变量或通过将值提升到图表中的变量而创建的变量。
通过简单步骤可以在蓝图中创建变量。首先,创建一个新变量,然后输入名称并进入细节面板以调整变量的属性。可以定义变量如何使用或访问,并设置默认值和序列化选项。
为变量设置默认值需要先编译蓝图。通过细节面板可以定义变量属性,包括临时和保存游戏序列化选项。
序列化选项允许定义变量是否序列化以及在加载时是否以零填充。此外,还可以设置变量是否在保存游戏时序列化。
通过将变量设为公开,可以在蓝图之外修改变量。在细节面板中选择眼睛图标以将其设为公开,并启用“可编辑实例”框以允许实例编辑。
生成时公开允许设置变量是否在生成其所在的蓝图时可访问。例如,设置为生成时公开的变量可以在生成蓝图时直接访问。
若需要Sequencer或Matinee影响变量的值,可选择“向过场动画公开”。注意,Matinee功能将在UE4版本4.23后被移除。
通过右键单击输入或输出引脚并选择“提升为变量”选项,可以将变量提升至蓝图层级,从而在图表中访问。
访问蓝图中的变量有两种方式:使用获取节点来获取变量的值,或使用设置节点来设置变量的值。可以通过图表中的右键菜单或使用快捷键创建这些节点。
可以在执行之前设置变量值或设置变量的默认值。通过类默认设置打开细节面板,输入所需的默认值。若要重命名变量,右键单击名称并选择“重命名”。在细节面板中,可以为变量设置所有属性。
UE4蓝图提供了一种直观且强大的方式来处理变量和其他数据类型。通过遵循上述指南,您可以有效地创建、访问、编辑和管理蓝图中的变量,从而实现更复杂的逻辑和功能。