【UE 从零开始制作坦克】10-炮弹溅射伤害

news/2025/1/15 21:44:14/

目录

一、解决炮弹穿过坦克炮塔问题

二、炮弹溅射伤害

效果


一、解决炮弹穿过坦克炮塔问题

打开“PHYS_West_Tank_M1A1Abrams”这个物理资产

造成这种现象的原因是,炮弹只会与如下紫色区域产生碰撞事件

 选中坦克炮塔的骨骼

 添加盒体外形

 缩放盒体外形使其包裹住炮塔

 再选中炮管的骨骼

 添加一个胶囊体外形(注意不要覆盖炮口处,因为炮弹会从炮口处生成,如果外形覆盖炮口,那么炮弹生成后就会立刻爆炸)

此时运行游戏发现炮塔、炮管会全部从坦克上掉落分离,这是因为“TankZongLei”的父类——轮式载具类,开启了网格体的模拟物理。

我们需要将炮塔和炮管的物理外形中的物理类型设置为运动学

 此时运行游戏攻击坦克炮塔和炮管也会检测到炮弹。

二、炮弹溅射伤害

主要通过“应用放射状伤害”节点实现。其中,“Base Damage”引脚表示爆炸中心的伤害值,“Origin”表示中心点位置,“Damage Radius”表示爆炸半径(单位:cm),“Damage Causer”表示造成伤害的对象,“Instigated by Controller”表示造成伤害的控制器,“Do Full Damage”表示爆炸范围内是否存在伤害衰减(离爆炸中心越远伤害越低),“Damage Prevention Channel”表示可以阻挡爆炸的碰撞类型,可视性表示只要能阻挡可视性通道的碰撞,都会阻挡伤害。

 

 打开“TankShell”(坦克炮弹蓝图)

 添加一个变量命名为“DamageByWhichController”,表示发射此炮弹的控制器(玩家控制器或AI控制器),变量类型为控制器的对象引用。

 

 打开“BP_West_Tank_M1A1Abrams”

 找到“从类生成Actor”节点

 可以发现多了一个“DamageByWhichController”引脚,如果没有的话可以尝试刷新节点并查看创建变量时是否勾选了可编辑实例和生成时公开

 添加“获取控制器”节点,如果控制坦克的是玩家,则获取的是玩家控制器,如果控制坦克的是AI,就会获取AI控制器。我们通过“获取控制器”节点向“DamageByWhichController”引脚传入控制器,给“TankShell”(坦克炮弹蓝图)中的变量“DamageByWhichController”赋值。

 打开“TankShell”,添加如下节点,使得炮弹能够造成放射状伤害

 打开“TankZongLei”,将如下选中的节点折叠到函数

 折叠的函数重命名为“GetDamage”

 函数设为私有

 复制一份“GetDamage”函数给到收到放射状伤害时执行的逻辑

 为了测试溅射伤害是否有效,我们可以打印输出一下坦克当前的血量。

效果

 最终效果如下:

可以看到不论是攻击坦克炮塔还是攻击坦克附近都会对坦克造成伤害。


http://www.ppmy.cn/news/489149.html

相关文章

雷军鸿蒙系统强势来袭,小米雷军:只要华为愿意联合起来,开放鸿蒙系统和麒麟芯片!...

说起华为,一直以来都是国产手机的代表,不论从销量还是业务发展,一直以来都引领中国手机行业的老大! 当然,近日来华为被谷歌政策限制,在海外市场受到了很多损失。国产手机系统的开发的话题再次推上了风口浪尖…

高通骁龙麒麟鸿蒙,神U看点:鸿蒙+麒麟1020华为Mate40、骁龙865+版小米10S

神U看点:鸿蒙麒麟1020华为Mate40、骁龙865版小米10S新机曝光! 神U看点:鸿蒙麒麟1020华为Mate40新机曝光 曝光麒麟1020采用5nm工艺制程,或将采用ARM Cortex-A78架构,性能更强。首发鸿蒙首发麒麟1020华为Mate40新机曝光。…

kirin710f是什么处理器_荣耀Play3采用的麒麟710F处理器有什么特点

为了在手机核心性能上进行突破,荣耀Play3采用了麒麟710F高性能八核处理器,麒麟710的升级版,能够根据任务,智能调度核心,达到省电效果。采用与710芯片不同的FCCSP封装工艺,相比710减少了芯片体积重新规划了架…

kirin710f是什么处理器_我告诉你kirin710f是什么处理器

kirin710f就是麒麟710F处理器,麒麟710F其实就是麒麟710处理器,不过需要注意的是,麒麟710F和麒麟710的主要区别在封装工艺上,除此之外在芯片主频和架构上是一致的,而且整体的设计规格也是相同的。 华为手机使用技巧&…

kirin710f是什么处理器_我告诉你麒麟710f相当骁龙什么处理器

麒麟710f相当于骁龙660处理器,关于麒麟710f处理器需要了解的是,麒麟710f在配置参数上是与麒麟710一样的,只不过麒麟710f和麒麟710在封装工艺上是不同的。 手机使用技巧:以EMUI9.X系统为例,在使用手机的时候&#xff0c…

【FreeRtos学习笔记】STM32 CubeMx——Mail(邮箱)

1 邮箱 邮箱是特殊的队列,具有如下特点: 队列长度只有1。写邮箱:新数据覆盖旧数据 ,既然是覆盖,那么无论邮箱中是否有数据,这些函数总能成功写入数据。读邮箱:读数据时,数据不会被…

kirin710f是什么处理器_华为kirin710f处理器相当于骁龙几

华为kirin710f处理器相当于高通骁龙636,麒麟710f是一个中端处理器,麒麟710采用4乘以A73 2.2GHz4乘以A53 1.7GHz,独立DSP,ISP加持,支持LTE Cat.12/13,双卡双4G双voLTE,而荣耀8x搭载的是麒麟710f处…

麒麟985处理器怎么样?

最近上网时,发现很多朋友对于荣耀30系列首发的麒麟985处理器非常感兴趣,作为一个从事手机行业很多年的人士,今天就在这里和大家聊一聊,荣耀30系列首发的麒麟985处理器究竟怎么样? 首先在5G解决方案方面,麒…