UE5
记录一下最近遇到的UE5 BUG
1. UE5.2 打包后,打开项目崩溃,提示:Assertion failed: CastResult [File:D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Public\UObject\Field.h] [Line: 961] Ca ......
UE5 C++ Interface
### 概述 - 接口类有助于确保一组(可能)不相关的类实现一组通用函数 ### 接口声明 - 声明接口类与声明普通的虚幻类相似,但仍有两个主要区别 - 首先,接口类使用`UINTERFACE`宏而不是`UCLASS`宏,且直接从`UInterface`而不是`UObject`继承 - 其次,`UI ......
UE5 C++ TSet
### 概念 - `TSet`是一种快速容器类,用于在排序不重要的情况下存储唯一元素 - `TSet` 也是值类型,支持常规复制、赋值和析构函数操作,以及其元素较强的所有权 - `TSet` 被销毁时,其元素也将被销毁。键类型也必须是值类型 ### 创建 ``` TSet FruitSet; ``` ......
UE5 C++ TMap
### 概述 - 映射的元素类型为键值对,元素类型实际上是 `TPair`,只将键用于存储和获取 - `TMap` 和 `TMultiMap` 两者之间的不同点是`TMap`中的键是唯一的,而`TMultiMap`可存储多个相同的键 - `TMap`是散列容器,这意味着键类型必须支持`GetType ......
UE5 C++ TArray
### 概述 - TArray 是UE4中最常用的容器类。其速度快、内存消耗小、安全性高 - TArray 类型由两大属性定义:元素类型和可选分配器 - 元素类型是存储在数组中的对象类型。TArray 被称为同质容器。换言之,其所有元素均完全为相同类型。单个 TArray 中不能存储不同类型的元素。 ......
UE5 C++ UPROPERTY宏
### 属性声明 ``` UPROPERTY([specifier, specifier, ...], [meta(key=value, key=value, ...)]) Type VariableName; ``` ### 属性说明符 - 声明属性时,属性说明符 可被添加到声明,以控制属性与引擎 ......
UE5 C++ 定时器使用
### 概念 - 定时器在全局定时器管理器(`FTimerManager`类型)中管理。 - 全局定时器管理器存在于 **游戏实例** 对象上以及每个**场景**中。 - 有两个函数可以使用定时器管理器来设置定时器:`SetTimer`和`SetTimerForNextTick`,它们各自都有一些重 ......
ue5 wp生成cell
ue5 wp生成cell bool UWorldPartition::GenerateStreaming(TArray<FString>* OutPackagesToGenerate) { return GenerateContainerStreaming(ActorDescContainer, O ......
UE5 打开XR示例场景崩溃
发现UE5的XR示例项目打开一直报错 UE5 Unhandled Exception: EXCEPTION_ACCESS_VIOLATION 根据[参考链接1](#ref1)发现大概是使用Oculus Runtime运行时的问题。 在SteamVR的开发者选项中重新将OpenXR运行时设定为Stea ......
UE5入门学习分享
> 按照我个人的学习经历来说,没什么比跟着教程做出一个Demo后再慢慢死磕代码更能让你入门 ## 前情声明: 因为主要是为了**学习DS( Dedicated Server 专属服务器)相关知识**,所以才入门UE5。所以本片博客的面向人群会是没有接触过UE5,并且需要学习**DS相关知识**的人群 ......
UE5.1 中 Runtime Data Layer 的设置
## UE5.1 中 Runtime Data Layer 的设置 UE5.1 中奇葩的设置逻辑 创建 Data Layer 默认是 Editor 的,5.1 中如果想要修改为 Runtime ,需要进行如下设置 在创建 Data Layer 之后,在 ContentBrowser 中右键点击它,点 ......
关于TChunkedArray和UE5的ECS框架Mass
在虚幻引擎中,TChunkArray 是一个动态数组类型。它通过分配一系列固定大小的 Chunk 来管理Array中的元素。每个 Chunk 具有以下特征:1. 固定大小,通常为 4096 个元素。该大小在TChunkArray定义时指定,之后所有 Chunk 的大小都是一致的。2. 可以连续或不连 ......
UE5 custom node随笔
# 前言 - UE蓝图的custom node不像unity一样灵活,且貌似因为渲染框架的更改4.2之前使用custom node的方式和如今大不相同,经过捣鼓一番总算是知道如何使用,本篇会介绍如何使用custom node # Code - 主要问题在于custom node 的Code处,在UE ......
UE5 材质 Water Shader
# 目标 - 水有许多特性,本篇将着重实现如下特性 - 表面涟漪 - 水深效果 - 水的反射和折射 - 海浪 - 波光的焦散 # 表面涟漪 ### 初步实现 ![image-20230520150152153](https://img2023.cnblogs.com/blog/2487253/202 ......
UE5 材质 基础知识
# 前言 本篇总结一些常用的UE5材质相关的知识点,因为其中有些是图形学内容而这些内容在笔者以前的博客中均有记载,所以只是简单提及。随着笔者的不断学习,该篇总结也会不断丰富 # 坐标系 - UE使用左手坐标系且向上轴是z轴,x轴向左 ![image-20230510222327897](https: ......
UE5 材质 噪声shader
# noise介绍 - 关于Perilin noise我已总结过[实时渲染 perilin noise - 爱莉希雅 - 博客园 (cnblogs.com)](https://www.cnblogs.com/chenglixue/p/17409929.html),这里不再介绍 - UE5 的nois ......
UE5 材质 雨滴shader
潮湿效果 物体表面是如何变湿的? 物体表面吸水使颜色变深 潮湿的颜色会变得暗淡且饱和 实现 增加饱和度且变暗 潮湿的物体表面的特点 当水作用在材质表面,材质表面的==specualr==会略微变弱且==粗糙度==会大幅降低 对于积水的表面,我们设置它的roughness = 0.07, specua ......
UE5 程序切出活动窗口/后台运行时掉帧问题
依次点击 “编辑” —> “编辑器偏好设置“ —> “通用/性能”,取消选中 “后台运行时使用较少 CPU” 即可,如下图所示: ......
UE5新功能StateTree源码解析
StateTree 是一种UE5中新增的通用分层状态机,其组合了行为树中的 选择器(Selectors) 与状态机中的 状态(States) 和 过渡(Transitions) 。用户可以创建非常高效、保持灵活且井然有序的逻辑。 StateTree包含以树结构布局的状态。状态选择可以在树中的任意位置 ......
UE5 子弹/弓箭/能量球 飞行轨迹控制
添加一个 ProjectileMovement 组件,设置下初始速度和重力即可。如下所示:注1:重力 为 0 时,子弹不受重力影响,直线飞行。 ......
Houdini和UE4/UE5的协同操作&Project Titan是什么?
通常当涉及到Houdini时,有3种常见的方式来与材质共享/发送数据,它们是顶点颜色、纹理和UV数据(我们将更多地讨论)。根据您想要做什么以及需要多少数据,其中一个将优先于另一个。 顶点颜色: 电缆工具是Houdini计算要在着色器中使用的顶点颜色的一个很好的例子。这里的想法是,我们有一条大电缆,周 ......
UE5 技能系统(GAS)
参考1: [玩转UE4/UE5动画系统>技能系统(GAS)篇] 二 技能 Gameplay Ability(GA) - 知乎 (zhihu.com) 参考2:UE的GAS原理深入探究一:ASC组件与GAUE4的GAS探究三:弱网延迟与预测Prediction ......
UE5 切换地图
通过蓝图切换,如下所示: 通过 C++ 代码切换,如下所示: 注1:/Game 代表项目下的 Content 目录; 注2:地图路径在 OpenLevelBySoftObjectPtr 函数中的路径写法为 xxx/地图名.地图名 。 ......
UE5 开发笔记
需要在游戏过程中一直存在的代码写在哪?写在继承自 UGameInstanceSubsystem 类的自定义编程子系统类中。参考:《InsideUE4》GamePlay架构(十一)Subsystems - 知乎 (zhihu.com) ......
UE5 在 C++ 中创建蓝图类对象
1. 如下图所示: 注1:/Game 代表项目下的 Content 目录; 注2:示例蓝图类 BP_Dsword_Player,在路径中的写法为 BP_Dsword_Player.BP_Dsword_Player_C 。 参考:Aery的UE4 C++游戏开发之旅(4)加载资源&创建对象 - Kil ......