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

利用蓝图实现物理击碎

基于UE4第一人称蓝图项目


第一步

  • 找到Content/StarterContent/Props/SM_Rock
  • 鼠标右击,选择Create Destructible Mesh

  • 斜体    <code>Ctrl + I</code>

  • 生成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随机生成岩石。接下来我们将实现射击岩石,让岩石破碎

第三步

猜你喜欢

转载自blog.csdn.net/zhangmei126/article/details/78924875
今日推荐