特效音效编辑器_第三章.md 2.0 KB

属性面板,这个按钮,是让特效得到,对应预制体,相对应的坐标和旋转

![[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]]