撰写了文章 更新于 2020-10-22 23:31:54
如何通过MAYA与UE4制作一段武侠角色游戏动画(四)

今天来做环境,分几个大块
1水面—程序动态材质
2与水的交互—CPU粒子
3花瓣—GPU粒子
好,现在我们来做
首先准备一些素材,有这些贴图以及一份水面程序材质。


水面材质节点比较复杂,从实例上看比较好理解,一张主躁波图作为主要水面纹理,两张法线图交替添加细节,最后由一张HDR贴图进行反射,下面就是一些可以调整的参数,主要造成影响的有:
Water Scale影响主要波纹,Variation Speed影响波动速率。值得注意的是水面材质会被UV拉伸,所以应当选用UE4自带的初始地面或者地形工具进行排布。
水面材质我分享到了自己的百度网盘,可以从这里下载
链接:https://pan.baidu.com/s/10l_5ObBVeZFIlNZZXi1BDQ
提取码:0zxh

水面完成
第二步进行水花的制作,让粒子颜色控制水花的序列图,Dynamic控制折射率的变化,蓝图如下。

水花材质
Required里的SubUV中开启2*2,Random模式。
InsRotation给个随机值让每次发射的贴图初始旋转都不同,Velocity cone给予一个冲击速度,不设定方向以便跟随socket的朝向。最后Accelration给上一个-Z轴向的重力。

水花粒子
第三步,进行涟漪材质的制作。用Sphere mask或者PS绘制等方法制作一张环状MASK图,目的是限定涟漪的折射范围。
与DP相乘,连入Lerp的Alpha中,意思是用粒子Dynamic parameter去控制折射的程度,DP=0时折射=1,DP=1时折射=1.1(这里后来测试出来1.3比较合适),DP与粒子生命可以设定一个函数,DP=粒子生命*x,以此来让粒子单位生命周期内折射产生一个变化。
最终测试材质使用Additive模式然后在粒子中把明度降低可以做出较好的效果。

涟漪材质
用LockAxis可以将图像平面锁在水平面,Size by life为0~1,可以结合Ins size初始大小来进行动画调整,在Dynamic中给折射做一条动画曲线。
两个color分别用来控制明度和颜色,也可用默认的color over life。
因为透明度比较高所以这里看不见。

涟漪粒子
在左右脚上各创建一个socket挂点,在Animation面板中添加Timed Particle Effects,右边details面板中选择粒子与输入socket名字后即可,选中Socket可以调整大小方向等。
这边放置特效的时候可以做一个LVSequencer边播边做。
第四步花瓣雨,材质上需要使用Particle SubUV读取序列图,这样可以产生一个自动的blend。
粒子的SubUV需要开两个部分,首先是Required里的,开到6*6,Linearblend模式,
接着加入SubimageIndex节点,在里边设定0~35的播放顺序(一共36张,0也代表一张)如此就可以播放序列图了。
Velocity Cone来模拟重力并加入一定的干扰速度即可。
水面的花瓣去掉速度方向,并加入随机的Rotation和RotationRate,以及LockAxis将图锁于水平面即可,附上我的参数



最后角色动作快结束时的涟漪我单独做了一个粒子,每个发射器发射一颗粒子,用Delay给上每个0.5秒的间隔,SIze by life的参数逐级递减。

OK,那今天就到这里。
