Open2
特定のUIだけマテリアルのプロパティを変更する

プロパティ変更によりアニメーションさせられるシェーダーを作り、
それをUIのマテリアルにセットしてスクリプトから制御しようとしたら
他の同じマテリアルをセットしたUIもアニメーションしてしまった。
とりあえずこの辺を参考に
無理やりマテリアルのインスタンスを作ったけどあまり良い方法じゃない気がする
Material mat = Instantiate(GetComponent<Image>().material);
GetComponent<Image>().material = mat;
void ApplyProgress() {
// キャッシュすると何故かうまくいかないので一旦毎度GetComponentさせている...
GetComponent<Image>().material.SetFloat("_MaskCutoff", m_progress);
}

この辺りがよいのかなー
言及されてたMaskの実装