unity 动态修改material offset偏移量

//模型

public class PlaneMove : MonoBehaviour
{
    private Material m_mainMat;
    private Vector2 m_start;
    void Awake()
    {
        m_mainMat = GetComponent<MeshRenderer>().material;
    }
    void Start()
    {
        m_start = m_mainMat.GetTextureOffset("_MainTex");
    }
    void Update()
    {
        m_start += Vector2.right * 0.001f;
        m_mainMat.SetTextureOffset("_MainTex", m_start);
    }
}

//Image

  private Material m_mainMat;
    private Vector2 m_start;
    void Awake()
    {
        m_mainMat = this.GetComponent<Image>().material;
    }

    void Start()
    {
        m_start = m_mainMat.GetTextureOffset("_MainTex");
    }
    void Update()
    {
        if (m_start.x < -0.5f)
        {
            m_start.x = 0.4f;

        }
        m_start -= Vector2.right * 0.001f;
        m_mainMat.SetTextureOffset("_MainTex", m_start);
    }

猜你喜欢

转载自blog.csdn.net/qq_42986916/article/details/127532871