自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(174)
  • 收藏
  • 关注

原创 Lyra学习007:Lyra角色移动机制解析

UCLASS()public:protected:// 添加你的角色pawn类// 添加输入配置。

2025-12-03 10:02:57 375

原创 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 116

原创 Lyra学习6:GameFeatureAction_AddComponents分析

在LyraStarterGame中,实现了插件化架构: 允许动态添加/移除游戏功能支持网络环境: 智能区分客户端/服务器组件提供完整生命周期管理: 从激活到停用的完整流程与Lyra的模块化设计深度集成: 支持能力系统、武器系统、UI系统等的动态扩展通过这个类,Lyra实现了高度可扩展的游戏架构,开发者可以轻松添加新功能而不修改核心代码。

2025-12-02 15:14:45 648

原创 Lyra学习5:GameFeatureAction分析

GameFeatureAction.hGameFeatureAction.cpp以下是该类所有成员的分析,包括其作用和在 LyraStarterGame 项目中的典型应用:在 LyraStarterGame 项目中:

2025-12-02 14:47:17 661

原创 只想克隆项目中的 Source 文件夹,而不影响其他内容

文件夹的内容,但git仍然知道其他文件的存在,只是没有将它们检出到工作目录中。执行后,你的本地仓库将只包含。

2025-12-01 11:11:27 259

原创 Lyra学习004:GameFeatureData分析

在 LyraStarterGame 项目中,UGameFeatureData 是整个游戏功能插件系统的核心数据资产。模块化设计:允许独立开发和管理不同的游戏功能生命周期管理:控制插件的加载、激活、停用和卸载过程资源管理:自动处理插件相关的资源扫描和加载配置管理:支持灵活的配置覆盖机制扩展性:通过 UGameFeatureAction 系统支持无限的功能扩展这使得 Lyra 能够实现高度模块化的架构,支持快速迭代和功能组合。

2025-12-01 09:45:40 584

原创 Lyra学习003:LyraGameMode 分析

它通过一个高度可配置、数据驱动的“游戏体验”系统来管理游戏内容,并通过委托和组件将具体职责(如生成、经验管理)分发给其他专门系统。这种模块化、事件驱动的设计使得 Lyra 框架非常灵活,能够轻松支持从死亡竞赛到复杂合作 PVE 等多种游戏模式,同时为在线服务、专用服务器和复杂的英雄系统提供了坚实的基础。是 LyraStarterGame 项目的。

2025-11-28 13:38:50 390

原创 Lyra学习002:LyraGameInstance.h 分析

这个类清晰地展示了如何在 UE5 中构建一个功能齐全、可扩展的多人游戏实例,特别是在处理用户状态和网络安全方面。在 Lyra 项目中扮演着。

2025-11-28 13:16:21 367

原创 Git常用命令大全及使用指南

这里为你整理了一份非常全面的 Git 常用命令大全,从入门到进阶,涵盖了日常开发的绝大多数场景。命令都附有简洁的说明,方便你快速查阅和使用。

2025-11-26 10:44:36 555

原创 Experience如何定义了在特定游戏情境下(如主菜单、特定地图、特定模式)应该使用哪些Pawn数据、能力集、动作输入、相机等

本身是一个数据资产(),它不包含逻辑,而是作为一个配置容器和组织者。// 1. 定义默认的Pawn数据作用本身也是一个数据资产,它通常会包含:Pawn类:在此体验中玩家应该使用什么类型的Pawn。输入配置:绑定输入操作(Input Action)和输入上下文(Input Context),定义了玩家可以执行哪些操作。相机模式:指定默认的相机模式,以及可能用到的其他相机模式。能力集:一个。

2025-11-25 22:11:20 763

原创 游戏模式:ALyraGameMode中,如何初始化游戏状态的?当一个新玩家加入时, 游戏模式如何为其生成Pawn和PlayerController?

游戏模式:ALyraGameMode路径:/LyraGame/GameModes/LyraGameMode.h/.cpp学习内容:GameMode定义了游戏的规则。问题:InitGameState()是如何初始化游戏状态的?问题:HandleStartingNewPlayer()里当一个新玩家加入时(包括本地分屏和网络连接),游戏模式如何为其生成Pawn和PlayerController?

2025-11-25 21:49:58 305

原创 游戏实例:ULyraGameInstance是怎么管理在线会话、加载屏幕等的行为?

对于在线会话:它是一个协调者和响应者。它通过绑定到的事件,在会话生命周期的关键时刻(如客户端旅行前)注入游戏特定的逻辑和参数。对于加载屏幕:它是一个架构定义者。它通过设置一个基于“初始化状态”的框架,为整个游戏(包括加载屏幕的显示与隐藏、资源的加载与初始化)提供了一个清晰的生命周期。具体的加载屏幕UI则由其他组件在这个状态框架内驱动。

2025-11-25 21:19:44 289

原创 LyraGameInstance 文件分析

【代码】LyraGameInstance 文件分析。

2025-11-25 20:44:12 322

原创 Lyra学习001:从0开始学习 **Lyra Starter Game** 项目

按顺序阅读:严格按照上述阶段顺序进行。不要跳过第一阶段直接去看GAS,否则你会迷失在细节中。调试与日志:在关键函数(如)中添加UE_LOG,在运行时观察它们的调用栈和顺序。使用编辑器和调试器在编辑器中运行游戏,使用“Console”输入来可视化角色的GAS状态。熟练使用进行性能和分析追踪。Lyra项目有很好的内置追踪点。动手修改:不要只读代码。尝试做一些小修改:修改LyraHero的移动速度。

2025-11-25 20:23:43 950

原创 UE5.6的AbilitySystemComponent.h文件注释

这是一个非常庞大的头文件,包含了 Unreal Engine 中 Ability System 的核心组件 的定义。关键部分的中文注释,包括:这个组件是 Unreal Engine 游戏玩法能力系统的核心,负责管理游戏中的能力、效果、属性和标签系统。

2025-11-24 23:20:14 231

原创 分析 UAbilitySystemComponent 的所有成员变量和成员函数

意义: 控制 GameplayEffect 的复制模式项目用途: 优化网络带宽,根据客户端类型决定复制数据的详细程度网络游戏用途Minimal: 只复制最小信息,不适用于拥有的 ASCMixed: 向模拟代理复制最小信息,向所有者和自主代理复制完整信息Full: 向所有客户端复制完整信息意义: 当前预测键,用于客户端预测项目用途: 管理客户端预测的上下文网络游戏用途: 防止预测冲突,支持预测回滚意义: 指定播放蒙太格的动画实例标签项目用途: 支持多个动画实例的场景网络游戏用途。

2025-11-24 22:36:46 951

原创 `ULyraAbilitySystemComponent` 类的所有成员变量和成员函数分析

增强的输入处理: 支持基于标签的输入映射和精确的输入状态管理激活组系统: 实现能力之间的复杂互斥和优先级关系标签关系映射: 支持声明式的能力依赖和阻塞配置动态标签管理: 通过游戏效果系统实现灵活的标签应用完善的网络支持: 确保客户端和服务器状态同步生命周期管理: 提供完整的能力状态跟踪和回调这个设计使得 Lyra 的能力系统既强大又灵活,能够支持从简单技能到复杂连招系统的各种需求。

2025-11-24 22:33:39 863

原创 在整个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 595

原创 Lyra源码分析:ULyraAbilitySystemComponent

这是一个Lyra游戏项目中Ability System Component的初始化函数实现。这个实现展示了Lyra项目中对GAS的深度定制,特别是在处理Pawn切换、系统集成和性能优化方面的最佳实践。:建立Ability System与动画蓝图的数据流。确保只在真正切换Pawn时才执行昂贵的初始化操作。为每个能力实例提供Pawn切换的通知机会。:自动激活标记为"在生成时激活"的能力。强制要求所有能力都必须是实例化的(:注册以便全局效果应用。

2025-11-23 14:26:48 209

原创 创建项目VS文件时,出现MSVC错误

【代码】创建项目VS文件时,出现MSVC错误。

2025-11-23 12:36:48 899

原创 Lyra源码分析:LyraCharacter

主要特点:模块化设计:通过多个组件(PawnExtension、Health、Camera)实现功能分离能力系统集成:集成Gameplay Ability System用于技能和状态管理团队系统:支持团队标识和团队变更通知网络复制优化:使用压缩的加速度数据和共享移动复制来优化网络性能移动系统:自定义移动组件,支持蹲下、跳跃等动作游戏标签:使用Gameplay Tags来管理角色状态和行为死亡处理:完整的死亡序列处理,包括禁用移动、碰撞和最终销毁:Pawn功能扩展:生命值管理:相机控制:自定义移动逻辑。

2025-11-21 10:49:35 263

原创 以 Lyra 的架构为基础,创建一个名为 “Aura“ 的英雄并实现发射火球技能

输入触发:玩家按下绑定键 → Enhanced Input 系统触发标签转换将输入动作转换为技能激活接收输入标签,通知执行技能找到并激活生成投射物:技能生成碰撞检测:火球碰撞到敌人,触发OnHit事件应用伤害:通过对敌人造成伤害这个实现完全遵循 Lyra 的架构模式,保持了模块化和可扩展性。在实际项目中,你还需要添加更多的功能,如魔法值消耗、冷却时间、技能升级等,这些都可以通过 Gameplay Ability System 的强大功能来实现。

2025-11-20 21:53:02 448

原创 Lyra源码分析:LyraHeroComponent

主要功能输入管理:处理所有玩家输入,包括移动、视角、能力和系统功能相机控制:管理相机模式,支持能力系统覆盖初始化管理:通过游戏框架组件管理系统协调初始化流程能力集成:与游戏能力系统深度集成初始化状态机Spawned→→→每个状态都有严格的进入条件检查确保依赖组件正确初始化后再进行下一步输入绑定使用增强输入系统支持玩家可映射的输入配置将输入标签直接绑定到游戏能力提供原生动作和能力动作两种绑定方式相机系统支持能力系统临时覆盖相机模式提供默认相机模式回退机制通过委托模式与相机组件解耦设计特点模块化。

2025-11-20 21:44:57 171

原创 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 605

原创 怎样从0开始学习UnrealEngine的LyraStarterGame?

不要一开始就钻进 Lyra 的几十万行代码里,那会让你不知所措。我们要做的是先掌握 UE5 的基本操作和编程,然后把它当成一个“黑盒”来玩,再逐步打开盒子研究每个零件,最后自己尝试制造类似的零件。

2025-11-20 16:01:51 823

原创 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 438

原创 Lyra源码分析:LyraAbilitySet

数据结构:定义了三种可授予内容的结构体(能力、效果、属性集)句柄管理:通过管理所有已授予内容的句柄,便于后续移除数据资产作为不可变的数据资产,可在编辑器中配置网络同步:只在权威端执行授予和移除操作,确保网络同步错误处理:包含完善的空指针检查和错误日志记录这是一个典型的UE5 Gameplay Ability System (GAS) 实现模式,用于批量管理和授予游戏能力相关的内容。

2025-11-20 15:31:42 553

原创 Vim 常用快捷键清单

Vim 的核心是,不同模式下按键的功能完全不同。请务必记住你当前处于哪种模式。

2025-11-20 09:24:27 871

原创 Lyra源码分析:LyraCharacterMovementComponent

这两个文件定义了一个自定义的角色移动组件。

2025-11-19 23:09:29 838

原创 Lyra源码分析:LyraCharacter

主要特点:模块化设计:通过多个组件(PawnExtension、Health、Camera)实现功能分离能力系统集成:集成Gameplay Ability System用于技能和状态管理网络优化:使用压缩的加速度数据和快速共享复制来减少带宽使用队伍系统:支持团队标识和团队变更通知移动系统:自定义移动组件,支持蹲下、跳跃等动作死亡处理:完整的死亡序列和销毁流程:Pawn功能扩展:生命值管理:相机控制:能力系统管理:自定义移动逻辑这是一个高度可扩展的角色基类,为多人游戏提供了完整的网络同步和游戏功能支持。

2025-11-19 22:13:05 449

原创 Lyra源码分析:LyraAbilitySystemComponent

主要功能:能力管理- 处理能力的激活、取消、输入响应输入处理- 管理基于输入标签的能力触发激活组系统- 通过分组管理能力的互斥关系标签关系映射- 使用标签定义能力间的阻塞和取消关系动态标签- 通过游戏效果动态添加/移除标签网络同步- 支持客户端-服务器能力状态同步支持多种激活策略(输入触发、输入保持等)提供能力激活组管理(独立、独占可替换、独占阻塞)完善的输入处理机制扩展的标签关系系统动态标签管理网络复制支持这是一个高度定制化的能力系统组件,为复杂的游戏能力交互提供了强大的基础框架。

2025-11-19 21:48:19 643

原创 Lyra源码分析004:Phases文件夹

层次化阶段管理:使用GameplayTag的层次结构,支持父子阶段共存自动冲突解决:新阶段启动时会自动结束冲突的兄弟阶段观察者模式:允许注册阶段开始和结束的回调基于能力系统:每个阶段都是一个Gameplay Ability服务器权威:只在服务器端管理阶段状态蓝图支持:提供完整的蓝图接口这种设计使得游戏阶段管理更加灵活和可扩展,特别适合复杂的游戏流程控制。清晰的阶段管理- 复杂的游戏流程变得可维护可靠的网络同步- 所有玩家看到一致的游戏状态灵活的扩展性- 新阶段可以轻松添加而不影响现有逻辑松耦合的架构。

2025-11-19 17:06:04 1025

原创 Lyra源码分析003:AbilitySystem文件夹

标签化系统提供统一的标签管理接口全局能力管理实现跨ASC的能力和效果管理效果上下文扩展添加游戏特定的上下文数据能力提示管理优化游戏提示的加载和管理目标数据扩展增强目标数据标签关系映射定义能力间的阻塞和取消关系全局系统配置配置全局能力系统行为能力组件扩展增强标准ASC功能能力源接口定义能力计算源接口能力集管理提供批量授予能力、效果和属性集的功能这个架构提供了高度模块化和可扩展的能力系统,支持复杂的游戏机制和交互。我将为每个文件提供详细的行级代码分析,解释每行代码的意义和使用方法。效果上下文扩展系统。

2025-11-19 14:20:14 976

原创 Lyra源码分析002:LyraGame文件夹

模块生命周期管理处理模块的初始化和清理使用标准的UE模块系统确保正确的加载顺序。

2025-11-19 09:25:49 368

原创 Lyra源码分析001:Source文件夹

编辑器开发独立客户端专用服务器EOS 集成动态插件管理多配置(Debug、Shipping、Test)适配我来逐行分析每个文件的内容、代码意义和使用方法。

2025-11-19 09:02:20 800

原创 ASC学习笔记0027:直接设置属性的基础值,而不会影响当前正在生效的任何修饰符(Modifiers)

中文注释:UrealEngine-5.2.1源码-这个方法是 Gameplay Ability System (GAS) 中用于设置属性基础值的重要函数。

2025-11-18 16:37:36 252

原创 Aura源码分析:Aura Projectile

是虚幻引擎中一个非常核心和常用的事件,用于检测当一个物体的。开始与另一个物体的碰撞体。

2025-11-17 16:55:04 786

原创 UE5笔记:GetWorld()->SpawnActorDeferred()

在虚幻引擎中,是一个非常重要的函数,用于。

2025-11-17 16:53:49 277

原创 UE5笔记:GetAvatarActorFromActorInfo

MMO Raid战斗:处理40人团队中的目标选择和效果应用大型PvP战场:优化数百玩家同时在线时的性能开放世界事件:动态管理大量NPC和玩家的交互竞技场比赛:确保公平的网络同步和预测副本系统:管理副本内角色的状态同步这些模式确保了在大型网络游戏中,能够高效、安全地处理各种复杂的网络场景。

2025-11-17 15:46:22 408

原创 UE5笔记:HasAuthority

函数核心问题典型用途"我(当前机器)是这个 Actor 的权威吗?游戏逻辑决策:伤害计算、生成Actor、改变游戏状态。"这个Pawn是我本地玩家控制的吗?本地化表现:输入反馈、摄像机效果、本地UI。黄金法则:当你需要改变一个会影响到所有玩家的状态时,先检查。当你只想在本地机器上处理表现和反馈时,使用。不要将视为一个简单的“if语句”,而是视为划分责任边界的工具。它定义了“谁说了算”。所有核心规则、状态改变、资源交易、物理结果验证,都必须放在块内。客户端负责输入采集、本地预测、特效、音效和UI反馈。

2025-11-17 15:38:09 650

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除