属性面板,这个按钮,是让特效得到,对应预制体,相对应的坐标和旋转
![[Pasted image 20240312130301.png]]
逻辑入口
![[Pasted image 20240312130354.png]]
拿到角色实体的坐标和旋转,换算处理,赋值给特效数据结构体,再还原角色坐标即可
![[Pasted image 20240312130410.png]]
特效片段的,拖曳新增逻辑,也是一个特效轨道,只有一个特效片段; 拿到对应的粒子系统,遍历,拿到最大的粒子持续时间,对特效配置文件,完成赋值
![[Pasted image 20240312130932.png]]
特效片段类,其他逻辑,和音效片段类,基本一致 回到特效轨道类,重置显示上,也是会调用,特效实体的销毁相关逻辑
![[Pasted image 20240312130608.png]]
特效轨道,本身的销毁逻辑,依然
![[Pasted image 20240312130712.png]]
属性显示面板,特效逻辑
![[Pasted image 20240312131151.png]]
![[Pasted image 20240312131200.png]]
![[Pasted image 20240312131210.png]]
表现
![[Pasted image 20240312131337.png]]
编辑器模式下,特效播放,就是之前提及的,TickView函数,实例化特效粒子预制体,调用粒子系统的Simulate函数,播放特效即可; 而运行时,驱动特效,逻辑如下,也是实例化,对应特效预制体,修改坐标、旋转、缩放; 如果特效配置文件,是勾选自动销毁,就用协程自动销毁即可
![[Pasted image 20240312131422.png]]
也是框架的对象池,管理
![[Pasted image 20240312131613.png]]
![[Pasted image 20240312131631.png]]
特效预制体,可能会修改,也有注册监听函数
![[Pasted image 20240312132144.png]]
这时,特效的持续时间,需要重新计时
![[Pasted image 20240312132238.png]]
具体逻辑,和拖曳新增特效的计算逻辑,是一样的,遍历,拿最大持续时间,赋值即可
![[Pasted image 20240312132248.png]]
运行游戏,释放技能,播放特效也是正常的
![[Pasted image 20240312133351.png]]