UE4 蓝图通信效果之射击岩石破碎

利用蓝图实现物理击碎

基于UE4第一人称蓝图项目


第一步

  • 找到Content/StarterContent/Props/SM_Rock

  • 鼠标右击,选择Create Destructible Mesh

  • 斜体

  • 生成SM_Rock_DM

  • 在SM_Rock_DM中点击Fracture Mesh,让Rock可以物理破碎

  • 这里写图片描述

  • 然后保存,关闭SM_Rock_DM

  • 之后右击SM_Rock_DM,选择Asset Actions-------Create Blueprint Using this…

  • 这里写图片描述

  • 这个时候你将创建SM_Rock_DM的蓝图类,将它命名为BP_Rokc,并且放到FirstPersonBP/Blueprints目录下

  • 双击你的BP_Rock,你会发现里面有一个Destructible组件,然后在Add Component中添加ProjectileMovement组件(弹射移动组件)

  • 这里写图片描述

  • 修改ProjectileMovement组件的一些参数值(速度和弹射距离)

  • 这里写图片描述

  • 保存并关掉BP_Rock

  • 接下来做岩石的生成,以及射击破碎

第二步

  • 为了让岩石可以随机产生,我们需要设置生成点TargetPoint,在场景地图上,拖拽一些TargetPoint作为岩石产生时候的位置
  • 这里写图片描述
  • 保存场景,接下来我们将要实现岩石的产生
  • 打开FirstPersonCharacter蓝图类,我们设置当玩家按下F键时,产生岩石。
  • 为了获取到关卡场景中的产生点,我们需要与关卡进行通信。这时可以通过Event Dispatchers(事件调度器)来实现。关卡Level监听事件调度器,当被调用时,会触发关卡中的时间,从而获得一个产生点
  • 在FirstPersonCharacter中的EventDispatchers中添加事件调度器GetSpawnLocation这里写图片描述
    -当我们按下F键时,调用事件调度去,关卡将会去监听并响应此方法,然后获得生成点SpawnLocation。在生成点我们SpawnActor生成岩石
  • 这里写图片描述
  • 这个时候我们转向Level Blueprint中,根据场景中添加的TargetPoint,我们随机获得生成点
  • 这里写图片描述
  • 现在,我们实现了按下F随机生成岩石。接下来我们将实现射击岩石,让岩石破碎

第三步

  • 我们Bind一个事件,但不是刚才的事件监听器,而是一个OnHit事件

  • 这里写图片描述

  • 最后为了让子弹射击岩石时破碎,我们需要给岩石加一个应用伤害(Apply Radius Damage)

  • 这里写图片描述

  • 为了让击碎的岩石消失,设置计时器

  • 这里写图片描述

  • 参考[1]: http://docs.unrealengine.com/latest/CHN/Engine/Blueprints/HowTo/BPHT_5/index.html

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值