Niagara粒子系统-超炫酷的闪电特效(第二期 旋转的纸片)

在这一期,我们来看看如何实现旋转的纸片效果,结合之前了解到的【对齐】与【朝向】,来深入了解这两个功能!

【纸片静态效果】

【创建简单的圆柱体】
【车削组件改变圆柱体形状】

效果图

但是,我们发现每个粒子都是朝向我们自己的,应该怎么解决才能避免粒子朝向自己呢?

【新建自定义参数】

将粒子法线添加到自定义参数中

在渲染器中更改为自定义

【更改排序方式】
【更改粒子生成时间为永生】

当生命周期结束后不选择杀死粒子,粒子就可以进入永生状态且只生成一次

到这里,静态粒子就制作完成了

=====================================

【纸片动态效果】

静态效果制作完成之后,我们来完成动态效果部分。

首先,想要让卡片动起来,首先会想到"力"的作用,在这里使用漩涡力来进行尝试。

漩涡力【VortexForce】

添加漩涡力后法线粒子会向四周飞散,这是不合理的。

尝试后发现,漩涡力并不可取,还有另一个选项,漩涡速度。

漩涡速度【VortexVelocity】

取消漩涡力,我们尝试添加漩涡速度来查看效果。

这样,粒子就可以旋转起来。

那么如何修改粒子的朝向呢?

首先,shapeLocation是在【粒子生成】中创建的,提出猜想:我们如果让【shapeLocation】实时刷新,那么它的法线也就会实时运动

但是经过尝试,粒子卡在原地"不动"了。

这是什么原因呢?

因为我们在之前说过,在【粒子更新】中,会不断将粒子拉回最原始的位置,这样粒子就会"卡"在原地不动了。

那如何解决这种问题呢?

【shapeLocation动起来】

解决方法很简单!我们让【shapeLocation】也旋转起来

在【shapeLocation】中可以找到【RotationMode】旋转模式,从【Default】更改为【AxisAngle】,添加曲线使它可以持续运动即可。

设置好后,粒子可以正常旋转了,但是当运动了五秒之后,旋转就暂停了,这是因为粒子的旋转参考的是粒子的生命周期,如图。

这里,需要做一些修改。

【归一化循环寿命】

将【NormalizeAge】替换为【NormalizeLoopAge】发射器循环周期即可

将归一化粒子年龄改变为归一化循环年龄

这样,我们的旋转的旋转的纸牌就完成了初步的样式。

这样,就完成了卡片旋转的初级形态,在下一级会有更高级的形态分享

本期就到这里啦,拜拜!

相关推荐
河南花仙子科技15 小时前
花仙子科技详解:小游戏合规开发完整要点
科技·游戏
旧物有情1 天前
游戏开发常用架构 #MVP,MVC
游戏·unity·架构·mvc
笨鸟先飞的橘猫1 天前
游戏后端分布式学习——一致性协议Raft
分布式·学习·游戏
user-猴子1 天前
从零构建 2048 游戏,解析“Python-Use”范式的完整闭环
开发语言·python·游戏
爱自由的代码工1 天前
游戏买量预算怎么分配:核心逻辑、执行步骤与关键指标
游戏·游戏发行·游戏运营·游戏分发
郝学胜-神的一滴1 天前
中级OpenGL教程 023:Assimp模型加载全解——从源码到架构的骈文探秘
c++·unity·游戏引擎·cmake·unreal engine·opengl
爱自由的代码工2 天前
游戏沉默用户怎么激活?一套可执行的步骤、指标与复盘方法
大数据·游戏·游戏发行·游戏运营·游戏分发
一只大头猿2 天前
虚拟化版|红色沙漠|官方简体中文
游戏
笨鸟先飞的橘猫2 天前
游戏后端分布式学习——开篇
分布式·学习·游戏
郝学胜-神的一滴2 天前
中级OpenGL教程 022:探秘三维世界的血脉传承——物体父子关系与矩阵递归奥义
c++·线性代数·unity·矩阵·游戏引擎·unreal engine·opengl