- 博客(185)
- 收藏
- 关注
原创 JetBrains Rider ‘IntelliJ‘ 快捷键映射表
向右/左移动元素 Ctrl+Alt+Shift+Right / Ctrl+Alt+Shift+Left。下一个/上一个更改 Ctrl+Alt+Shift+Down / Ctrl+Alt+Shift+Up。向上/下移动语句 Ctrl+Shift+Up / Ctrl+Shift+Down。在项目中查找/替换 Ctrl+Shift+F / Ctrl+Shift+R。剪切/复制/粘贴 Ctrl+X / Ctrl+C / Ctrl+V。行注释/块注释 Ctrl+/ / Ctrl+Shift+/
2025-12-19 22:46:57
501
原创 同步路径查找:FindPathToLocationSynchronously
是一个同步路径查找函数,用于在两个位置之间计算导航路径。它会在当前帧立即执行路径计算并返回结果。
2025-12-18 22:14:15
394
原创 枚举类 `ETriggerEvent`
定义了输入触发器事件的各种状态,用于描述输入动作在不同帧之间的状态转换。它本质上是一个状态机,用于跟踪输入动作的完整生命周期。
2025-12-18 21:42:37
322
原创 UnrealEngine中角色类型判断方法
先判断网络模式(专用服务器/监听服务器/客户端)再判断权威性(最后判断本地控制(这样就能准确区分各种情况下的角色类型了。
2025-12-18 21:17:31
152
原创 虚幻引擎5 GAS开发俯视角RPG游戏 P07-19.发送鼠标光标数据
当前的实现已经具备了基本功能,但通过添加错误处理、优化配置选项、改进网络同步和支持多种目标数据类型,可以进一步提高其稳定性、灵活性和可扩展性。这些修改将使该类能够更好地适应不同的游戏需求,并提高代码的可维护性。
2025-12-16 22:18:12
472
原创 Lyra Starter Game 中 GameFeature 类(如 ShooterCore)的加载流程
/ 定义在 LyraGameFeaturePolicy.hpublic:// 获取单例实例// 初始化游戏特性管理器// 关闭游戏特性管理器// 获取游戏特性加载模式注册阶段:发现插件并加载 GameFeatureData加载阶段:检查依赖并预加载资源激活阶段:执行 GameFeatureAction 并集成到游戏世界运行阶段:功能生效停用阶段:清理资源和功能卸载阶段:移除插件。
2025-12-15 07:24:04
830
原创 LyraStarterGame_5.6 Experience系统加载流程详细实现
Lyra的Experience系统采用异步加载模式,确保游戏在加载过程中保持响应性。异步加载模式:确保游戏在加载过程中保持响应性状态驱动:通过明确的状态转换管理加载过程模块化设计:将资源加载、插件激活和动作执行分离网络同步:确保客户端和服务器使用相同的经验配置优先级事件系统:支持不同优先级的加载完成回调可测试性:包含混沌测试延迟功能可扩展性:支持通过动作集扩展经验功能这种设计确保了Experience系统的灵活性和可维护性,同时提供了良好的用户体验。
2025-12-14 23:23:23
541
原创 LyraStarterGame_5.6 Experience系统分析
通过掌握这些概念,您可以更好地理解Lyra游戏的架构设计,并应用到自己的项目中。
2025-12-14 23:14:48
673
原创 LyraStarterGame 5.6 项目学习路径
这是一个基于 Unreal Engine 5.6 的游戏项目,采用了高度模块化的架构设计,适合学习现代游戏开发的最佳实践。Experience 系统:管理游戏玩法体验的模块化架构Pawn 扩展系统:角色的组件化设计输入系统:自定义输入处理和映射UI 系统:现代化的用户界面框架资产管理:自定义资源加载和管理游戏模式:灵活的游戏模式和会话管理。
2025-12-14 22:58:47
343
原创 LyraRPG:002.运动系统 动画层 待机状态
在动画层->FullBody_IdleState。6.在ABP_Yin_Base里。(1)将Lyra的动画重定向。
2025-12-06 13:56:07
260
原创 LyraRPG:001.创建RPGCore插件
1. 删除原有LyraShoorter的插件:2.创建RPGCore插件:3.添加输入映射:(1)将Lyra的Input文件夹复制过来,只保留几个文件:4.添加Paragon_Yin角色:5.创建游戏体验:(1)添加要启动的插件:(2)创建英雄资产:添加到体验里:6.将游戏体验添加到插件的主资产管理器中:7.添加地图:地图不是蓝图类8.地图世界场景设置:默认游戏玩法体验:
2025-12-02 22:44:30
127
原创 Lyra学习6:GameFeatureAction_AddComponents分析
在LyraStarterGame中,实现了插件化架构: 允许动态添加/移除游戏功能支持网络环境: 智能区分客户端/服务器组件提供完整生命周期管理: 从激活到停用的完整流程与Lyra的模块化设计深度集成: 支持能力系统、武器系统、UI系统等的动态扩展通过这个类,Lyra实现了高度可扩展的游戏架构,开发者可以轻松添加新功能而不修改核心代码。
2025-12-02 15:14:45
667
原创 Lyra学习5:GameFeatureAction分析
GameFeatureAction.hGameFeatureAction.cpp以下是该类所有成员的分析,包括其作用和在 LyraStarterGame 项目中的典型应用:在 LyraStarterGame 项目中:
2025-12-02 14:47:17
698
原创 只想克隆项目中的 Source 文件夹,而不影响其他内容
文件夹的内容,但git仍然知道其他文件的存在,只是没有将它们检出到工作目录中。执行后,你的本地仓库将只包含。
2025-12-01 11:11:27
286
原创 Lyra学习004:GameFeatureData分析
在 LyraStarterGame 项目中,UGameFeatureData 是整个游戏功能插件系统的核心数据资产。模块化设计:允许独立开发和管理不同的游戏功能生命周期管理:控制插件的加载、激活、停用和卸载过程资源管理:自动处理插件相关的资源扫描和加载配置管理:支持灵活的配置覆盖机制扩展性:通过 UGameFeatureAction 系统支持无限的功能扩展这使得 Lyra 能够实现高度模块化的架构,支持快速迭代和功能组合。
2025-12-01 09:45:40
612
原创 Lyra学习003:LyraGameMode 分析
它通过一个高度可配置、数据驱动的“游戏体验”系统来管理游戏内容,并通过委托和组件将具体职责(如生成、经验管理)分发给其他专门系统。这种模块化、事件驱动的设计使得 Lyra 框架非常灵活,能够轻松支持从死亡竞赛到复杂合作 PVE 等多种游戏模式,同时为在线服务、专用服务器和复杂的英雄系统提供了坚实的基础。是 LyraStarterGame 项目的。
2025-11-28 13:38:50
424
原创 Lyra学习002:LyraGameInstance.h 分析
这个类清晰地展示了如何在 UE5 中构建一个功能齐全、可扩展的多人游戏实例,特别是在处理用户状态和网络安全方面。在 Lyra 项目中扮演着。
2025-11-28 13:16:21
386
原创 Git常用命令大全及使用指南
这里为你整理了一份非常全面的 Git 常用命令大全,从入门到进阶,涵盖了日常开发的绝大多数场景。命令都附有简洁的说明,方便你快速查阅和使用。
2025-11-26 10:44:36
588
原创 Experience如何定义了在特定游戏情境下(如主菜单、特定地图、特定模式)应该使用哪些Pawn数据、能力集、动作输入、相机等
本身是一个数据资产(),它不包含逻辑,而是作为一个配置容器和组织者。// 1. 定义默认的Pawn数据作用本身也是一个数据资产,它通常会包含:Pawn类:在此体验中玩家应该使用什么类型的Pawn。输入配置:绑定输入操作(Input Action)和输入上下文(Input Context),定义了玩家可以执行哪些操作。相机模式:指定默认的相机模式,以及可能用到的其他相机模式。能力集:一个。
2025-11-25 22:11:20
784
原创 游戏模式:ALyraGameMode中,如何初始化游戏状态的?当一个新玩家加入时, 游戏模式如何为其生成Pawn和PlayerController?
游戏模式:ALyraGameMode路径:/LyraGame/GameModes/LyraGameMode.h/.cpp学习内容:GameMode定义了游戏的规则。问题:InitGameState()是如何初始化游戏状态的?问题:HandleStartingNewPlayer()里当一个新玩家加入时(包括本地分屏和网络连接),游戏模式如何为其生成Pawn和PlayerController?
2025-11-25 21:49:58
316
原创 游戏实例:ULyraGameInstance是怎么管理在线会话、加载屏幕等的行为?
对于在线会话:它是一个协调者和响应者。它通过绑定到的事件,在会话生命周期的关键时刻(如客户端旅行前)注入游戏特定的逻辑和参数。对于加载屏幕:它是一个架构定义者。它通过设置一个基于“初始化状态”的框架,为整个游戏(包括加载屏幕的显示与隐藏、资源的加载与初始化)提供了一个清晰的生命周期。具体的加载屏幕UI则由其他组件在这个状态框架内驱动。
2025-11-25 21:19:44
309
原创 Lyra学习001:从0开始学习 **Lyra Starter Game** 项目
按顺序阅读:严格按照上述阶段顺序进行。不要跳过第一阶段直接去看GAS,否则你会迷失在细节中。调试与日志:在关键函数(如)中添加UE_LOG,在运行时观察它们的调用栈和顺序。使用编辑器和调试器在编辑器中运行游戏,使用“Console”输入来可视化角色的GAS状态。熟练使用进行性能和分析追踪。Lyra项目有很好的内置追踪点。动手修改:不要只读代码。尝试做一些小修改:修改LyraHero的移动速度。
2025-11-25 20:23:43
1013
原创 UE5.6的AbilitySystemComponent.h文件注释
这是一个非常庞大的头文件,包含了 Unreal Engine 中 Ability System 的核心组件 的定义。关键部分的中文注释,包括:这个组件是 Unreal Engine 游戏玩法能力系统的核心,负责管理游戏中的能力、效果、属性和标签系统。
2025-11-24 23:20:14
273
原创 分析 UAbilitySystemComponent 的所有成员变量和成员函数
意义: 控制 GameplayEffect 的复制模式项目用途: 优化网络带宽,根据客户端类型决定复制数据的详细程度网络游戏用途Minimal: 只复制最小信息,不适用于拥有的 ASCMixed: 向模拟代理复制最小信息,向所有者和自主代理复制完整信息Full: 向所有客户端复制完整信息意义: 当前预测键,用于客户端预测项目用途: 管理客户端预测的上下文网络游戏用途: 防止预测冲突,支持预测回滚意义: 指定播放蒙太格的动画实例标签项目用途: 支持多个动画实例的场景网络游戏用途。
2025-11-24 22:36:46
981
原创 `ULyraAbilitySystemComponent` 类的所有成员变量和成员函数分析
增强的输入处理: 支持基于标签的输入映射和精确的输入状态管理激活组系统: 实现能力之间的复杂互斥和优先级关系标签关系映射: 支持声明式的能力依赖和阻塞配置动态标签管理: 通过游戏效果系统实现灵活的标签应用完善的网络支持: 确保客户端和服务器状态同步生命周期管理: 提供完整的能力状态跟踪和回调这个设计使得 Lyra 的能力系统既强大又灵活,能够支持从简单技能到复杂连招系统的各种需求。
2025-11-24 22:33:39
882
原创 在整个LyraStarterGame项目中, 角色是如何行走的? 怎么实现的? 通过哪些类的方法?
玩家按下 W 键。接收到IA_Move输入,向量值为 (0.0, 1.0)。查找配置,将输入映射为,并向ASC发送 “InputTag.Move 按下” 事件,并附带向量 (0.0, 1.0)。接收到事件,激活已授予的 GA_DefaultMovement能力,并将输入向量传递给该能力。能力内的逻辑(或任务)调用来调整方向(如果需要),并最终调用 CharacterMovementComponent->AddInputVector(...),传入一个基于控制器旋转转换后的世界方向向量。
2025-11-24 22:31:02
625
原创 Lyra源码分析:ULyraAbilitySystemComponent
这是一个Lyra游戏项目中Ability System Component的初始化函数实现。这个实现展示了Lyra项目中对GAS的深度定制,特别是在处理Pawn切换、系统集成和性能优化方面的最佳实践。:建立Ability System与动画蓝图的数据流。确保只在真正切换Pawn时才执行昂贵的初始化操作。为每个能力实例提供Pawn切换的通知机会。:自动激活标记为"在生成时激活"的能力。强制要求所有能力都必须是实例化的(:注册以便全局效果应用。
2025-11-23 14:26:48
254
原创 Lyra源码分析:LyraCharacter
主要特点:模块化设计:通过多个组件(PawnExtension、Health、Camera)实现功能分离能力系统集成:集成Gameplay Ability System用于技能和状态管理团队系统:支持团队标识和团队变更通知网络复制优化:使用压缩的加速度数据和共享移动复制来优化网络性能移动系统:自定义移动组件,支持蹲下、跳跃等动作游戏标签:使用Gameplay Tags来管理角色状态和行为死亡处理:完整的死亡序列处理,包括禁用移动、碰撞和最终销毁:Pawn功能扩展:生命值管理:相机控制:自定义移动逻辑。
2025-11-21 10:49:35
307
原创 以 Lyra 的架构为基础,创建一个名为 “Aura“ 的英雄并实现发射火球技能
输入触发:玩家按下绑定键 → Enhanced Input 系统触发标签转换将输入动作转换为技能激活接收输入标签,通知执行技能找到并激活生成投射物:技能生成碰撞检测:火球碰撞到敌人,触发OnHit事件应用伤害:通过对敌人造成伤害这个实现完全遵循 Lyra 的架构模式,保持了模块化和可扩展性。在实际项目中,你还需要添加更多的功能,如魔法值消耗、冷却时间、技能升级等,这些都可以通过 Gameplay Ability System 的强大功能来实现。
2025-11-20 21:53:02
469
原创 Lyra源码分析:LyraHeroComponent
主要功能输入管理:处理所有玩家输入,包括移动、视角、能力和系统功能相机控制:管理相机模式,支持能力系统覆盖初始化管理:通过游戏框架组件管理系统协调初始化流程能力集成:与游戏能力系统深度集成初始化状态机Spawned→→→每个状态都有严格的进入条件检查确保依赖组件正确初始化后再进行下一步输入绑定使用增强输入系统支持玩家可映射的输入配置将输入标签直接绑定到游戏能力提供原生动作和能力动作两种绑定方式相机系统支持能力系统临时覆盖相机模式提供默认相机模式回退机制通过委托模式与相机组件解耦设计特点模块化。
2025-11-20 21:44:57
193
原创 Lyra项目中的输入系统
text[玩家按下 W 键]v[Enhanced Input 系统] -> 触发 `IA_Move` 动作 (值为 Vector2D)v[LyraInputComponent] -> 调用 `LyraHeroComponent::Input_Move` 函数 -> 驱动 `Pawn` 移动text[玩家按下 Left Shift 键]v[Enhanced Input 系统] -> 触发 `IA_Ability_Sprint` 动作v。
2025-11-20 21:34:41
653
原创 怎样从0开始学习UnrealEngine的LyraStarterGame?
不要一开始就钻进 Lyra 的几十万行代码里,那会让你不知所措。我们要做的是先掌握 UE5 的基本操作和编程,然后把它当成一个“黑盒”来玩,再逐步打开盒子研究每个零件,最后自己尝试制造类似的零件。
2025-11-20 16:01:51
889
原创 Lyra源码分析:目录
LyraGame][Phases][Audio][Camera]LyraPawn[Feedback][Hotfix][Input][Messages][Physics][Player][Replays][Settings][System][Teams][Tests][UI][Weapons]README.md。
2025-11-20 15:42:55
454
原创 Lyra源码分析:LyraAbilitySet
数据结构:定义了三种可授予内容的结构体(能力、效果、属性集)句柄管理:通过管理所有已授予内容的句柄,便于后续移除数据资产作为不可变的数据资产,可在编辑器中配置网络同步:只在权威端执行授予和移除操作,确保网络同步错误处理:包含完善的空指针检查和错误日志记录这是一个典型的UE5 Gameplay Ability System (GAS) 实现模式,用于批量管理和授予游戏能力相关的内容。
2025-11-20 15:31:42
587
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅