Lyra学习
文章平均质量分 83
AA陈超
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Lyra Starter Game 中 GameFeature 类(如 ShooterCore)的加载流程
/ 定义在 LyraGameFeaturePolicy.hpublic:// 获取单例实例// 初始化游戏特性管理器// 关闭游戏特性管理器// 获取游戏特性加载模式注册阶段:发现插件并加载 GameFeatureData加载阶段:检查依赖并预加载资源激活阶段:执行 GameFeatureAction 并集成到游戏世界运行阶段:功能生效停用阶段:清理资源和功能卸载阶段:移除插件。原创 2025-12-15 07:24:04 · 833 阅读 · 0 评论 -
LyraStarterGame_5.6 Experience系统加载流程详细实现
Lyra的Experience系统采用异步加载模式,确保游戏在加载过程中保持响应性。异步加载模式:确保游戏在加载过程中保持响应性状态驱动:通过明确的状态转换管理加载过程模块化设计:将资源加载、插件激活和动作执行分离网络同步:确保客户端和服务器使用相同的经验配置优先级事件系统:支持不同优先级的加载完成回调可测试性:包含混沌测试延迟功能可扩展性:支持通过动作集扩展经验功能这种设计确保了Experience系统的灵活性和可维护性,同时提供了良好的用户体验。原创 2025-12-14 23:23:23 · 542 阅读 · 0 评论 -
LyraStarterGame_5.6 Experience系统分析
通过掌握这些概念,您可以更好地理解Lyra游戏的架构设计,并应用到自己的项目中。原创 2025-12-14 23:14:48 · 674 阅读 · 0 评论 -
LyraStarterGame 5.6 项目学习路径
这是一个基于 Unreal Engine 5.6 的游戏项目,采用了高度模块化的架构设计,适合学习现代游戏开发的最佳实践。Experience 系统:管理游戏玩法体验的模块化架构Pawn 扩展系统:角色的组件化设计输入系统:自定义输入处理和映射UI 系统:现代化的用户界面框架资产管理:自定义资源加载和管理游戏模式:灵活的游戏模式和会话管理。原创 2025-12-14 22:58:47 · 344 阅读 · 0 评论 -
LyraRPG:002.运动系统 动画层 待机状态
在动画层->FullBody_IdleState。6.在ABP_Yin_Base里。(1)将Lyra的动画重定向。原创 2025-12-06 13:56:07 · 260 阅读 · 0 评论 -
Lyra学习007:Lyra角色移动机制解析
UCLASS()public:protected:// 添加你的角色pawn类// 添加输入配置。原创 2025-12-03 10:02:57 · 444 阅读 · 0 评论 -
Lyra学习6:GameFeatureAction_AddComponents分析
在LyraStarterGame中,实现了插件化架构: 允许动态添加/移除游戏功能支持网络环境: 智能区分客户端/服务器组件提供完整生命周期管理: 从激活到停用的完整流程与Lyra的模块化设计深度集成: 支持能力系统、武器系统、UI系统等的动态扩展通过这个类,Lyra实现了高度可扩展的游戏架构,开发者可以轻松添加新功能而不修改核心代码。原创 2025-12-02 15:14:45 · 667 阅读 · 0 评论 -
Lyra学习5:GameFeatureAction分析
GameFeatureAction.hGameFeatureAction.cpp以下是该类所有成员的分析,包括其作用和在 LyraStarterGame 项目中的典型应用:在 LyraStarterGame 项目中:原创 2025-12-02 14:47:17 · 700 阅读 · 0 评论 -
Lyra学习004:GameFeatureData分析
在 LyraStarterGame 项目中,UGameFeatureData 是整个游戏功能插件系统的核心数据资产。模块化设计:允许独立开发和管理不同的游戏功能生命周期管理:控制插件的加载、激活、停用和卸载过程资源管理:自动处理插件相关的资源扫描和加载配置管理:支持灵活的配置覆盖机制扩展性:通过 UGameFeatureAction 系统支持无限的功能扩展这使得 Lyra 能够实现高度模块化的架构,支持快速迭代和功能组合。原创 2025-12-01 09:45:40 · 614 阅读 · 0 评论 -
Lyra学习003:LyraGameMode 分析
它通过一个高度可配置、数据驱动的“游戏体验”系统来管理游戏内容,并通过委托和组件将具体职责(如生成、经验管理)分发给其他专门系统。这种模块化、事件驱动的设计使得 Lyra 框架非常灵活,能够轻松支持从死亡竞赛到复杂合作 PVE 等多种游戏模式,同时为在线服务、专用服务器和复杂的英雄系统提供了坚实的基础。是 LyraStarterGame 项目的。原创 2025-11-28 13:38:50 · 424 阅读 · 0 评论 -
Lyra学习002:LyraGameInstance.h 分析
这个类清晰地展示了如何在 UE5 中构建一个功能齐全、可扩展的多人游戏实例,特别是在处理用户状态和网络安全方面。在 Lyra 项目中扮演着。原创 2025-11-28 13:16:21 · 386 阅读 · 0 评论 -
Experience如何定义了在特定游戏情境下(如主菜单、特定地图、特定模式)应该使用哪些Pawn数据、能力集、动作输入、相机等
本身是一个数据资产(),它不包含逻辑,而是作为一个配置容器和组织者。// 1. 定义默认的Pawn数据作用本身也是一个数据资产,它通常会包含:Pawn类:在此体验中玩家应该使用什么类型的Pawn。输入配置:绑定输入操作(Input Action)和输入上下文(Input Context),定义了玩家可以执行哪些操作。相机模式:指定默认的相机模式,以及可能用到的其他相机模式。能力集:一个。原创 2025-11-25 22:11:20 · 784 阅读 · 0 评论 -
游戏模式:ALyraGameMode中,如何初始化游戏状态的?当一个新玩家加入时, 游戏模式如何为其生成Pawn和PlayerController?
游戏模式:ALyraGameMode路径:/LyraGame/GameModes/LyraGameMode.h/.cpp学习内容:GameMode定义了游戏的规则。问题:InitGameState()是如何初始化游戏状态的?问题:HandleStartingNewPlayer()里当一个新玩家加入时(包括本地分屏和网络连接),游戏模式如何为其生成Pawn和PlayerController?原创 2025-11-25 21:49:58 · 316 阅读 · 0 评论 -
游戏实例:ULyraGameInstance是怎么管理在线会话、加载屏幕等的行为?
对于在线会话:它是一个协调者和响应者。它通过绑定到的事件,在会话生命周期的关键时刻(如客户端旅行前)注入游戏特定的逻辑和参数。对于加载屏幕:它是一个架构定义者。它通过设置一个基于“初始化状态”的框架,为整个游戏(包括加载屏幕的显示与隐藏、资源的加载与初始化)提供了一个清晰的生命周期。具体的加载屏幕UI则由其他组件在这个状态框架内驱动。原创 2025-11-25 21:19:44 · 309 阅读 · 0 评论 -
LyraGameInstance 文件分析
【代码】LyraGameInstance 文件分析。原创 2025-11-25 20:44:12 · 337 阅读 · 0 评论 -
Lyra学习001:从0开始学习 **Lyra Starter Game** 项目
按顺序阅读:严格按照上述阶段顺序进行。不要跳过第一阶段直接去看GAS,否则你会迷失在细节中。调试与日志:在关键函数(如)中添加UE_LOG,在运行时观察它们的调用栈和顺序。使用编辑器和调试器在编辑器中运行游戏,使用“Console”输入来可视化角色的GAS状态。熟练使用进行性能和分析追踪。Lyra项目有很好的内置追踪点。动手修改:不要只读代码。尝试做一些小修改:修改LyraHero的移动速度。原创 2025-11-25 20:23:43 · 1016 阅读 · 0 评论 -
分析 UAbilitySystemComponent 的所有成员变量和成员函数
意义: 控制 GameplayEffect 的复制模式项目用途: 优化网络带宽,根据客户端类型决定复制数据的详细程度网络游戏用途Minimal: 只复制最小信息,不适用于拥有的 ASCMixed: 向模拟代理复制最小信息,向所有者和自主代理复制完整信息Full: 向所有客户端复制完整信息意义: 当前预测键,用于客户端预测项目用途: 管理客户端预测的上下文网络游戏用途: 防止预测冲突,支持预测回滚意义: 指定播放蒙太格的动画实例标签项目用途: 支持多个动画实例的场景网络游戏用途。原创 2025-11-24 22:36:46 · 981 阅读 · 0 评论 -
`ULyraAbilitySystemComponent` 类的所有成员变量和成员函数分析
增强的输入处理: 支持基于标签的输入映射和精确的输入状态管理激活组系统: 实现能力之间的复杂互斥和优先级关系标签关系映射: 支持声明式的能力依赖和阻塞配置动态标签管理: 通过游戏效果系统实现灵活的标签应用完善的网络支持: 确保客户端和服务器状态同步生命周期管理: 提供完整的能力状态跟踪和回调这个设计使得 Lyra 的能力系统既强大又灵活,能够支持从简单技能到复杂连招系统的各种需求。原创 2025-11-24 22:33:39 · 882 阅读 · 0 评论 -
在整个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 阅读 · 0 评论 -
Lyra源码分析:ULyraAbilitySystemComponent
这是一个Lyra游戏项目中Ability System Component的初始化函数实现。这个实现展示了Lyra项目中对GAS的深度定制,特别是在处理Pawn切换、系统集成和性能优化方面的最佳实践。:建立Ability System与动画蓝图的数据流。确保只在真正切换Pawn时才执行昂贵的初始化操作。为每个能力实例提供Pawn切换的通知机会。:自动激活标记为"在生成时激活"的能力。强制要求所有能力都必须是实例化的(:注册以便全局效果应用。原创 2025-11-23 14:26:48 · 254 阅读 · 0 评论 -
Lyra源码分析:LyraCharacter
主要特点:模块化设计:通过多个组件(PawnExtension、Health、Camera)实现功能分离能力系统集成:集成Gameplay Ability System用于技能和状态管理团队系统:支持团队标识和团队变更通知网络复制优化:使用压缩的加速度数据和共享移动复制来优化网络性能移动系统:自定义移动组件,支持蹲下、跳跃等动作游戏标签:使用Gameplay Tags来管理角色状态和行为死亡处理:完整的死亡序列处理,包括禁用移动、碰撞和最终销毁:Pawn功能扩展:生命值管理:相机控制:自定义移动逻辑。原创 2025-11-21 10:49:35 · 307 阅读 · 0 评论 -
以 Lyra 的架构为基础,创建一个名为 “Aura“ 的英雄并实现发射火球技能
输入触发:玩家按下绑定键 → Enhanced Input 系统触发标签转换将输入动作转换为技能激活接收输入标签,通知执行技能找到并激活生成投射物:技能生成碰撞检测:火球碰撞到敌人,触发OnHit事件应用伤害:通过对敌人造成伤害这个实现完全遵循 Lyra 的架构模式,保持了模块化和可扩展性。在实际项目中,你还需要添加更多的功能,如魔法值消耗、冷却时间、技能升级等,这些都可以通过 Gameplay Ability System 的强大功能来实现。原创 2025-11-20 21:53:02 · 471 阅读 · 0 评论 -
Lyra源码分析:LyraHeroComponent
主要功能输入管理:处理所有玩家输入,包括移动、视角、能力和系统功能相机控制:管理相机模式,支持能力系统覆盖初始化管理:通过游戏框架组件管理系统协调初始化流程能力集成:与游戏能力系统深度集成初始化状态机Spawned→→→每个状态都有严格的进入条件检查确保依赖组件正确初始化后再进行下一步输入绑定使用增强输入系统支持玩家可映射的输入配置将输入标签直接绑定到游戏能力提供原生动作和能力动作两种绑定方式相机系统支持能力系统临时覆盖相机模式提供默认相机模式回退机制通过委托模式与相机组件解耦设计特点模块化。原创 2025-11-20 21:44:57 · 193 阅读 · 0 评论 -
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 评论 -
怎样从0开始学习UnrealEngine的LyraStarterGame?
不要一开始就钻进 Lyra 的几十万行代码里,那会让你不知所措。我们要做的是先掌握 UE5 的基本操作和编程,然后把它当成一个“黑盒”来玩,再逐步打开盒子研究每个零件,最后自己尝试制造类似的零件。原创 2025-11-20 16:01:51 · 889 阅读 · 0 评论 -
Lyra源码分析:LyraAbilitySet
数据结构:定义了三种可授予内容的结构体(能力、效果、属性集)句柄管理:通过管理所有已授予内容的句柄,便于后续移除数据资产作为不可变的数据资产,可在编辑器中配置网络同步:只在权威端执行授予和移除操作,确保网络同步错误处理:包含完善的空指针检查和错误日志记录这是一个典型的UE5 Gameplay Ability System (GAS) 实现模式,用于批量管理和授予游戏能力相关的内容。原创 2025-11-20 15:31:42 · 588 阅读 · 0 评论 -
Lyra源码分析:LyraCharacterMovementComponent
这两个文件定义了一个自定义的角色移动组件。原创 2025-11-19 23:09:29 · 862 阅读 · 0 评论 -
Lyra源码分析:LyraCharacter
主要特点:模块化设计:通过多个组件(PawnExtension、Health、Camera)实现功能分离能力系统集成:集成Gameplay Ability System用于技能和状态管理网络优化:使用压缩的加速度数据和快速共享复制来减少带宽使用队伍系统:支持团队标识和团队变更通知移动系统:自定义移动组件,支持蹲下、跳跃等动作死亡处理:完整的死亡序列和销毁流程:Pawn功能扩展:生命值管理:相机控制:能力系统管理:自定义移动逻辑这是一个高度可扩展的角色基类,为多人游戏提供了完整的网络同步和游戏功能支持。原创 2025-11-19 22:13:05 · 484 阅读 · 0 评论 -
Lyra源码分析:LyraAbilitySystemComponent
主要功能:能力管理- 处理能力的激活、取消、输入响应输入处理- 管理基于输入标签的能力触发激活组系统- 通过分组管理能力的互斥关系标签关系映射- 使用标签定义能力间的阻塞和取消关系动态标签- 通过游戏效果动态添加/移除标签网络同步- 支持客户端-服务器能力状态同步支持多种激活策略(输入触发、输入保持等)提供能力激活组管理(独立、独占可替换、独占阻塞)完善的输入处理机制扩展的标签关系系统动态标签管理网络复制支持这是一个高度定制化的能力系统组件,为复杂的游戏能力交互提供了强大的基础框架。原创 2025-11-19 21:48:19 · 676 阅读 · 0 评论 -
Lyra源码分析004:Phases文件夹
层次化阶段管理:使用GameplayTag的层次结构,支持父子阶段共存自动冲突解决:新阶段启动时会自动结束冲突的兄弟阶段观察者模式:允许注册阶段开始和结束的回调基于能力系统:每个阶段都是一个Gameplay Ability服务器权威:只在服务器端管理阶段状态蓝图支持:提供完整的蓝图接口这种设计使得游戏阶段管理更加灵活和可扩展,特别适合复杂的游戏流程控制。清晰的阶段管理- 复杂的游戏流程变得可维护可靠的网络同步- 所有玩家看到一致的游戏状态灵活的扩展性- 新阶段可以轻松添加而不影响现有逻辑松耦合的架构。原创 2025-11-19 17:06:04 · 1050 阅读 · 0 评论 -
Lyra源码分析003:AbilitySystem文件夹
标签化系统提供统一的标签管理接口全局能力管理实现跨ASC的能力和效果管理效果上下文扩展添加游戏特定的上下文数据能力提示管理优化游戏提示的加载和管理目标数据扩展增强目标数据标签关系映射定义能力间的阻塞和取消关系全局系统配置配置全局能力系统行为能力组件扩展增强标准ASC功能能力源接口定义能力计算源接口能力集管理提供批量授予能力、效果和属性集的功能这个架构提供了高度模块化和可扩展的能力系统,支持复杂的游戏机制和交互。我将为每个文件提供详细的行级代码分析,解释每行代码的意义和使用方法。效果上下文扩展系统。原创 2025-11-19 14:20:14 · 1017 阅读 · 0 评论 -
Lyra源码分析002:LyraGame文件夹
模块生命周期管理处理模块的初始化和清理使用标准的UE模块系统确保正确的加载顺序。原创 2025-11-19 09:25:49 · 398 阅读 · 0 评论 -
Lyra源码分析001:Source文件夹
编辑器开发独立客户端专用服务器EOS 集成动态插件管理多配置(Debug、Shipping、Test)适配我来逐行分析每个文件的内容、代码意义和使用方法。原创 2025-11-19 09:02:20 · 835 阅读 · 0 评论
分享