简单粒子制作
实现要求
制作一个粒子系统魔法球,点击魔法球,产生特效,特效粒子沿着一定的轨迹运动
实现过程
制作魔法球和特效粒子
- 魔法球又分为光晕与星光两个粒子系统,这个粒子系统的制作和资源是参考博客传送门。
- 特效粒子的Start Speed为0(因为之后的代码将会去设置速度,这里防止初始速度的影响),Shape使用的是Box,其他设置见完整项目。
实现沿路径移动
在游戏开始的时候,得到粒子将要经过的点的坐标,然后计算出粒子按照时间变化速度的向量应该怎样变化,并分别绘制成x轴,y轴,z轴的速度随时间变化曲线。这样就可以实现粒子沿着设定的路径移动。这里使用
AnimationCurve
来保存不同坐标轴的数值变化曲线,AnimationCurve
生成的曲线还可以用于曲线地形,曲线轨迹等。在该曲线中插入的关键帧是Keyframe
,构造函数参数中的float.PositiveInfinity
代表构造Keyframe
时候,帧与帧之间变化时曲线切线正切值为无穷大,也就是90度。
- 代码如下
public struct FrameDate
{
//方向
public Vector3 direction;
//距离
public float distance;
p