您需要 登录 才可以下载或查看,没有账号?注册
x
剑的散开做了2种,以第一个举例:
首先当成一个平面来看(根据我个人习惯,X轴朝向屏幕),把模型看作一个个的单位向量,
完全散开的时候,每个向量的夹角angel就是360/向量数(SpawnNum),每把剑从0度开始
转过的角度D就是粒子序号*angel,那么每个单位向量就是(sineD,cosD),乘个浮点参数来控制与原点距离。angel从小到大就是向量旋转的过程。具体连线图如下
因为Spread模块在Update里,在完全展开后发射器依旧每帧都会得到相同的值传递到Partocle.Position,添加速度模块后会出现粒子的位置出现时间回溯,左右横条。需要在展开后使用当前的位置为基础,在此之上再加速度。Lerp模块完全满足我们的需求
在剑发射出去之前,我想要一个剑震的效果,粒子位置每帧加个随机向量即可
之后就可以Let It Fly了,速度方向是目标位置减去粒子位置,目标位置可以暴露出来,蓝图赋值,剑就会追着目标了,我没做那么复杂,只是目标位置减去最终展开后的粒子位置。
接着就是碰撞了,采用GPU距离场碰撞(在项目设置中打开距离场),我想要在碰撞后剑插在物体上,
- 形态的控制已经完事了,还剩下的就是剑的朝向问题了,分为2个阶段,第一阶段的朝向是粒子位置减去原点,第二阶段就是速度方向.ps:UE4是默认X轴,所以模型我在3d软件设置的是剑尖朝向X轴
|