自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 UE4蓝图的生成时公开,变量的交互

这个ComfireThrow创建了一个s_item变量,在生成时公开,就是在生成这个蓝图类时候,这个变量会生成一个执行引脚。然后在蓝图通信时候,在外面传一个相同类型的变量进去,就可以把item_slot里面的itmeslot变量赋值给ComfireThrow蓝图里面的S_items变量。...

2021-11-25 23:51:34 1314

原创 虚幻蓝图 控件类的获得和通信

使用这个“获得类的所以控件”节点,可以得到控件类,来实现控件类之间的通信。

2021-11-10 23:32:33 3311

原创 虚幻蓝图节点 格式化文本

大括号里的文本会被延伸成为一个新的引脚。

2021-11-06 23:04:00 1526

原创 虚幻蓝图节点 set Global Time Dilation

虚幻蓝图节点 set Global Time Dilation,可以设置场景的时间流速。如图,时间流速设置为0.2,则为正常时间流速的五分之一,可以用来制作类似子弹时间,林克时间,超算空间等等功能。

2021-10-27 10:57:58 880

原创 虚幻蓝图更改控制权

获取到玩家控制器,里面有个控制节点,可以根据此控制节点,更改控制器控制的对象。目标市Player0的控制器,控制的PAWN是另外一个小白人,这里连接的是ThirdPersonCharacter2这样就能控制这个ThirdPersonCharacter2的小白人了...

2021-10-26 21:30:48 296

原创 虚幻蓝图节点 setview target with blend

可以设置镜头的缓慢切换这里按下F键,就可以从第一个小白人身上,镜头缓慢切换到ThirdPersonCharacter2身上,耗时为2S

2021-10-26 20:39:17 1911

原创 虚幻AI行为树通信

创建一个selector,黑板关键值类型根据selector设置不同得黑板值再在task里设置target值

2021-10-21 20:46:21 113

原创 UE4蓝图节点-rotationfromxvector

物体的X轴转向传进来的向量所需要旋转的角度。比如这里,物体的X轴转向他的运动速度的方向所需要旋转的角度。这把斧头的刀刃方向和X轴方向是一致的,他的X轴转向他的运动方向的时候,我们通过这个节点得到的他转向运动方向,所旋转的旋转角度里的Z轴旋转度,就可以得出斧头刀刃的那一面所需要的旋转角度。...

2021-10-12 21:23:35 1898

原创 UE4实现战神4利维坦之斧(2)——瞄准

创建几个变量,分别是瞄准状态下的相机臂长度和相机臂插槽偏移,一个是浮点类型,一个是向量类型,名称分别为BoomlengthAim和SocketoffsetAim。还有要被赋予相机臂长度和相机臂插槽偏移的变量,Boomlength和Socketoffset。以及idle状态,即没有瞄准状态下的Boomlengthidle和Socketoffsetidle。两个布尔类型变量,ishave Aex inhand? 和isAiming?,斧子是否在手上以及是否瞄准。创建一个AIM函数,如果ish..

2021-10-10 18:42:55 1113

原创 UE4实现战神4利维坦之斧(1)——手上抓斧头

先创建个Actor类,然后添加个骨骼网格体,骨骼选定为这把斧头,然后保存。之后点开小白人的骨骼,在hand_r这个骨骼处添加插槽,名字定为Aexsocket之后添加预览资产里,把这个插槽的资产定位我们上面创建的Aex类,就是斧头。在AIM的蒙太奇动画里,调整一下斧头在小白人手里的位置。调整完后小白人就有斧头了。...

2021-10-10 18:26:03 337

原创 占个坑先(UE4实现战神利维坦之斧)

2021-10-10 14:08:06 92

原创 虚幻实现只狼的钩索系统(9)-设置绳索和运动函数

在character类里添加一个缆索组件,取名叫Rope。然后在character类里写我们的RopeMovement函数,实现绳索的运动。和角色运动比较相似,也是通过蒙太奇位置来实现动画播放的同时,绳索伸长和收缩,不同的是角色运动是设置角色的位置,绳索是设置绳索的长度,和末端的位置。绳索同样需要曲线来调整蒙太奇返回的值。...

2021-09-26 23:08:00 739

原创 虚幻蓝图实现只狼的钩索系统(8)-动画运动与曲线函数

开始写角色随着动画播放,能够流畅起飞的函数,这里要用到曲线和蒙太奇的结合。新建一个GrappleMobement函数。先获取一个蒙太奇位置的局部变量,获取的是正在激活的蒙太奇的位置。这个节点返回的是一个浮点数,其实就是蒙太奇的播放时间,比如一个蒙太奇有2秒的动画时长,这个蒙太奇位置就可以实时返回这0-2秒内的浮点数变化。运用曲线来控制蒙太奇位置的播放速率,再用蒙太奇位置,来控制角色的位移。这里是两个曲线变量需要我们自己再额外设置。这是地上起飞的曲线函数,我们要根据自己在...

2021-09-22 20:24:35 294

原创 虚幻蓝图实现只狼的钩索系统(7)-角色起飞函数

在character类里创建一个Start GrappleMovement函数,对应的是动画通知里的startmovement,角色开始起飞的函数。首先是播放一个只狼里的飞起来的声音,然后就是取消角色移动组件里的移动,最重要的是要记录一个当前的Actior位置设为开始的位置,向量变量starting position。运动模式里把角色的移动改为掉落。...

2021-09-22 19:52:29 264

原创 虚幻蓝图实现只狼的钩索系统(6)-蒙太奇动画通知

接下来就是准备动画了,选取对应的动画资源创建动画蒙太奇。在蒙太奇里我们使用几个动画通知。在通知一行里用鼠标右键,就可以创建新的通知。找到合适的节点,分别用几个通知:Rope Appear ,Throw Rope , startmovement, Ropedisappear, Animationend。意思我就不翻译了,懂点英文的都看得懂。然后我们在动画蓝图里去调用这几个动画通知方法,不同的动画通知调用不同的函数。...

2021-09-22 19:38:02 409

原创 虚幻蓝图实现只狼钩索系统(5)-UI失效

前面写了UI的激活函数,现在我们要写失效函数,叫Deactivate。在Grapplepoint类里写具体实现函数,在character类里调用。同理也是非常简单,直接把UI的可视性隐藏就行了。回到character类里新建一个函数调用,养成好习惯,确认Grapplepoint是否存在,然后取消UI,之后为了保险给Grapplepoint设为空。接下来我们就要想想在哪里去调用这个函数了,很明显,几个检测节点都要调用,如果检测失败,我们就应该取消UI显示。不在视野范围内的...

2021-09-22 19:32:12 416

原创 虚幻蓝图实现只狼的钩索系统(4)-UI激活并渐变

接下来做一个UI,用来显示激活状态和未激活状态。UI非常简单,一个黑色背景框,叫Background,加一个白色中心点,叫Filling,先看看成品怎么样的。中间的白色会随着角色的接近而逐渐扩大,最后变成绿色,代表可以出钩索了。现在我们来写一下这个渐变的函数。在rapplepoint得蓝图类里新建一个CheckDistanceFromPlayer的函数这里用到一个Maprangeclamp节点,这个节点的作用就是传进一个值,这个值会在In RangeA 和In Ran...

2021-09-22 19:21:33 493

原创 虚幻蓝图实现只狼的钩索系统(3)-UI激活函数

回到Grapplepoint类,我们写Active函数。这个函数非常简单,直接设置UI的可视性就行,当然我们要新建一个bool变量为Active,运行了Active函数说明Active为真。

2021-09-22 18:49:56 125

原创 虚幻蓝图实现只狼的钩索系统(2)-射线检测

ActivateGrapplepoint函数,这个函数里我们要做一件事情,就是完成射线的检测,让被物体遮挡的Grapplepoint无法被检测到,毕竟如果是被一堵墙挡住的Grapplepoint也能被玩家侦测到是不合理的,所以我们要用linetracebychannel这个节点,即由通道检测线条。在连入linetracebychannel之前我们要先检测Detected Actor是否存在,之后从Follow Camera开始发射射线检测,到Detected Actor结束,linetraceby.

2021-09-22 18:40:46 310

原创 虚幻蓝图实现只狼的钩索系统(1)-多球体检测

为了尽量还原只狼的钩索系统,我直接上游戏把对应的音效给抠了下来,还费劲找了好久的动作资源。不多说,直接开始。首先制作钩爪抓住地点,直接新建蓝图类,以Actor为父类,命名为Grapplepoint,为了更真实的感觉,先设置个静态网格体上去制作个站台。之后转到我们的character。新建一个函数叫CheckforGrapplepoints,这个函数为了检测抓取点 ,所以用tick去激活他,因为我们需要每帧都实时检测是否有抓取点在附近。CheckforGrapplepoin..

2021-09-22 18:27:25 1414

原创 虚幻动画蓝图按层级的动画混合(layered)

每个骨骼的分层混合Base POSE是基础的动画,下面的Blend Pose是要混合进来的动画右边的骨骼名称为spine01,意思是包括他自身在内和他的子集的骨骼,都会遵循Blend Pose的动画运行,其他的则遵循Base Pose的动画运行Blend Weihgts是混合权重,为1的话,就说明子骨骼全都听Blend Pose的动画运行,如果混合权重为0.5的话,就只有一半的子骨骼听Blend Pose的动画运行。最后混合出的一个新动画就是遵循这样一个规则运行的动画。...

2021-09-21 01:27:33 499 1

原创 虚幻蓝图实现简单的解谜小游戏(数组循环)

墙上的灯被全部打开后就可以打开隐藏的大门。继承自Actor类的子类,放一个灯和一个包裹他的触发盒子。惯例使用门节点来控制开关灯,F键来打开数据流通点。这里使用了Foreachloopwithbreak这个节点,这是可打断的数组循环节点,这里的作用就是判断环境内的所有灯是否都打开了,全都打开后就把bool变量是否开门设置为真,执行完成后,再用控制台命令,执行在关卡蓝图里设置的自动义时间“开门”。这样就能打开隐藏的大门了。...

2021-09-21 00:55:18 327

原创 虚幻蓝图实现简单传送门功能

在目标点放置一个场景捕获2D这个摄像头的位置就是传送点的位置。门框内反映的就是摄像头照射的地点。在门框处设置一个触发盒子。在关卡蓝图处写我们的蓝图,非常简单,设置Actor的位置和旋转这个节点就能完成,通过character和触发盒子的重叠来触发,把场景2D的位置和旋转传给character就行。...

2021-09-21 00:37:36 1618

原创 虚幻行为树EQS(环境查询)

环境查询,虚幻自带的非常强大的功能。这样一个EQS里面,包含了自带的DOT节点和ActorofClass,PathExist等等,两个节点就能解决AI找寻目标和路径查询的问题,非常方便。在行为树中插入创建的EQS作为判断条件,比行为树自带的newtask要好用很多。...

2021-09-20 18:02:28 467

原创 虚幻C++实现发射人物

踩到那块冒烟的板子会把人物发射出去惯例头文件声明class UStaticMeshComponent;class UBoxComponent;class UParticleSystem;UCLASS()class MYPROJECT2_API ALaunchActor : public AActor{ GENERATED_BODY() public: // Sets default values for this actor's properties...

2021-09-20 15:47:30 192

原创 虚幻C++实现结束游戏

完成游戏后脱离控制,视角转移到上方,弹出任务完成的字样。我们在GameModeC++类里完成这个功能比较好。头文件里完成“任务完成”函数的声明然后在源文件中完成实际的实现void AMyProject2GameMode::completeMISSion(APawn * character0,bool biscompleted){ if (character0) { //角色脱离控制 character0->DisableI...

2021-09-20 15:40:10 291

原创 虚幻蓝图实现带重力惯性的可升降电梯

需要在电梯类里先创建一个“电梯重力”的函数。函数非常简单,直接设置Actor相对位置即可。再回到电梯类里,给电梯附加一个触发盒子,用触发盒子来触发电梯的一系列运动。这里要用到一个重要的节点叫时间轴。这是一个可以动态模拟运动过程的几点。ALPH节点就是电梯重力的运动时间状态。触发盒子完成后,为了增加合理性和可控性,我们设置按键E来自由控制电梯上下。这里需要用到一个Gate节点,这个节点像门一样的作用,可以自由开关,控制数据的流入和关闭。而Filp FLOP...

2021-09-20 15:19:49 313 1

原创 虚幻蓝图实现第一和第三视角切换

第三视角第一视角为了方便转换视角,需要先创建一个枚举,这个枚举包括了FirstPerson和ThirdPerson,枚举名叫toogleview。视角切换应该按照喜欢,在输入面板设定一个按键来进行切换,这里取V键切换具体实现的蓝图,我们应该写在character类里,当然也可以卸载controller类。为了方便调用,我们创建一个toogleview函数。可以看到,切换视角所使用的两个关键节点,一个是不同视角的camera的停用节点,一个就是激活节点。t...

2021-09-20 14:06:47 636

原创 虚幻蓝图里使用接口

用蓝图接口来实现一个捡东西然后销毁的功能。首先需要创建一个接口,叫pickable。接口里不用写任何东西。然后再去对应的item类里,写销毁的方法。其中food类是所有食物类的父类,我们直接写的父类中,那样其他比如bread和meat这些子类就会继承父类里的接口类。food类里执行的接口函数很简单,就是接收到通知后直接销毁,然后打印一句“我被捡起来了”然后再去character类里分发接口通知。character类里自定义个一个时间,即通知执行接口。...

2021-09-20 13:07:18 430

原创 虚幻4蓝图实现昼夜交替

通过控制定向光源和sunlight来实现昼夜交替,其中通过旋转定向光源的Y轴可改变光影的效果达到白天和黑夜的交替。首先创建一个globaltimer类,通过这个类定义我们的一天的时长。其中secondperday这个浮点变量就是我们设定的一天的时长。为了方便测试,现在先设定一天的时长为10秒。而对应的,sunlight就是对应场景里的定向光源,sun对应的是spherelight,skylight对应的就是场景中的天光,为了能获得场景里的对应对象,需要把旁边的小眼睛给点开。...

2021-09-20 12:42:47 486

原创 虚幻4C++实现类似黑洞的效果

如图所示的效果,场中的物体会被吸附到黑球上,然后会被黑球所销毁。OK,直接开始。先根据Actor类为父类创建一个新的blackhole的C++类。这个黑球需要一个staticmesh组件,和两个spherecomponent,一个是内部触发球,一个是外部触发球,内部触发球的作用是销毁所有和它重叠的物体,外部触发球的作用是给开了模拟物理的物体,施加一个面向黑球的径向力,让他们能飞到黑球旁边。照例头文件声明//这是提前声明class UStaticMeshComponent;cl...

2021-09-20 01:24:13 221

原创 虚幻4C++实现人物的基本操作逻辑

用C++实现基本的鼠标控制摄像头上下左右旋转,键盘控制角色上下左右移动。在此之前需要在输入面板创建对应的轴映射和动作映射按照常规游戏的操作习惯设置,需要注意的是,映射的方法名需要输入准确。设置完成后,以character为父类,创建一个新的C++类,为什么要用character作为父类,而不是pawn呢?因为character类有自带的charactermovement组件,这个组件是角色移动的必须组件,而pawn类是不具备这个组件的,所以选择character为父类创建我们的C++类。.

2021-09-20 00:51:12 653

原创 虚幻4C++构造函数初始化属性

虚幻C++里使用构造函数进行属性的初始化,前提是要在.h文件,即头文件中声明一个构造函数声明完成后,再在.cpp文件中完成各类属性的初始化,跟常规的C++写法是一致的。根据C++的常规写法,头文件声明完后,就在.cpp文件中进行定义。//包含一个头文件#include "MyGameplayAbilitynfo.h"//无参构造函数的定义FGameplayAbilityInfo::FGameplayAbilityInfo(): CoolDown(0.0f), Cost(0...

2021-09-19 19:48:07 484

原创 用虚幻4C++使用结构体和枚举

虚幻4C++和日常使用的C++差别很大,里面众多的类型和方法都被虚幻官方给重写了,甚至称之为U++亦不为过,这里记录一些如何用UE4C++来实现引擎里的结构体和枚举的创建。用结构体来创建角色的各种信息是常见的操作,但这里我想创建一个技能的详细信息,包括技能的消耗,技能的类型,技能的伤害,技能的等级,技能的CD等等...

2021-09-19 19:39:13 893

空空如也

空空如也

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

TA关注的人

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