准备一个材质球和各个波纹的图片
建立一个Panel
开始写控制图片加载的脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Ef_WaterWave : MonoBehaviour {
//水波纹中需要切换的 材质球上的贴图
public Texture[] textures;
//水波纹的材质球
private Material material;
//当前水波纹展示的贴图 对应的数组的下标
private int index = 0;
public float rate = 0.05f;
void Start()
{
material = transform.GetComponent<MeshRenderer>().material;
//因为是水波纹一直循环的 所以这里采用了InvokeRepeating重复延迟调用API
InvokeRepeating("ChangeTexture",0,rate);
}
void ChangeTexture()
{
//赋值贴图
material.mainTexture = textures[index];
//更新index
index = (index + 1) % textures.Length;
}
}
这是Panel的属性
这里的材质球就选择我们刚刚建立的材质球
运行的时候会将图片从索引1加载到底,依次循环实现动态水波的效果