MythicalWar/Assets/Invector-3rdPersonController/Basic Locomotion/3D Models/Others/HealthItem/vAnimateUV.cs

35 lines
1.1 KiB
C#

using UnityEngine;
namespace Invector
{
public class vAnimateUV : MonoBehaviour
{
public Vector2 speed;
public Renderer _renderer;
public string[] textureParameters = new string[] { "_MainTex" };
private Vector2 offSet;
private MaterialPropertyBlock propertyBlock;
private int[] texturePropertyIds;
private void Awake()
{
propertyBlock = new MaterialPropertyBlock();
texturePropertyIds = new int[textureParameters.Length];
for (int i = 0; i < textureParameters.Length; i++)
texturePropertyIds[i] = Shader.PropertyToID(textureParameters[i]);
}
void Update()
{
if (_renderer == null) return;
offSet.x += speed.x * Time.deltaTime;
offSet.y += speed.y * Time.deltaTime;
_renderer.GetPropertyBlock(propertyBlock);
for (int i = 0; i < textureParameters.Length; i++)
propertyBlock.SetVector(texturePropertyIds[i], offSet);
_renderer.SetPropertyBlock(propertyBlock);
}
}
}