[BE指令]如何自己动手做粒子特效
关于粒子特效,大多数人的认知都是指令多,要经过很多次测试来精准找到粒子坐标,这是很多人望而止步。当然,我这次分享的思路可以将它们全部简化。
一.只有x,y,z其中两个坐标的粒子特效:
一般来说,固定粒子轨迹大多由盔甲架实现,当我们想设计一个粒子效果做出的图案(轨迹)时,可以使用函数来确定图案(轨迹):就例如做一个一次函数y=kx图案的特效(不需要参数b因为我们以盔甲架为原点进行绘制),我们可以让盔甲架运动并且在它的某个位置产生粒子并且向函数途径进行传送就可以实现。
当只需要单方向的粒子时,在盔甲架传送到指定位置后再传送回最开始的位置继续这样的运动就可以完成,但如何实现?首先在需要粒子效果的原点生成一个盔甲架q和一个盔甲架c,将盔甲架q面向你想要的方向(若方向不一定就使用tp中的面向某个实体实现),给盔甲架q一个积分m(m=L/x,其中L为最远位置的某个坐标值如y轴离原点的距离,T为每个粒子的间隔距离),当盔甲架q积分x大于0时就将其向面向方向(其他方向一样)传送x格,向其他方向传送y格(y=kx),并且减1积分,当积分为零时tp回盔甲架c并将积分重新设置为m,盔甲架q就会重复刚才的运动产生粒子了,最后给予盔甲架q隐身即可;如果要往返粒子效果就给盔甲架c一个标签,当正向运动时有标签,反向运动时无标签进行判断就行了。当需要运动粒子时设置运动时长间隔即可实现。
二.三维粒子特效
在二维基础上,三维多了高度的限制,这就说明三维是在二维基础上增加了某个角度向上曲折,所以只需要计算出高度再在二维的基础上加高度的传送即可实现。如何计算高度?在我们设计时如果知道角度就可以用三角函数求得(cosθ×T,T为二维中x,y形成的三角形的斜边长度)。
当然不仅限于一次函数,圆,抛物线都是可以用这样的思路制作成。
三.实时计算的轨迹粒子
如小标题所说,实时计算就不是固定坐标了,变量更多,用盔甲架也只能在二维这样实现(因为盔甲架没有y轴朝向,即永远在二分之π的角度),这就需要用到其他实体了。
假如我们需要制作一个防御塔,防御塔会对最近玩家进行粒子攻击,由塔顶发出粒子光线对其照成i点伤害。用盔甲架还需要二分法计算高度,太过于繁杂,那么用实体比如僵尸实现呢?
在塔顶生成一个僵尸m,将它面向最近玩家,当需要发射攻击时就给僵尸m一个标签“射击”并将有这个标签的僵尸m向前传送并遗留下粒子效果,当周围一格有玩家时使用damage对玩家照成i点伤害并移除标签传送回到原处(进入CD),CD到了时间就重新发射,但最好给僵尸m隐身和虚弱效果不然……因为是用僵尸作为实体,那么就可以实现防御塔攻击的击退能力!(如果CD需要思路并且我有时间,我会在之后制作出来)
总而言之,粒子效果固定轨迹设计最难的也就自己制作计算函数(方程),动态。。好像没有难的部分。。本人也只是高二学生,帖子中运用到的也只是初二的内容不相信看不懂,懂了就可以自己手捏粒子特效了!
由于我不知道如何在帖子中中间部分插入图片,部分内容需要想象和分析能力,不能理解就使用草稿纸辅助理解(笑)。 仅有数学理论分析,建议尽快完善具体指令
璀璨星河丶 发表于 2022-5-12 22:07
仅有数学理论分析,建议尽快完善具体指令
发另外一个贴说明? 虽然听不懂,但大为震撼[哔哩_doge]
页: [1]