![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
游戏开发
文章平均质量分 59
Tanzq-blog
这个作者很懒,什么都没留下…
展开
-
【UE4】动画蓝图实例中的 Machine Weight 的值什么时候为1?
问题动画蓝图实例中的 Machine Weight 的值什么时候为1?解决过程在Main Movement States 中嵌套着 Main Grounded States。所以可以通过前者的变化来判断后者的权重。添加一个状态,便于调试:运行测试结论如果将目前这个状态机按照树的方式理解的话,就是子节点100%并不代表父节点必100%。状态上面的百分率变化是相对于当前的状态机来计算的,而Machine Weight是相对整个动画来计算的,等于1即整个动画的变化过程都在该状态机中。..原创 2021-11-15 07:51:37 · 543 阅读 · 0 评论 -
【UE4】移动文件时,文件残留问题
现象明明已经将文件都移动过去了,但是还是有文件在这里,而且里面啥也没有。可能有些朋友看到这个就直接删除了,然后接下来可能会遇到一系列的报错。。。。报错原因打开残留的文件夹,按照下图进行操作:你会发现,这里面并不是什么都没有的,还会有一些重定向器,它告诉引擎,这个东西之前在这里,但是现在不在这里,已经转移到其他地方去了。这些东西实际上是没有多大用处的而且还占内存,但是如果你删除了,引擎就找不到了,就会产生一些错误。所以在删除这个文件夹之前要把这些重定向的文件给修复了。解决方案右击Cont原创 2021-11-03 20:17:46 · 2498 阅读 · 1 评论 -
【UE4】动画过渡条件中 BlendSettings面板解释
信息来源Engine\Source\Editor\AnimGraph\Private\AnimStateTransitionNode.h原创 2021-10-28 14:14:57 · 629 阅读 · 0 评论 -
【UE4 数学知识】3D旋转
右手定则将右手以上图方式摆放。食指方向为X轴,中指方向为Y轴,大拇指方向为Z轴。绕食指进行旋转所形成的方向称为Roll。(可记忆成食指画O为Roll)。绕中指进行旋转所形成的方向称为Pitch。(小时候玩的溜溜球就是挂在中指上然后抛出去,记忆成抛(Pitch))。绕大拇指进行旋转所形成的方向成为Yaw。(大拇指在旋转也就是在摇(Yaw))。...原创 2021-10-17 21:03:45 · 314 阅读 · 0 评论 -
【UE4 C++】BUG --- 细节面板不会显示内容
BUG 现象解决方法换个名字试试。原创 2021-10-16 19:23:48 · 1408 阅读 · 3 评论 -
【UE4 C++】如何使用C++接口
前言我知道这个概念的时候,很不理解接口的作用,感觉是多此一举,既然知道是这个类,直接调用不就好了,还转换到接口,这不是没事找事做嘛?冲浪询问之后总结了以下几个使用接口的理由:UE4 C++只能有一个父类,所以可以用接口来实现多个父类的效果,提高的代码的重用性和鲁棒性。不需要知道它具体是怎么实现的,只需要知道他有这个功能就行了,这比父类来说功能更具有优势。接口的使用提高了代码的可维护性和可扩展性。降低了代码的耦合度。如果只有一个类中对此接口有需求的话还是没必要使用接口。创建一个接口类在原创 2021-10-14 19:33:54 · 2508 阅读 · 0 评论 -
【UE4 C++】为角色添加血条组件并动态变化。
添加UI血条组件UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="XXXX")UWidgetComponent* Widget;// 在初始化完组件之后调用virtual void PostInitializeComponents() override;// HpBarWidget 使用进度条来代表血条的变化。UPROPERTY()UProgressBar* HPBarProgress;对组件进行初始化及调用构造函数原创 2021-10-14 07:21:44 · 1068 阅读 · 0 评论 -
【UE4 材质】圆角按钮材质
效果材质制作如何使用创建材质实例在UI的Border中加载即可。原创 2021-10-02 10:52:35 · 1564 阅读 · 2 评论 -
【UE4 C++】 配置多语言游戏
效果展示英文版本中文版本,因为使用的是文本渲染组件,没有转化为中文的码,所以现在是用ABC去代替。但是左上角的UE4翻译成虚幻4成功了。使用控制台命令实现在游戏中语言相互切换。多语言输出先创建一个输出内容,由输入控制台命令来调用这个函数。(我创建的是一个游戏模式class LEARNPROJECT_API ATestGameMode : public AGameModeBase,记得设置为这个游戏模式。)UFUNCTION(Exec)static void SayHello();原创 2021-09-20 08:55:27 · 605 阅读 · 0 评论 -
【ESRPG C++】实现主角转头效果
前言将会解决的问题:如何让人物只动上半身?什么是Layered blend per bone?原创 2021-09-12 20:08:01 · 273 阅读 · 0 评论 -
【ESRPG C++】 操控主角移动
前言需要解决的问题:如何把人物分块?如何让人物运动?如何让创建的人物在游戏中运行?把人物分块之后如何让他运动统一?创建新项目因为是功能性复刻,所以那些地图什么东西的就不弄了。直接创建一个C++第三人称工程。创建角色进入项目之后打开第三人称的C++基类,引擎自动给我们生成了一部分代码,但是有些代码是不需要的,(如果不知道现有代码的意思,推荐去看一些课程入门,我是看B站课程入门的,你如果感兴趣可以去看看。课程笔记)。删除了摄影机的控件,因为需要把这个做为人物类的基类,他的子类可以是玩家原创 2021-09-10 20:23:46 · 596 阅读 · 0 评论 -
【UE4 C++】EasySurvivalRPG项目功能复刻
简介我在网上没有找到让我觉得很好的C++ RPG教程,所以想着直接看别人的项目,自己复刻一遍,并用博客记录下来。项目最终会上传至GitHub。目录正在更新……原创 2021-09-10 16:54:07 · 573 阅读 · 1 评论 -
【UE4 C++】FHitResult中Normal的方向
线性检测的法线方向:黄色为法线,红色为x、y、z轴对法线贡献的值。X轴是与地面平行的,所以对方向的贡献为0。在地面的时候,法线的x、y贡献为0, Z 为1。随着角度向上移动,法线往左移动,Z、Y轴往右移动,Z的贡献值减少、Y轴值增大。斜坡如果是向下的,同理,只是Y是负数。...原创 2021-08-24 14:49:57 · 627 阅读 · 0 评论 -
【UE4 C++】- BUG - 将人物拆分之后动作不统一的问题。
将人物拆分成几个组件之后,组件分别运动,不统一的问题。我的层级关系是这样的:只需要在每一个子组件添加这样的代码就可以了:HeadMesh = CreateDefaultSubobject<USkeletalMeshComponent>(TEXT("HeadMesh"));HeadMesh->SetupAttachment(GetMesh()); //绑定到父主骨骼模型HeadMesh->SetMasterPoseComponent(GetMesh()); //当前骨骼控原创 2021-08-11 12:53:17 · 220 阅读 · 0 评论 -
【UE4 C++】 绑定敌人血条
效果展示敌人会显示血条,相互伤害时血条会扣血。在远处时,敌人血量不会显示。UI设计新建UI,命名为:WB_Health_Enemy,和血条一样的制作方法:打开进度条,进行绑定进度:蓝图这么写。和人物的血量设置差不多,这里是从角色的目标中获取,这样的好处在于只有敌人进入角色范围内才会显示血条,后面会实现。C++代码实现MainPlayerController 玩家控制器.h 文件// 添加UI资源UPROPERTY(EditAnywhere, BlueprintReadWri原创 2021-08-09 09:36:33 · 1699 阅读 · 0 评论 -
【UE4 C++】实现发出伤害与接收伤害
效果展示敌人攻击玩家,玩家会扣血,玩家攻击敌人,也会扣血。图中,敌人对玩家进行了攻击吗,释放出了火的粒子特效,玩家受到伤害扣了血。玩家也对敌人进行了攻击,秒杀,敌人有一个死亡动画。玩家血量为0时也会死亡。死亡之后一切碰撞响应都关闭了,穿模了????添加死亡动画在各自的蒙太奇中添加死亡动画,后面随便添加一个动画,防止死亡之后又出现另一个蒙太奇动画的现象。添加DeathEnd通知,这个点在动画结束的前一点点:C++代码Role 第三人称角色.h// 重载接受伤害的函数vi原创 2021-08-08 17:00:57 · 1779 阅读 · 0 评论 -
【UE4 C++】设置攻击间隔、面向敌人攻击
效果展示当人物背对着敌人的时候,他会回头攻击敌人。敌人会等待一段时间之后再攻击,这个图片无法展示就不展示啦。C++ 代码实现Role 第三人称角色类.h// 设置当前要攻击的目标UPROPERTY(VisibleAnywhere, BlueprintReadOnly) class AEnemy* TargetEnemy;// 球形碰撞组件,主要作用就是检测敌人于它重叠与否。UPROPERTY(VisibleAnywhere, BlueprintReadOnly) class USp原创 2021-08-08 10:33:43 · 809 阅读 · 0 评论 -
【UE4 C++】实现近战攻击,精准检测与碰撞检测
效果展示走进敌人范围会受到伤害,并触发角色受伤特效,学习,素材有限,所以就放了一个火。敌人使用的是碰撞重叠+事件通知。我方攻击采用的是精准识别打击,会触发敌人受伤特效(一个闪,图片中没有体现出来。。)并且弹出输出敌人名字。秉持着多学多益的思想,所以给大家介绍了两种攻击效果的C++实现。C++代码实现Weapon.h文件添加一个武器攻击的声音(记得编译之后给这个武器挑选声音。)UPROPERTY(EditAnywhere, BlueprintReadWrite) class USoun原创 2021-08-07 22:08:05 · 2684 阅读 · 2 评论 -
【UE4 C++】 实现敌人追逐与攻击
效果展示处在他的发现范围之外敌人是不会发现。当走进他的发现范围之内的时候,他就会跑过来,进行攻击。现在还没有伤害。C++ 文件打开Built.cs文件,找到:PublicDependencyModuleNames.AddRange在之中添加"AIModule",增加AI相关的模块,这样系统才能识别我们调用的函数。Enemy创建继承Character类的Enemy类,因为不是玩家控制敌人的状态,而是计算机控制状态,所以需要在文件中声明敌人的状态:UENUM(BlueprintTyp原创 2021-08-05 20:11:19 · 1987 阅读 · 1 评论 -
【UE4 C++】实现人物攻击
效果展示使用动画蒙太奇实现人物攻击按下左键之后,人物会进行攻击动作:随机输出攻击动画。创建动画蒙太奇把我们的动画插入其中:右击后点击新建蒙太奇部分:在Sections部分点击Preview 就可以分为多段:拉到最下面:在Notifies中创建通知,通知移动到与动画结束相对应的部分,通知代表的意思是动作结束了。点击那个放大镜可以看到插槽管理,第二个就是我们当前的这个动画,可以进行重命名也可以进行添加。在动画蓝图中添加动画蒙太奇打开动画蓝图,看到状态机部分:这个是原创 2021-08-05 14:17:16 · 1865 阅读 · 5 评论 -
【UE4 C++】 实现简易背包
效果展示按E拾取之后,物品会出现在背包中,我们可以按I进行背包的开关。对点击Use会提示你使用了该物品。点击Drop之后可以将物品丢弃左键可以移动物品移动到另一个物品的时候会融合成一个新的物体:然后丢掉~(直接把我的方块弹飞了)实现的整体思路...原创 2021-08-04 09:32:00 · 3452 阅读 · 2 评论 -
【UE4 C++】 UE4 C++ 入门(无参考项目)——技术宅阿棍儿 学习笔记
前言这是我学习C++的学习笔记,其中代码都来源于B站UP主技术宅阿棍儿,课程为:UE4 C++ 入门(无参考项目)[1/2]和UE4 C++ 入门(无参考项目)[2/2],感谢棍哥能够免费教我们UE4 C++。课程简洁无废话,特别喜欢这种风格的老师,准备把棍哥的课程全部追完????????????。Character【UE4 C++】第三人称人物创建的基本代码(上)动画蓝图【UE4 C++】第三人称人物创建的基本代码(下)自动门【UE4 C++】实现自动门生成Actor【UE4 C++原创 2021-07-31 16:15:20 · 2916 阅读 · 0 评论 -
【UE4 C++】角色拾取、替换武器(下)
本篇将告诉你如何替换武器靠近之后会显示字体,按E装备,靠近下一个继续按E,当前这个装备会销毁,而装备上现在这个。原创 2021-07-31 15:41:58 · 1266 阅读 · 0 评论 -
【UE4 C++】角色拾取、替换武器(上)
【UE4 C++】角色拾取武器原创 2021-07-31 10:50:09 · 1939 阅读 · 0 评论 -
【UE4 C++】角色与道具、技能的互动(下)
上一章已经把道具实现好了,现在就把界面做一下,让角色和道具之间具有联系,并且给角色一个加速的技能。原创 2021-07-30 17:43:39 · 1229 阅读 · 0 评论 -
【UE4 C++】角色与道具、技能的互动(上)
【UE4 C++】 生成道具,人物拾取道具原创 2021-07-29 16:07:09 · 951 阅读 · 1 评论 -
【UE4 C++】创建可以定时上升下降的平台——浮动平台
【UE4 C++】创建可以定时上升下降的平台——浮动平台原创 2021-07-28 19:13:39 · 669 阅读 · 0 评论 -
【UE4 C++】 在指定区域范围内随机生成character
【UE4 C++】 在指定区域范围内随机生成character原创 2021-07-28 15:46:57 · 2338 阅读 · 0 评论 -
【UE4】pawn 和 Character 的区别
Character是一种特殊的pawn类,特殊在哪里呢?Character拥有一些人的功能,比如说飞行、跳跃、摩擦力等功能,而这些功能是pawn类不具有的。原创 2021-07-28 11:39:18 · 1362 阅读 · 0 评论 -
【UE4 C++】实现自动门
【UE4 C++】实现自动门原创 2021-07-26 18:44:19 · 1146 阅读 · 4 评论 -
【UE4 C++】第三人称人物创建的基本代码(下)
【UE4 C++】第三人称人物动画绑定原创 2021-07-25 15:42:39 · 732 阅读 · 0 评论 -
【UE4 C++】第三人称人物创建的基本代码(上)
【UE4 C++】第三人称人物的绑定与操控原创 2021-07-24 21:08:23 · 3176 阅读 · 6 评论