こんにちは。VisualProgrammerの西条です。
以前、youtubeで「scriptから、materialにaccessするprogram」についての解説をしたのですが、今回は、こちらについて、2023.2.22f1 -> 6.3で差異がないかを調べました。
その結果、「ほとんど差異はなかった」のですが、少しだけ、メモを残しておきたい内容もありましたので、こちらに記載しておきます。
ちょこっとメモ
Unity 6で、新規ProjectをSRPで作成します。

ここで新規materialを作成すると、defaultのshaderは、”Universal Render Pipeline/Lit”となります(2023.2.22f1では”Standard shader”であった)。

ここで、Editをクリックすると、editorでshaderの中身を見ることができます。

shaderの中身を見ると、MainColorの名前が、「_BaseColor」であることがわかります(Standard shaderでは、”_Color”であった)。

よって、2023.2.22f1では
void SetMainColor(ref Color color){
if( my_material_.HasProperty("_Color") ){
my_material_.SetColor("_Color", color);
}
}
としていた所を、version 6.3では、
void SetMainColor(ref Color color){
if( my_material_.HasProperty("_BaseColor") ){
my_material_.SetColor("_BaseColor", color);
}
}
とする必要があります。
2023.2.22f1 versionにおける解説動画
2023.2.22f1 における解説動画はこちらです。こちらもcheckすると、より理解が深まります。
関連記事
関連記事のリンクを貼っておきます。
ぜひ、そちらも参考にしてください。

