- 博客(261)
- 资源 (13)
- 收藏
- 关注
原创 UE5 鼠标点击一个物体触发Onclick事件
4 选中根物体,在他的右侧细节面板里,最下边,注册点击事件,这里已经注册了,但是不知道为什么显示为没有注册。1 首先新建一个GameMode,我们需要手动指定玩家控制器,将自己的gameMode添加到世界场景。有没有boxcollison都可以,重要的是,必须把要用来触发的物体,的碰撞设置为blackall。2 新建一个玩家控制器,在鼠标接口里勾选显示鼠标和启用点击事件。然后把这个玩家控制器,指定为gamemode要用的控制器。3 新建一个actor蓝图,用来点被点击的物体。
2025-04-22 14:15:52
230
原创 UE5 自带的视频播放器
创建一个新的蓝图类,父类为Actor,命名为MediaSound,添加一个媒体音效组件,为他的配体设置为要发生的媒体播放器。直接把视频拖进来,注意这种方法也不会在虚幻中保留视频的副本,视频依然会被保存在原来的位置,虚幻只是记录了视频的地址。这将自动生成一个纹理,这个纹理是受光照影响的,如果想要不受光照影响,可以将材质球改为无光照模式,并设置自发光颜色。会提要不要自动创建一个媒体纹理,创建即可,创建完成后,会有这么两个东西,一个是播放器,一个是媒体纹理。双击打开的媒体文件,在细节里制定视频的路径。
2025-04-17 14:16:50
633
原创 UE5 设置物体的位置
UE的位置设置和untiy不同,UE的对象分为根物体和组件,他们的设置方法不同。可以直接当作Actor处理,设置它的世界位置。
2025-04-16 11:32:50
269
原创 ue 5.1.1打包错误汇总
禁用后第一次可以正确打包,但是再次打包就会错误,神奇的是,如果再次启用并重启,以后打包就正确了。也不是完全不行,十次里能有一次打出来,但是程序可能有异常,比如我的视频没有正常播放。更高级的UE虽然也启用了这两个插件,但没有类似的问题,建议直接用更高级的版本。考虑是缓存的问题,删除工程里的缓存文件后,问题再次出现。原因是启用了这两个插件,应该禁用,禁用后重启。
2025-04-16 11:21:03
174
原创 UE5 检测球形范围的所有Actor
然后直接把sphere拖入蓝图,调用GetOverlappingActors来获取碰撞范围内的所有Actor。首选确保角色添加了Sphere Collision。和Untiiy不同,不需要复杂的调用。
2025-04-15 10:35:12
262
原创 UE5 物理模拟 与 触发检测
但是这样又会导致根物体没有网格,进而开启物理模拟无效,方案是拖入一个非常小的网格,新建一个盒体笔刷,大小调到0.1,然后点击创建静态网格体,生成一个smallcube,将这个smallcube设置为武器基类的root静态网格体的网格,这样就可以激活物理模拟。对于枪械,他的网格体可能时静态网格体,也可能时骨骼网格体,如果简单的把某一种网格体作为跟节点,会导致另一个网格体不被支持。一旦开启物理模拟,会导致网格体和根物体分离,虽然还是一个物体,但选中网格时,根物体会保持在分离前的位置不再移动。
2025-04-14 17:13:23
431
原创 UE5 设置父物体和解除父子关系(移除子物体)
Acotor类似于untiy的object+transfrom,可以用来进行父子操作。Actor attach to Actor节点。
2025-04-14 15:41:49
219
原创 UE5 在UE中创建骨骼动画
打开一段动画,切换到骨骼树,选中一个骨骼,直接进行旋转,然后将进度条拖到想要的帧,点击+关键帧。打开一个已有的动画,左上角“创建资产/创建动画/参考姿势”打开一个已有的动画,左上角“创建资产/创建动画/当前姿势”这将创建一个和当前动画帧姿势一样的骨骼,不建议这么做。这将创建一个默认的A字形的骨骼,不建议这么做。直接在资产栏里复制一个动画,推荐这么做。务必点击+关键帧来保存关键帧。
2025-04-11 15:24:15
407
原创 UE5 后坐力枪口上抬和恢复
在玩家蓝图里,声明一个方法OnShootOnce,在武器每次射击时调用。需要注意的是,这样后坐力是没有插值的,开枪后将瞬间往上抬。1检测新的后坐力是否超过了最大后坐力,并选择一个小的。最后记录一下当前的后坐力。在角色的每帧事件里调用。
2025-04-10 15:40:16
401
原创 UE5 运行时动态将玩家手部模型设置为相机的子物体
但是为了使用方便,我们希望将网格体设置为相机的子物体,这样我们直接旋转相机就可以旋转网格体,可以在运行时动态设置,在角色蓝图里编写如下方法。在编辑器里,我们虽然可以手动添加相机,但是无法将网格体设置为相机的子物体,只能将相机设置为网格体的子物体。在beginplay里调用。
2025-04-10 15:29:13
413
原创 UE5 添加随机弹道
需要注意的是,这里的弧长并不真正的圆的弧长,因为显然他是一个直线,不是弧线,所以我们获得的弧度只是一个近似值。我们最后的计算结果,是让子弹在射程的最大值时,落在二倍弧长的这个范围内,范围是一个圆形。我们一直都是直接拿玩家摄像头的正前方当作子弹发射方向,这样弹道将是固定的直线。现在我们需要添加一些随机的偏移,注意这不是让枪口上跳的后坐力,只是弹道的偏移。如下图,弹着点不再击中在准星中间。
2025-04-10 14:24:52
283
原创 UE5 准星的移动 代码移动UI,Lerp插值计算
声明一个InitPositin函数,计算各条线移动到最远处位置的坐标,看着函数复杂,其实每条线的逻辑是相似的。在控件里添加一个ChangePosition函数,编写如下节点,看似复杂,但是可以分为1和2两个区域。2 使用自己定义的插值方法对Vector2d进行插值,然后设置图片的位置。因为要用玩家的速度来计算准星的移动距离,所以需要获取玩家的引用。1 获取一个玩家当前速度和武器速度最高速度的比例,作为插值。UE没有自带的Vector2插值函数,我们可以自己做一个。如下制作一个准星,注意物体的命名。
2025-04-10 12:06:43
318
原创 UE5 使用贴花创建弹孔
Shooter里的GetShootDirection:直接返回相机的旋转。GetShootDirection:获取射击终点时,获取射击方向。在位置处生成贴花:Spawn Decal at location。computeShootEndPosition:获取射击终点。GetShootStartPosition:获取射击起点。和untiy一样,发射一条射线,在命中点处创建弹孔。GenerateTrace:生成一个贴花。如果击中了什么东西,创建一个贴花。以下是对上边使用的方法的展开。在武器里定义射击检测方法。
2025-04-10 10:24:05
254
原创 UE5 给函数分类
其他函数可以直接拖进类别里,不用每个函数都手动设置类别。如果函数太多不方便找,我们可以给函数设置一个分组。然后在函数列表里可以看到分好的类。选中一个函数,修改它的类别。一次只能拖动一个函数。
2025-04-09 12:01:45
243
原创 UE5 本地化
使用“设置当前语系 set current culture”或者“设置当前语言”节点均可,只需要把语言的名字写入即可,语言的名字是ue规定好的,en英文 zh中文。en是英文,zh是中文,不用是zh-hans,语言的缩写可以使用上方导入导出的导出按钮,查看导出的文件的名字。UE5可以自动帮我们收集需要显示的文本,也就是UI中使用“文本”类型赋值过的地方。先设置好首选语言,如上图中的中文,然后点击收集文本。再打开一次翻译面板,可以在已完成里看到翻译后的文本。收集文本收集的是使用“文本”类型变量的地方,如下。
2025-04-08 14:42:55
427
原创 UE5 蓝图里的声音
衰减:勾选允许空间化,然后勾选重载衰减,在衰减(音量)里启用音量衰减,并设置返回,其余的衰减暂时不知道有什么用。在UI动画中添加一个音频轨道,然后点击+号选择需要的声音即可。双击音频,打开音频设置,勾选Looping。一个是从某个位置播放,有衰减。一个是播放没有衰减的2D音效。不衰减:取消勾选允许空间化。音频可以直接拖拽到场景里。
2025-04-08 10:05:24
320
原创 UE5 蓝图里的反射
使用SetTimerByFunctionName节点即可,该节点是指延后多少时间调用函数,注意时间不能是0也不能是负数,否者不会执行。蓝图支持使用名字调用函数。
2025-04-07 18:19:36
315
原创 UE5学习笔记 FPS游戏制作44 统一UI大小 sizeBox
然后在菜单面板上拖入标题控件,勾选SizeToContent,即可保证所有的标题大小一致。如果我们希望多个类似的UI大小一样,例如不同菜单的标题,可以使用sizeBox组件。如果需要查看效果,可以将画布模式改为desired。我们在标题控件上,用sizeBox包裹所有子物体。然后指定他的最小宽高。
2025-04-07 14:57:25
375
原创 UE5学习笔记 FPS游戏制作43 UI材质
在内容浏览器里找到要用的图片,然后向上拖动到材质标题,此时会自动进入材质面板,然后再将图片拖入材质面板。使用cheapContrast可以直接把彩色图片转为灰色,参数是变灰的程度。和普通图片一样使用,直接在要放图的地方搜索材质名即可。左侧细节栏,材质域改为用户界面,混合模式改为半透明。此时输出节点应该有两个属性。
2025-04-07 10:38:21
327
原创 UE5学习笔记 FPS游戏制作42 按钮添加回调函数
创建另一个UI控件,在里边拖入上边创建的控件A,命名为NewGameButton,然后注册OnClick回调事件。选中Button,为button的Onclick事件注册,执行我们上边定义的对外的Onclick回调事件。但是如果我们使用了自己定义的控件,由于控件里的变量不会暴露,就不能再手动绑定事件。正常情况下,我们直接点击按钮的变量,然后选则Onclick事件,绑定即可。此时需要使用回调函数,保证自定义控件的button依然能触发逻辑。打开事件图表,在事件分发器里,声明一个事件。
2025-04-03 18:03:21
325
原创 UE5学习笔记 FPS游戏制作40 制作鼠标移入UI显示提示背景色的效果
再添加一个命名的插槽,并且拉伸到最大,这个东西是为了放别的东西,例如文本框,如果不用这个插槽,那么文本只能和MouseOver同处于一个Overlay下,但是这样text会挡住MouseOver,会导致鼠标移入text时,MouseOver错误的响应鼠标移除事件,所以只能把Text作为子物体放进ContentSlot里,如果需要多个子物体,就在ContentSlot里放一个Overlay。为Image设置图片,然后将图片显示模式设置为盒体,并设置边界,设置颜色为不透明,注意不要设置“着色”属性。
2025-04-03 16:58:38
417
原创 UE5学习笔记 FPS游戏制作41 世界模式显示UI
在事件图表里添加如下,创建一个UI控件,并赋值到控件组件。创建一个控件A,添加一个Image和一个Text。通过调整绘制大小来调整UI的大小。
2025-04-03 16:38:37
339
原创 UE5学习笔记 FPS游戏制作39 制作一个带有背景的预制面板 使用overlay和nameSlot
当ContenSlot的子元素是text时,很可能需要居中对齐这个功能,但是ue的text本身不支持居中对齐,我们只能通过让父物体居中对齐来实现text的居中对齐。在预构造事件里添加如下节点,注意这个“插槽”根据父容器不同,具体类型会不同,这里可以修改对齐方式是因为父容器“覆层”的插槽里有对齐方式的属性。将BGPanel拖入,然后将显示的内容拖入slot里,注意contentSlot里可以是任何元素,不一定是text。这样子,当把BGPanel拖到别的控件里时,就可以在默认栏里,设置图片的样式。
2025-04-03 11:40:22
407
原创 UE5学习笔记 FPS游戏制作38 继承标准UI
和Untiy有onGui和UGui类似,UE有slateUI和UMG,slateUI是早期只能用C++编写的UI,UMG是现在使用的,可以拖拽编辑的UI。我们编写一个控件蓝图A,然后再编写一个控件蓝图B,B继承A,虽然B里可以看到A的元素,但是不能修改,面板上和事件的变量里都无法对父控件的变量进行操作。标准控件是指UE提供的控件,例如button,text等。标准控件将被显示在“通用”栏里,而不是“用户控件”里。显示的是一个蓝图类,而不是普通控件的“控件蓝图”不能重写任何已有的函数,但是可以扩展新函数。
2025-04-03 09:46:17
387
原创 UE5学习笔记 FPS游戏制作37 蓝图函数库 自己定义公共方法
蓝图函数库也是一种蓝图,我们可以把公共的方法定义在这里,并且在别的蓝图里不需要引用,直接调用适合存放一些要经常复用的工具函数。
2025-04-02 17:32:51
368
2
原创 UE5学习笔记 FPS游戏制作36 打包游戏
项目设置/打包 packing/打包/高级/打包版本中要包括的地图列表 List of maps to include in a packaged build。在里边添加要打包的地图文件,否则只打包当前所在的地图。不要用这个,打出来总是有错误,DH009是电脑的名字。正式版应该改为发行,可以提高运行速度。下边是游戏运行时默认打开的地图。上边是编辑器打开时的默认地图。项目设置/地图和模式。注意格式只能时BMP。
2025-04-02 16:23:25
477
原创 UE5学习笔记 FPS游戏制作36 UI动画
点击动画,添加一段动画,然后点击动画,选择创建轨道,弹出来的框里选择TextTip,这样就可以为TextTip创建一个轨道。虽然直接在属性面板直接点击创建关键帧也能创建关键帧,但是我没有办法修改位置,修改后无法让位置生效,所以直接在这里用变换轨道。点击动画,添加一段动画,然后点击动画,选择创建轨道,弹出来的框里选择TextTip,这样就可以为TextTip创建一个轨道。虽然直接在属性面板直接点击创建关键帧也能创建关键帧,但是我没有办法修改位置,修改后无法让位置生效,所以直接在这里用变换轨道。
2025-04-02 15:01:12
404
原创 UE5学习笔记 FPS游戏制作35 使用.csv配置文件
然后使用“获得数据表格行 Get Datatable Row Map”节点,根据行名在数据表里查找对应的行,返回这一行的结构体。行这一列显示的就是配置文件里第一列的名字,可以是string,不一定是数字,在ue4里这里是不显示的。结构体的变量名要和配置文件里的一样,且不需要预留第一列的名字,第一列会被自动处理。最后使用组合框的“添加选项 Add Option”节点向组合框里添加项目。将配置文件拖入,会让我们选择导入的格式和对应的结构体。使用“中断 Break”结构体,获取里边的名字。
2025-04-01 15:19:20
480
原创 UE5学习笔记 FPS游戏制作34 虚幻中的结构体
使用结构体对象的set members 节点。虚幻5的结构体是一种特殊的蓝图。使用结构体对象的break节点。右键蓝图/结构 没有父类。
2025-03-31 17:21:38
147
原创 UE5学习笔记 FPS游戏制作33 游戏保存
此时运行,程序直接打开ui,点击读取按钮,会创建或读取存档文件,点击+1计数+1,点击保存,会保存按钮。创建一个新的蓝图类,父类为SaveGame,命名为SaveGameData,这是专门用来保存游戏的类。UE自己有保存游戏的功能,核心节点,类似于json操作,需要一个数据类的对象来进行保存和读取。添加一个变量用来模拟记录的数据,我们要做的是点一下UI的+1按钮,这个数值+1。为计数+1按钮绑定事件:将SaveGameData里的数据自增。为加载按钮绑定事件(点击加载按钮的引用,最下边有事件)
2025-03-31 17:17:23
420
原创 ue5 学习笔记 FPS游戏制作35 GameMode与GameInstance
生命周期跟随关卡,关卡销毁GameMode也跟随销毁内部可以定义属性和方法生命周期跟随游戏窗口,游戏运行一次只有一个实例内部可以定义属性和方法。
2025-03-31 15:25:54
358
原创 UE5学习笔记 FPS游戏制作34 触发器切换关卡
5 为staticMesh添加一个shperecollision,调整大小,确保范围比staticmesh的范围大。4 将staticMesh晚上拖到和他的父物体身上,这将会取代原来的父物体,让staticmesh成为最高子级,这样子,当我们按下end对齐地面时,将按照staticmesh的网格进行对齐。2 为portal添加一个staticMesh,选择一个cube作为网格,如果看不见cube,可以点击网格下拉框,点击下拉框右侧的齿轮,选择显示引擎内容,就能看到cube了。
2025-03-31 11:55:21
270
原创 UE5学习笔记 FPS游戏制作33 换子弹 动画事件
在通知一栏新增一个轨道,右键轨道,新增一个 换枪完成 通知,不同动画的同名通知需要再新建一次,但是需要注册一次。为Rifle和Launcher各自新建一个动画蒙太奇,拖入动画,注意动画的轨道要和动画蓝图里的一致。Rifle里的方法,播放换枪动画,Launcher里只有播放的蒙太奇不同,其他一样。在Gun里添加一个Reload方法,在Rifle和Launcher里重写这个方法。打开动画蓝图,在事件列表里,输入事件的名字,创建事件节点来注册事件。在Gun里,补满子弹。
2025-03-28 18:18:11
374
原创 UE5学习笔记 FPS游戏制作32 主菜单,暂停游戏,显示鼠标指针
在FppShooter的事件图表里,按B键打开,esc键会退出游戏。这里不需要存MainUI引用,因为MainUI面板自己有关闭按钮。选择按钮,右侧属性面板,最下边有绑定按钮,点击为按钮绑定事件。添加一个返回游戏的按钮和一个退出游戏的按钮。在MainUI的构造事件(不是构造函数)里。直接输入“键盘B”来创建B节点。添加一个MainUi的控件。修改一下样式,放中间。
2025-03-28 16:38:57
437
原创 UE5学习笔记 FPS游戏制作31 显示计分板
原来我们在显示击杀信息里,根据角色是否和玩家是同一个队伍,为文本框设置了不同的颜色,现在计分板里也需要这个功能,但是Fpp_ui和RankPanel是两个不同的蓝图类,要复用方法,我们需要将其提升为公共方法。新建一个RankRow的UI蓝图,添加一个水平框和三个文本框,水平框的大小不需要调整,因为他会作为子项插入RankPanel里,到时候大小由内容控制。添加队伍,杀敌数,死亡数和名字,将他们设置为构造参数,构造参数只能一个一个设置。水平框里的文字,三个是一样的,名字文本框的填充比例是2。
2025-03-28 16:03:32
522
可以播放超过8K视频资源的解码器
2024-04-26
unity 拉取海康威视网络摄像头画面所需的dll和脚本
2023-08-09
Unity 保存网络摄像头视频到本地
2023-02-20
Untiy 手写板 屏幕截图 文字识别源码
2022-09-09
untiy高亮插件 hightlightingsystem
2022-08-24
untiy webgl输入中文和复制粘贴 使用方法见https://blog.csdn.net/weixin_44568736/
2022-08-10
unity 单例父类 基本上涵盖了各种可能的单例
2022-07-20
适用于Unity WebGL的JsonNet,普通的JsonNet是不能运行在webgl上的
2022-07-01
windows烧写TF工具
2022-06-28
untiy操作json,比unity自带的jsonUtils好用多了
2022-05-06
FreeLookCam.rar
2022-03-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人