自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(743)
  • 资源 (6)
  • 收藏
  • 关注

原创 95. UE5 GAS RPG 实现创建多段飞弹攻击敌人

从这篇开始,我们将实现一些技能,比如多段火球术,闪电链等等。在这一篇里,我们先实现多段火球术,技能可以通过配置发射出多个火球术进行攻击。

2024-09-11 17:30:12 1271

原创 94. UE5 GAS RPG 实现攻击击退效果

在这一篇里,我们增加一些功能,就是技能击中敌人后,能够让敌人产生一些击退效果,如果敌人死亡,能够产生较大幅度的击退效果。我们将首先将实现敌人死亡被击退的效果,然后再此基础上,实现攻击击退的效果。要实现敌人死亡时,受到技能的冲击,我们需要可以在技能上设置技能的冲击力,并且修改死亡函数,可以在死亡时给死亡角色模型应用冲击力。

2024-09-06 18:05:49 1312

原创 93. UE5 GAS RPG 应用负面效果表现

为了能够自定义负面效果表现的自动开关功能,我们需要自己扩展Niagara类,在里面增加内容。我们基于NiagaraComponent创建一个派生类设定好相关名称和目录在派生类里,我们添加构造函数,设置标识当前对应的负面效果的标签,以及对应标签变动回调以及角色死亡回调。UCLASS()public://用来标识粒子系统的标签protected://覆写开始运行//当前的负面标签变动回调//在角色死亡时的回调在构造函数中,我们将自动激活关闭//关闭自动激活。

2024-09-04 09:42:16 743

原创 92. UE5 GAS RPG 使用C++创建GE实现灼烧的负面效果

在正常游戏里,有些伤害技能会携带一些负面效果,比如火焰伤害的技能会携带燃烧效果,敌人在受到伤害后,会接受一个燃烧的效果,燃烧效果会在敌人身上持续一段时间,并且持续受到火焰灼烧。我们将在这一篇文章里,实现伤害技能附带负面效果,并可以设置负面效果的参数,来实现对敌人添加负面buff。

2024-08-30 16:08:56 1621

原创 91. UE5 GAS RPG 实现拖拽装配技能以及解除委托的绑定

在上一篇文章里,实现了通过选中技能,然后点击下方的装备技能插槽实现了技能的装配。为了丰富技能装配功能,在这一篇里,我们实现一下通过拖拽技能,实现拖拽功能,我们需要修改两个用户控件,一个就是技能按钮,我们需要在里面增加拖拽的功能,并且不能够与点击事件产生冲突,然后我们还需要在装配插槽增加拖拽放入的事件处理,在拖入技能装配插槽后,处理对应的逻辑。

2024-08-21 15:52:51 1425 2

原创 90. UE5 GAS RPG 实现技能的装配

在上一篇里,我们实现了在技能面板,点击技能能够显示出技能的相关描述以及下一级的技能的对应描述。在这一篇里,我们实现一下技能的装配。在之前,我们实现了点击按钮时,在技能面板控制器里存储了当前选中的技能的相关信息,有了这个信息以后,我们在实现装配时,可以使用这个数据进行处理。当选中技能后,我们接着点击下面的技能插槽时,如果符合装配条件,我们将实现装配到对应的插槽。

2024-08-19 15:57:36 1164

原创 89. UE5 GAS RPG 实现伤害 冷却 消耗技能描述

在上一篇文章里,我们能够通过富文本显示多种格式的文字,并显示技能描述。在这一篇文章里,我们继续优化技能描述,将技能说需要显示的内容显示出来。

2024-08-13 17:46:28 759

原创 88. UE5 GAS RPG 使用富文本实现技能描述

在这一篇文章里,我们实现一下技能描述,我们有两个技能描述的框,一个显示当前技能的描述,另一个显示下一级技能的描述。对于技能的描述,里面会有很多的样式,正常情况下我们是无法创建这么多对面的UI节点,所以,我们需要使用的是,富文本框,在UE里翻译是多格式文本块。对于做过前端的小伙伴这个应该熟悉,那么接下来,我们实现一下显示。

2024-08-11 20:36:10 992

原创 87. UE5 GAS RPG 实现技能面板技能的升级降级功能

在上一篇文章里,我们实现技能面板里的技能按钮配置数据,在角色对应的等级后,会解锁对应的技能,并实现了监听玩家角色所拥有的技能点数。在这一篇里,我们将实现,通过玩家所拥有的技能点数,对技能进行升级。

2024-08-08 16:02:28 1094

原创 86. UE5 GAS RPG 技能面板实现监听数据

在上一篇文章里,我们创建了技能面板的控制器,接下来,我们将实现通过控制器绑定委托,来更新显示内容。

2024-08-02 15:56:11 918 1

原创 85. UE5 GAS RPG 创建技能面板控制器

在上一篇里,我们编辑完成了技能的UI面板。按照MVC的思路,我们还需要制作它的控制器,用于处理UI上面的交互。到现在为止,我们控制器已经有了三种,首先是我们创建的控制器基类RPGWidgetController.h,为所有控制器需要继承的类,里面有一些公用的函数和属性。我们接下来,会先创建技能面板控制器,然后整理代码,讲通用的部分整理到基类里,并优化一些功能。

2024-07-30 09:48:02 986

原创 84. UE5 GAS RPG 创建技能面板

在前面,总算完成了角色属性的功能,并实现了分配属性值的功能。在这一篇文章,我们开始创建技能相关的功能,我们已经有了角色技能,现在还需要一个角色面板,这篇文章里我们将首先创建技能的UI面板,在面板中我们可以设置技能,升级技能等。首先展示一下我们要最终完成的效果接下来我们将实现这个效果。

2024-07-26 17:28:41 997

原创 83. UE5 GAS RPG 实现属性值的设置

在前面,我们实现了角色升级相关的功能,在PlayerState上记录了角色的等级和经验值,并在变动时,通过委托广播的形式向外广播,然后在UI上,通过监听委托的变动,进行修改等级和经验值。在这一篇里,我们实现一下对属性值的操作,原理和等的差不多,但是编写死不一样。属性值是在属性面板上的属性,它有一个专用的属性面板控制器。

2024-07-23 18:19:24 1288

原创 82. UE5 GAS RPG 实现角色升级系统(下)

书接上回,在上一篇博客里,我们实现了角色升级的基础的功能。给敌人增加的经验奖励配置,并且在敌人死亡时,能够将经验通过事件传递给击杀者,玩家定义了被动技能,在被动技能中接收传递的事件,通过SetByCaller的GE应用给自身。并在AttributeSet中打印出获得的经验。我们还修改了PlayerState,在内部增加了对经验和等级添改查的,并创建对应的委托,在UI的Controller里面,实现了对委托的监听,并实现回调函数,通过经验获取等级和升级进度广播给UI表现出来。

2024-07-20 16:34:15 1018

原创 81. UE5 GAS RPG 实现角色升级系统(上)

在这一篇文章里面,记录一下实现角色升级系统的笔记。接下来,解释一下我们要实现的方式,我们将记录角色的总经验值,在角色的经验增长达到升级经验时,角色将实现升级,并提供升级奖励。这里比较注意的点是,我们创建一个升级经验数据资产,里面记录的每一级的升级条件不是当前等级升级所需经验,而是记录的角色升级所需的总经验值。比如:角色默认等级为1,升级为2级时需要300经验值,数据里记录的是升级所需为300经验。

2024-07-18 09:15:56 892

原创 80. UE5 GAS RPG 实现UI显示技能冷却进度功能

在上一篇文章里,我们实现了通过GE给技能增加资源消耗和技能冷却功能。UI也能够显示角色能够使用的技能的UI,现在还有一个问题,我们希望在技能释放进去冷却时,技能变成灰色,并在技能冷却完成,技能可以再次使用。为了实现这个功能,我们首先要实现一个能够监听技能进入冷却的方法,然后在技能被使用后,将UI的颜色修改,并在技能冷却完成后,将技能UI恢复到可释放状态。

2024-07-12 17:30:33 1160 1

原创 79. UE5 GAS RPG 创建技能冷却和消耗

在这一篇里面,我们接着优化技能,现在角色添加的主动技能能够同步到ui上面。我们在这一篇文章里面,完善技能的消耗(释放技能减少蓝量)和冷却机制。我们可以看到,在技能类默认值这里,可以设置它的冷却和消耗的GE所以,我们接下来,将通过GE实现对技能的冷却和消耗的设置。

2024-07-11 17:50:32 950

原创 78. UE5 GAS RPG 创建技能数据并初始化技能ui

在上一篇文章里,我们创建了技能的UI,接下来,我们要考虑如何实现对技能UI的填充,肯定不能直接写死,需要有一些方法去实现技能的更新。我们期望能够创建一个技能数据,然后根据数据通过回调的方式实现数据的更新。为了实现这个功能,我们会先创建一个结构体,用于存储技能的相关数据(Tag,使用的图片等),然后创建一个DataAsset,然后创建回调函数,在注册技能的时候,将技能相关的数据广播出去,在UI里接受,更新UI显示。

2024-07-10 16:02:58 815

原创 77. UE5 GAS RPG 创建角色的技能栏

在前面的文章里,我们实现了角色属性技能和场景。接下来,我们要优化角色显示UI,在屏幕底部显示角色血量,蓝量,技能和经验值。

2024-07-05 11:26:46 1046 1

原创 UE5 修改项目名称 类的名称

这里推荐使用Rider编辑器修改,它会给你遍历所有的引用,然后一次性修改,并自动添加DefaultEngine.ini。接下来,我将给大家演示如何实现。我们在一个类的文件上面选择重构此然后选择重命名在弹框内修改为新的名称,下一步等待更新完成即可。你打开DefaultEngine.ini 会发现它将类名进行的重映射,这样UE里面的蓝图也不会出现问题。

2024-07-03 14:21:45 764

原创 76. UE5 GAS RPG 实现场景阻挡剔除功能

在俯视角游戏中,我们总会碰到一个问题就是,建筑会遮挡住角色的问题。遇到这种问题有多种解决方案,厂商经常使用的一种方案是,如果角色被遮挡,则使用一种纯色或者增加一些菲涅尔的效果来实现这种效果我之前在unity内实现过对应的效果,思路就是获取深度,使用模版测试,获取到被遮挡的区域再重新绘制,这里,我想使用一种新的方式去实现这种,那就是在角色被遮挡时,获取到遮挡角色的模型,将其中间掏空,防止阻挡角色。这种方案有个弊端就是,游戏模式必须是锁定视角的方案,等实现了,你就明白其中的逻辑。

2024-06-29 16:05:21 1455

原创 75. UE5 GAS RPG 创建场景摆放部件蓝图

这一篇文章来点简单的内容,相当于我们使用蓝图创建类似于unity的预制体。

2024-06-26 17:29:01 491

原创 74. UE5 GAS RPG 搭建场景设置光照和纹理流送

前面,我们对角色和敌人进行了一些完善。在这一篇文章里面,我们将进行对场景进行搭建,并对场景的光照和场景的后处理进行设置。

2024-06-25 14:30:45 1455

原创 73. UE5 GAS RPG 优化投射物以及敌人生成

之前一直遇到发射物的体积过大会在发射时,和地面产生交互,我们可以调整小一些,然后为了防止它和自身产生交互事件。我们可以实现它在生成后,不会触发相关事件,而是在一定时间后。对于这种通用的事件,我推荐创建一个蓝图父类进行设置创建一个基础蓝图类,命名为BP_Projectile默认碰撞球体设置为无碰撞球体因为是私有属性,我们需要在代码中将其设置为可以在蓝图获取,或者将其转移成保护性参数然后在事件开始时,延迟一定时间,启用查询功能,并进行debug。

2024-06-21 14:53:34 1078

原创 72. UE5 GAS RPG 实现召唤技能数量的限制,并优化技能相关

在上一篇文章里,我们实现了召唤技能,并且能够无限的召唤。所以,这属于一个bug,我们不能无限制的去召唤,这会影响游戏的体验。所以,在这篇里面,我们实现一下对召唤物数量的限制,并优化一些相关的内容。

2024-06-19 17:59:39 908

原创 71. UE5 GAS RPG 实现敌人召唤技能

在这一篇文章中,我们要实现敌人的召唤师能够召唤自己的仆从进行作战。要实现这个技能,我们首先创建新的敌人蓝图,用于召唤。接着,我们将实现一个召唤技能基类,在基类中实现在召唤师的周围获取到可以生成的位置点,然后在技能蓝图中在对应的位置生成敌人的Actor,并在后续对其进行优化。接下来,我们将一步步实现此功能。

2024-06-19 10:20:08 1184

原创 70. UE5 GAS RPG 优化敌人的效果和音效

在前面,我们实现了敌人的大部分功能,在这篇里面,我们将一些需要设置的内容填充一下。这个设置完成以后,我们整理一下,每个敌人都需要设置的音效内容。在填充之前,我们先增加一个角色死亡时播放的音效。在骨骼上添加两个插槽,用于左右手的骨骼位置设置。打开角色基类,创建一个属性用于设置死亡音效。然后在死亡时,播放音效。

2024-06-14 17:49:54 501

原创 69. UE5 GAS RPG 使用Gameplay Cue 实现技能表现效果

在上一章中,我们实现了敌人的攻击技能的特效和音效。如果我们在多人模式下打开,发现,其它客户端看不到对应的效果。造成这种问题的原因是因为敌人的技能是运行在服务器端的,它只复制到拥有它的客户端,而敌人的效果对于客户端来说,它们都不拥有此内容,所以无法查看到。那么如何实现每个客户端都可以查看到和听到所需的效果呢,这里就需要使用gameplay Cue去实现了。它可以实现让每个客户端都能获得同样的视效和音效。

2024-06-12 21:01:11 1210 3

原创 68. UE5 GAS RPG 优化敌人角色的表现效果

我们现在已经有了四个敌人角色,接下来,处理一下在战斗中遇到的问题。

2024-06-10 19:15:23 622

原创 67. UE5 GAS RPG 创建法师敌人角色

我们设置的敌人类型分三种,分别时战士类型,远程射手,和法师类型。在前面,我们创建了战士和射手类型的,还没有法师类型的,在这一篇文章中,我们创建一个法师类型的角色。在里,我们创建了一个新的战士角色,而且也整理角色创建的所需的内容,这里我们将创建敌人的通用的内容省略掉,只解释一下不同的地方。

2024-06-10 18:23:24 1105

原创 66. UE5 GAS RPG 实现远程攻击武器配合角色攻击动画

在制作游戏中,我们制作远程攻击角色,他们一般会使用弓箭,弩,弹弓等武器来进行攻击。比如你使用弓箭时,如果角色在播放拉弓弦的动画,但是弓箭武器没有对应的表现,会显得很突兀。所以,我们在这一篇文章里,将介绍如何实现在远程敌人攻击时,武器也能够实现它对应的效果。要实现这个效果,我们需要给武器也增加一个动画蓝图,在动画蓝图中,在角色攻击时,对拉弦的那只手的位置进行监听,然后通过在动画蓝图中,修改骨骼的位置,实现在拉弓时,让弦也根本动画修改。

2024-06-09 18:05:26 867

原创 65. UE5 GAS RPG 实现远程攻击

前面,我们实现了敌人的近战普通攻击,还兼容了对于没有武器的敌人的攻击。有近战就要有远程,这一篇,我们实现一下敌人的远程攻击。首先,由于创建的资源增多,我们将GA和GE按敌人和英雄的类别分开,分别在目录下面创建存放GA和GE的文件夹这样条例会更加的清晰,方便我们后续的资源维护。

2024-06-07 16:22:22 1286

原创 64. UE5 GAS RPG 创建新的双手攻击怪物

在上一篇文章中,我们实现了新的功能,现在可以创建多个普通攻击动画,并且可以根据你所使用的普通攻击动画,设置不同的攻击位置。比如,你使用武器,那么攻击位置需要从武器上获取,如果你没有持有武器,使用双手攻击,那么,需要从双手中的某一只去获取攻击位置。在这一篇文章中,我们增加一个新的敌人,它没有武器,靠双手攻击,我们给它两个攻击动画,一个是左手攻击,另一个是右手攻击,来测试我们之前实现的功能是否隐藏了某些bug。而且还能回忆一下之前是如何创建一个敌人的所有数据的。

2024-06-06 11:40:44 1321

原创 63. UE5 GAS RPG 兼容没有武器的普通攻击

前面,我们实现了近战攻击技能,敌人通过AI靠近玩家,并且通过AI还能够触发近战攻击的释放。现在我们思考一个问题,如果敌人没有武器,攻击的手段是用的双手,我们该如何去获取它的攻击范围。现在实现的一套是获取武器的攻击范围,我们还没有实现在没有武器的情况下,还需要区分左右手,这样该如何去实现。我们准备增加对应的标签,然后新增一个结构体,用于动画和蒙太奇的映射,最好能把需要获取的骨骼位置也写入到其中,这样如果角色有多个近战攻击动画,我们可以随机一个使用,然后从内部获取所需的数据,进行后续范围判断。

2024-06-04 20:21:41 772 1

原创 处理无法拉取GitHub库的解决方案

提交和拉取github上的库总是失败,这里记录一下如何使用代理解决。首先找到端口,记住它的端口。

2024-06-04 18:50:15 560

原创 62. UE5 GAS RPG 近战攻击获取敌人并造成伤害

在上一篇,我们实现了通过AI行为树控制战士敌人靠近攻击目标触发近战攻击技能,并在蒙太奇动画中触发事件激活攻击的那一刻的伤害判断,在攻击时,我们绘制了一个测试球体,用于伤害范围。在之前实现的火球术中,我们实现的是一个单体伤害技能,在近战中,我们想实现对范围内的敌人判断,并造成伤害。这也是RPG游戏的通常做法。所以,我们将在这篇中,实现角色的死亡逻辑,然后接着实现一个函数去获取一定范围内的敌人并造成伤害。

2024-06-03 17:03:37 1649 5

原创 61. UE5 GAS RPG 实现敌人近战攻击技能和转向攻击

在前面,我们实现了敌人的AI系统,敌人可以根据自身的职业进行匹配对应的攻击方式。比如近战战士会靠近目标后进行攻击然后躲避目标的攻击接着进行攻击。我们实现了敌人的AI行为,但是现在还没有实现需要释放的技能,接下来,我们将实现敌人的使用的技能,刚好回顾一下之前的实现的功能。首先基于之前的伤害技能基类,创建一个近战技能基类命名为近战技能 RPGMeleeAbility我们要实现技能的激活,需要使用到GameplayTag,所以我们增加一个新的技能标签用于激活。

2024-05-31 15:54:26 1338

原创 60. UE5 GAS RPG 使用场景查询系统(EQS,Environment Query System)实现远程敌人寻找攻击位置

UE的Environment Query System(EQS)是环境查询系统,它是UE4和UE5中用于AI决策制定过程中的数据采集和处理的一个强大工具。EQS可以收集场景中相关的数据,利用生成器(Generator)针对用户的测试(Test)去筛选符合用户提出条件的最佳项目(Item)。EQS允许开发者设置多种查询条件和测试,以评估游戏世界中的对象和环境。它提供了可视化的测试结果,便于开发者调试和优化查询。EQS常用于AI决策制定,如寻找最佳路径、选择攻击目标或找到安全位置等。

2024-05-28 20:52:43 1466

原创 59. UE5 GAS RPG AI行为树的任务

在上一节中,我们实现了通过AI行为树的修饰器,修改行为的流程控制。我们通过流程,可以区分出角色职业,使用哪一套攻击,以及在受击的情况下停止攻击状态。接下来,我们将实现通过AI行为树创建自己的任务,通过任务实现角色的技能以及攻击。

2024-05-24 15:33:14 820

原创 58. UE5 GAS RPG AI行为树的装饰器

书接,我们实现了AI一些基础设置,并实现了获取敌人附近的玩家实现了跟随功能接下来,我们将实现区分职业,并根据职业不同设置不同的攻击距离,并且根据职业实现不同的技能施放。

2024-05-23 19:10:26 1089

Substance Painter 和 Unity 同步Standard

同步了一个渲染shader,Substance Painter使用的版本是 9.0.0,Unity版本2019.4.40 。同步的shader为默认的Standard,工作流为金属工作流

2023-09-22

InstantOC Dynamic Occlusion Culling LOD 3.0.0

对unity的免费资源的修改版。 修改了脚本内过时的接口。 修改为了2020版本的urp渲染管线。 使用时,可以直接将内容解压到项目中的Asset文件夹中。 具体使用方式,参考链接:

2022-09-29

three.js开发指南-资源部分

之前下载过three.js开发指南的代码,发现很有代码都是无法运行的。所以找了一份没有问题的代码上传,让朋友少走点弯路。由于资源太大,所以分开上传,这一部分只是资源部分。

2017-12-25

three.js开发指南-代码部分

之前下载过three.js开发指南的代码,发现很有代码都是无法运行的。所以找了一份没有问题的代码上传,让朋友少走点弯路。由于资源太大,所以分开上传,这一部分只是代码部分。

2017-12-25

webpack配置es6+less开发环境

此为本人制作的webpack开发环境,使用babel进行代码转换,postcss进行兼容性,可以使用less进行css预编译,欢迎测试

2017-11-17

41节的可交互的立方体

预留的WebGL交互立方体的代码

2017-06-14

WebGL预先定义库

一些专为WebGL准备、事先定义好的函数库

2017-04-25

jquery源码_详细中文注释.pdf

1.2.6版本的jquery注释,大家共同学习,注释十分详细

2016-12-14

空空如也

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

TA关注的人

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