Unreal Niagara制作Scratch随模型发射粒子特效
该效果通过Scratch在对应位置发射粒子并读取模型表面颜色,使用Bridge上找的模型进行测试。效果如下:
1.导入测试模型或在Bridge(FAB)上下载模型以测试。
2.新建空粒子,添加基础节点。
3.在Particle Spawn处添加Scratch Module,以便进行后续的提取位置、UV信息等操作。
4.添加int32类型参数TriCount,用于后期传入模型顶点。添加StaticMesh参数,注意要选择DataInterface下的StaticMesh,否则有些接口无法找到。
5.从StaticMesh处点处GetTriangle,通过随机三角形和重心坐标得到位置信息,博主之前做过通过顶点取粒子位置的方式,但顶点位置分布并不均匀(https://blog.csdn.net/grayrail/article/details/130948406),相对来说通过三角形更好。
6.退出ScratchModule,在外部设置测试Mesh,设置TriCount为随机范围变量,最大值设置测试模型的面数。
7.接下来获取UV参数,以便给粒子着色。回到ScratchModule,从StaticMesh点出节点GetTriangleUV。
8.添加DynamicMaterialParameter,方便将自定义参数传入材质编辑器,之前写过介绍(https://blog.csdn.net/grayrail/article/details/147457070)
9.编辑材质,通过UV采样diffuse贴图。通过SphereMask节点模拟球形外观。
10.设置材质球,可见已采集模型表面颜色。
11.放入场景测试,发现位置无法随模型Actor移动而移动,始终在原点。
12.回到Scratch Module,取SimulationPosition作为偏移量加至粒子位置上即可。
https://dev.epicgames.com/community/learning/tutorials/V2WX/how-the-scratch-module-works-its-magic-in-unreal-engine