UE4 特效1
准备工作
准备好模型与贴图资源, 可以自己下载, 也可以下载我上传的资源
开始
首先将模型转换为静态网格体(static Mesh)
鼠标双击Idle模型打开骨骼编辑器, 点击Make Static Mesh按钮就可以生成一个静态的网格体
新建一个材质, 为模型创建皮肤, 材质属性默认取默认值, 不用修改参数
UE4特效1
打开新建的材质, 然后加入TextureSample (tex_diffuse), 连接到材质 BaseColor
然后加入TextureSample(tex_glow), 这个贴图乘个10, 再连到Emissive Color
在材质编辑器中,按住M点击鼠标左键,可以快速创建Multiply结点
加入TextureSample(tex_specular), 如果不是使用我的模型和资源, 自由发挥罗, 这里整个模型的护甲就看起来闪闪的
最后加入法线贴图(tex_normal)
到这里材质就准备好了, 下面将staticMesh放进场景中看看效果
加上刚刚做好的材质, 直接将材质拖动到这个模型上, 或者通过Materials参数设置, Content Browser 选中材质, 场景中选择模型
看看上色后的效果先
下面就开始进入正题了, 创建Niagara粒子效果, 先让粒子产生在模型的表面
首先创建一个Niagara粒子发生器, 使用Empty模板
创建 Niagara Module Script
修改Module的Category, 这样在发射器中可以快速找到自定义的Module, 我偷个懒修改成了My
在module脚本中创建新的输入参数,获取StaticMesh, 随机模型的三角面坐标(RandomTriCoord),通过这个坐标获取三角面的世界位置(GetTriPositionWS WS代表世界坐标),然后将结果输出给NiagaraEmitter
将Module添加到NiagaraEmitter
将Module添加到NiagaraEmitter
回到Module,接下来根据UV坐标获取材质中的颜色信息,将颜色传递给NiagaraEmitter
根据UV坐标获取材质中的颜色信息
复制皮肤材质,添加输入节点DynamicMaterialParameter,获取UV参数
材质添加输入节点DynamicMaterialParameter
下面就是调整Niagara参数,添加Curl Noise Force,添加Gravity Force,添加Scale Size
Niagara参数调整
主要调节Curl Noise Force参数,具体效果,大家自己玩玩,所谓熟能生巧。
完结了, 第一次写技术文章,有不明白的地方,可以留言哦
同时也是为自己做的备忘笔记