Unity中通过图片加载造成水纹波动的方法

在这里插入图片描述
准备一个材质球和各个波纹的图片
这是材质球的属性
建立一个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加载到底,依次循环实现动态水波的效果

猜你喜欢

转载自blog.csdn.net/hennysky/article/details/84670575