- 博客(31)
- 收藏
- 关注
原创 UE4C++UDP通信
关于Udp的接收,可以使用线程与非线程的方式。该语句的作用就是开辟一个线程用于监听Udp数据,具体实现已经由UE4底层封装好,不必深究。如果采用线程进行数据接收的监听,则需注意,线程中不能调用删除actor,object的相关事件,因为对于线程而言,多线程通信进行修改操作会导致线程奔溃的。区别在于,由于不是线程,所以datarecv函数是单次触发,即调用一次,就检查有没有接收到数据,因此需要放到tick事件中。如果使用线程,则参照上图,调用start函数,然后创建事件绑定,当接收到数据时便会触发事件。
2023-04-11 15:11:38
2383
原创 UE4SuggestProjectileVelocity_CustomArc
UE4SuggestProjectileVelocity_CustomArc结点代码解读
2022-08-09 21:29:00
1042
原创 UE4相机震动(非CameraShake)
UE4相机震动(非CameraShake)最近有个相机画面震动的需求,为了增加游戏的打击感。然后查阅了相关资料后发现大多数的相机震动采用CameraShake的形式,但是这个类是通过playercontroller记性控制,而在普通的相机中不能应用,因此就想通过其他方式实现。(如若有普通相机可以使用CameraShake的方法还多指教!!)需求采用非CameraShake的形式实现相机震动。设计使用timeline控制相机的移动。具体思路类似于将相机向上移动一段距离然后再向下移动一段距离归位,通过
2022-05-30 11:05:07
960
原创 UE4简易QTE
UE4简易QTE在游戏中会时不时碰到QTE的操作,类似于触发了某段剧情后,弹出一个UI,必须在规定时间内点击指定按键才能完成QTE。之前也有看到网上有教程,但是觉得挺复杂的,就自己想了一个比较简单的逻辑实现了一下效果。借此分享,欢迎大家交流。需求因为是简易的QTE,所以大概的效果就是,按键触发 qte,然后弹出一个UI,UI只包含一个进度条,当进度条减到一定范围,按下特定的键位表示 qte成功。设计主要采用的蓝图结点为:set custom time dilation(如下图) 这是一个类似于设置
2022-04-30 11:00:39
1201
原创 UE4动画蒙太奇位移
UE4蒙太奇位移我们在使用蒙太奇的时候有时候会遇到一些带有根骨骼动画的蒙太奇,里面的角色是存在位移的。那么此时就可能会出现有一种需求,如何去控制这个位移的距离,让这个蒙太奇最终落下的位置可以自由决定。需求最近在做一款回合制游戏,里面的一个技能蒙太奇是带根骨骼位移的。然后我就在想,怎么能让这个角色使用这个蒙太奇的时候,也就是使用这个技能的时候,最终落下的位置是到攻击的对象上面。蒙太奇如下:设计仔细研究了一下,蒙太奇里面的这个根骨骼的位移好像是固定的。不能够在蓝图外更改(只是我个人理解,如果有大佬有
2022-04-28 17:45:48
4866
2
原创 UE4材质编辑器SpeedByScale大小随速度
UE4材质编辑器SpeedByScale大小随速度最近在学习粒子特效,学的是系统的粒子编辑器,非Niagra,然后遇到了这个速度随大小的属性设置。一开始没有理解,后来自己测试了一下。理解如下理解:整个的作用就是让粒子的大小随着速度变化而变化,速度越大尺寸越大。其中的最大缩放决定了缩放的最大比例,而速度缩放则决定了缩放的速度,例如如果下面的最大缩放为5,而上面的速度缩放为0.5,则表示只需要0.5秒就可以从原来的大小变成5倍而当速度缩放为0时相当于没有缩放。可以看看效果,这是速度缩放为0.1的:
2022-01-21 09:49:15
2901
原创 UE4雷达图(纯蓝图)
UE4雷达图(纯蓝图)前言:之前收到一个需求说要用UE4做一个雷达图,来表示游戏角色的属性,然后去B站上面找了一下,找到了一个Up主做的视频,用的是纯蓝图,没有用嵌入网页,所以跟Up主要了工程,研究了一下它的雷达图代码,觉得Up主的思路真的特别的强!!所以就写此文章讲解。up视频链接:UE4图表(纯蓝图)其实实现雷达图,最头疼的地方就在于如何确定雷达图上的点的位置。至于啥是雷达图,举个栗子:简单来讲,就是根据数值的大小,决定在对应的线上的点的位置,点离图中心的距离长短决定了该点的数值与雷达图所表示
2021-10-12 11:06:20
1926
5
原创 UE4鼠标点击选择
UE4鼠标点击选择最近想做一个鼠标选择高亮的功能,就想到去做一下UE4的鼠标点击选择功能。首先是要在playercontroller里面勾选鼠标点击事件:之后再根据想要的检测方式进行设置:如果是想用胶囊体检测鼠标点击这个事件的话,就得先设置将囊体的碰撞,把visibility勾选block然后再调用胶囊体的点击事件即可响应鼠标点击。如果是想用mesh来响应鼠标点击的话,那就得将mesh的碰撞类型改成UI:之后也是再调用mesh的oncliked事件便可以响应。但是经过测试,发现如
2021-07-31 15:25:38
1962
1
原创 UE4爬墙系统(五)
UE4爬墙系统(五)click以及动画蓝图已经结束本篇补充一些设置:操作映射:玩家characterMovement组件一些设置:基本的爬墙就实现了。之后我会继续学习然后看有没有新的爬墙系统的实现思路再做这个系列的更新。...
2021-07-28 15:25:00
502
原创 UE4爬墙系统(四)click检测3
UE4爬墙系统(四)click检测3补充首先对上一篇里面有一部分函数没有放蓝图进行补充:eventtick回到最开始的EventTick结点前三篇只讲到了climbingtick结点,接下来继续分析后面的逻辑。整体来讲就是:设置攀爬的方向ClimbingDirection传入动画蓝图。这个rotationfromXVector我自己测试后的结果感觉就是(1,0,0)这个方向旋转到你输入的那个向量的方向的pitch yaw roll 值。然后如果处于攀爬状态就设置旋转然后给玩家一
2021-07-27 16:16:38
291
原创 UE4爬墙系统(三)click检测2
UE4爬墙系统(三)click检测2上篇讲到了不是攀爬状态的时候的检测,这次将当玩家处于攀爬状态的时候地检测。可以理解为当玩家处于攀爬状态的时候,也需要实时检测ObstacleLocation ObstacleEndLocation这些状态来确定旋转以及移动。检测的逻辑跟上篇的基本差不多,这里不再赘述,直接上蓝图。其中INT Change Climbing Posture是在动画蓝图里面的事件,之后会专门写动画蓝图的部分再介绍。至于Gate的函数以及Gate的用法这里不介绍。这个Open
2021-07-26 22:41:32
346
原创 UE4爬墙系统(二)click检测1
UE4爬墙系统(二)click检测1现在来看看在tick下面的climbingtick函数:前半部分的这个getallactorwithtag可以理解为从场景中找出标签为NoClimbing的actor就是找到不能被攀爬的物体然后存储起来由于感觉内容有点多,所以这次就先将isclimbing为false的情况(就是还未进入攀爬状态,角色还处于普通移动时,主要逻辑为检测前方的物体是否适合攀爬)首先这个MakehappenOnce的宏,我一开始看Up主的视频的时候觉得蛮复杂的,只是跟着做了,后来仔
2021-07-24 17:44:10
547
原创 UE4攀爬系统(一)
UE4攀爬系统参考教程:https://www.bilibili.com/video/BV1yb4y1o7BY?share_source=copy_webUE4攀爬系统最近突然看到一个UP主在做一个攀爬系统的教程,我觉得看完了调试了一下还阔以,就打算更新一个系列,去讲一下大概这个Up主的思路大概是什么样子的。希望能帮助到那些看视频学习只能学到操作但是不太清楚原理是什么样的UE4同好们。首先直接看人物蓝图的tick。今天就先看find climbing rotation 这个函数。看名字应该都猜的到该
2021-07-23 06:56:35
1353
1
原创 关于UE4瞄准偏移会遇到的问题
关于UE4瞄准偏移会遇到的问题:这两天在做瞄准偏移,看了挺多博客还有B站的视频,然后发现还是会有一些BUG,然后自己去试着做了一下,发现有些东西得设置一下。制作瞄准偏移参考的文章:瞄准偏移1在人物蓝图里面的self下的Pawn->Use Controller Rotation Yaw 要关掉。2在Character Movement下的Charater Movement(Rotation Settings),把Use Controller Desired Rotation Orien
2021-07-14 08:48:41
1577
原创 UE4鼠标滚轮控制镜头缩放
蓝图:因为其实实现起来比较简单,所以直接上蓝图:主要是用到了UE4的鼠标滚轮操作映射,每当滑动鼠标滚轮的时候就会传出一个数值,有正有负有0,然后将角色的相机摇臂组件拖进蓝图,获取其中的Target Arm Length变量加上一个数值再重新设置该变量就能改变摄像机距离玩家的远近实现镜头拉近拉远的效果了。...
2021-07-01 09:07:21
5236
3
原创 2021-06-30
UE4第三人称移动(注意事项)关于转向:勾选:Orient Rotation to movement:在charactormovment 组件下面勾选此项:该项的意思为:让胶囊体跟随着旋转来旋转。如果写了键盘WASD的映射的话,勾选此项,就可以让小白人按下WASD后模型也跟着转向注意:勾选后要取消勾选self下面的这个结点:否则小白人永远都会背面朝向镜头鼠标转向:勾选相机摇臂写的该选项:意思是让摄像机跟随着鼠标的旋转而旋转。先更到这里,以后在遇到问题会继续更新的啦!!!...
2021-06-30 19:33:36
206
原创 UI固定位置生成
UE4生成固定位置UI功能介绍:工程:横版功能:玩家经过一个Actor后屏幕生成一个UI但是该UI的位置固定在Actor的位置上,不会随着玩家镜头的移动而移动功能实现:首先需要一个Actor和UI:UI如下:首先在主Panel下面再建一个Panel,锚点位置定在左上角然后大小自由调整,绑定一个image做调试Actor逻辑首先Actor绑定一个碰撞盒子,发生碰撞的时候生成UI,并存储为变量然后再Tick事件下执行如上逻辑。该逻辑的主要作用是获取Actor的世界位置,然后通过控制
2021-06-30 17:56:20
689
2
原创 UE4拖拽UI
前言最近做开发,想到一个拖拽UI的功能,就去网上找了教程试一下,然后发现了一个挺有意思的现象。话不多说,直接上图。首先一共有四个UI,HUD是主的UI(用来放置Chest和inventory两个UI)。然后chest和inventory两个UI为类似背包的UI。大概就是这个样子。然后最后的singleitem就是我们要移动的UI啦。运行的效果大概就是这个样子。我做的功能是要把singleitem从左边的UI移动到右边的UI(遗产)里面。拖拽功能实现重载函数。首先要实现拖拽,要重载
2021-04-17 16:20:36
3165
1
原创 UE4设置暂停时继续响应输入
UE4设置暂停时继续响应输入有时候我们在创建一个暂停界面的时候想让游戏暂停,但是又想用按键退出暂停界面,比如说按ESE打开暂停界面,又想再按ESE继续游戏。自己看了一下B站一些厉害的Up主做的视频,大概会是这样做但是如果这样做,就会出现问题,如果我想再按一次ESE再执行别的操作,就会出现问题。我自己调试了一下,发现是那个设置输入模式为UI的结点的问题提。好像只要这个结点在,就无法响应别的键盘输入。所以比如想要做出再按一次ESE退出的时候,我们可以这么做:1.首先要对ESE输入这个结点做设置:点击
2021-03-22 15:26:54
2873
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人