[E3D-SkillEditor]Playmaker如何控制发射-弹道-拖尾-软消失-头部与尾巴不同时间消失...
可视化脚本节点PlayMaker 19781 2
实名

通过了实名认证的内容创造者

发布于 2019-12-15 22:25:26

您需要 登录 才可以下载或查看,没有账号?注册

x
[E3D-SkillEditor]Playmaker如何控制发射-弹道-拖尾-软消失-头部与尾巴不同时间消失
如果发射物击中敌人那么直接 【销毁】 【整个】 弹道特效,那么会明显卡顿,长尾巴直接消失,感觉品质粗劣!

解决方案-本文使用PM,C#  代码 实现原理同理
在游戏战斗中,需要很多类导弹发射物远程攻击的特效至少由2个或者更多特效资源组成

我们完全使用playmaker来制作这个过程和逻辑

录制_2019_12_15_22_38_12_457.gif
1 Emssion  发射物体的本身
2 Damage  被击中后的被击效果

其中Emssion一般带有拖尾效果,拖尾可能是Trail 效果 也可能是粒子 或者其他构成
拖尾需要一定长度和对应的速度才能展现其视觉效果

击中对象的一瞬间产生新的  Damage prefab
此时 若想有优秀的视觉效果 ,则需要  Emssion 分为头部和尾巴 分开消失
如果头部和尾巴在damage 瞬间消失,那么 拖的很长的尾巴 突然消失,效果不佳
若 头部和 尾巴  一起等待 尾部完全收回再显示,那么有一段时间 2个特效 会存在被击的位置,视觉效果依然不好

我们需要的是 damage 瞬间 ,创建被击效果 ,并删除 Emssion 的 头部(Head)
而尾巴继续回收,等待完全回收后,再删除尾巴
最终 整个过程中的全部资源都被 清除 ,成为一个无垃圾的 完整 发射循环!

我们先建立一个纯美术资源的 发射特效,命名如下
Emission[HT]-1053-Fireball-Blast-Red
其中  [HT] 代表Head +Trail   意思是  头部 和 尾部 有层级区分做法的Emssion  
image.png

SkillFire-Sample的逻辑
  • 这是一个创建发射的逻辑,我们按A键来发射子弹
  • 发射创建了一个 有逻辑的 发射物对象
  • 注意 有逻辑的 [PM]Emssion 和 美术资源类Emission[HT] 是2个不同的prefab
  • Emission[HT] 是美术资源 ,复杂头尾的样式,拖尾效果,粒子等
  • [PM]Emssion 是发射的逻辑控制,控制 往何方移动,速度,击中后创建damge 和回收资源等逻辑操作
  • 红色为创建[PM]Emssion  ,青色是一个 发送目标信息到Target 对象到[PM]Emssion
  • 因为[PM]Emssion 是动态创建出来的 他自身无法记录且知道自己要去攻击谁
所以需要他的创建者发啊一个 Set Fsm game object 来告诉他出生之后要往哪里打  



[PM]Emssion的逻辑如下

  • 首先获取自己对象,这里的第一个红色是 创建出来
  • 美术资源的emssion.
  • 绿色为移动到目标,这个目标是他的创建者传来的

发射后的逻辑
  • 绿色是一个段时间的过程,击中目标则进入之后的红色
  • 首先创建一个damge的特效,挂在自己下面
  • 同时删除 美术资源Emssion 中head 以下的全部对象
  • 再进行等待 ,大概就是尾巴收回来的时间
  • 最终删除自己,因为所有美术资源都是这个[PM]Emssion的子物体
  • 所以删除自己等于安全的把所有特效都删干净

这时候可以无限按A 创建无数子弹去攻击目标了

这里面[PM]Emssion可以作为模版来使用
  • 方便我们快速修改调用的美术资源
  • 我们把要创建的美术资源开在界面上
  • 我们可以复制[PM]Emssion,然后修改这2个美术资源
  • 就能变成一个新样式的 发射类PM资源
  • 保存成prefab ,用名称区分,方便以后识别和修改




本范例在即将发布E3DskillEditor工程的这里!



本帖被以下画板推荐:

想要成大触,天天上元素
使用道具 <
小鱼123  发表于 2020-8-14 17:42:00  
2#
不错
回复 收起回复
使用道具
金色的流星  发表于 2022-4-28 14:35:47  
5#
很不错的分享,感谢
回复 收起回复
使用道具
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表