UE4_Niagara基础实例—使用自定义模块二
效果:
粒子限制在球形范围内
操作步骤:
1、因为我们要对粒子的位置进行控制,所以需要开启本地空间,粒子与发射器位置有关。使用GPU计算模拟,需勾选固定边界。
2、简单调节其它参数:
3、现在我想把粒子锁定在某一个球形范围内,创建自定义模块实现功能。
目前没有模块提供这个功能,我们需要自己来做这个模块,先自定义个模块
首先要知道现在这个粒子位置在哪里?
我们还得知道限定在球内,这个球的半径是多少?我们添加个浮点数来存放半径,更名为radius。
我们还得知道球的中心的位置向量,更名为centervector。
接下来,我们需要判断粒子离中心位置的距离是不是超过半径,超过了怎么办?不超过怎么办?
这个节点可以获得向量的方向和向量的长度,我们只要用粒子位置减去中心点位置向量,就可以得到以中心点为坐标的向量,然后获得向量的方向和长度即可。
如果长度大于半径,那么说明离开限制区。如果小于说明位置不用变化。
我们把判断得到的结果再传递给粒子的位置
编译,公开,保存。
4、把自定义模块应用于niagara系统。
运行效果:
发现粒子是没有办法逃出限制球形范围的。