目次
マテリアルを変更する
参考:
マテリアルのプロパティをスクリプトから変更 | kan のメモ帳
Renderer.material | Unity スクリプトリファレンス [公式]
Renderer.materials | Unity スクリプトリファレンス [公式]
Material が2つ以上ついているオブジェクトの場合は、 どうやってそれぞれの Material に当てはめるのでしょうか? – Yahoo! 知恵袋
プレハブインスタンスのマテリアルを変更する
参考:
インスタンスのマテリアルを変更する | naru design devlog
スクリプトから Material をオブジェクトごとに変更 | はらけんログ
プレハブで生成した複数のオブジェクトの色を分ける方法 – teratail
スクリプトからシェーダーにパラメータを渡す
参考:
ゲームオブジェクトの色をスクリプトから変更する方法 – Qiita
マテリアルのプロパティをスクリプトから変更 | kan のメモ帳
オブジェクトの色/実装の基礎から応用までを徹底解説! | XR-Hub
スクリプトからマテリアルの色を変更する | Continue(s)
URP のマテリアルの色をスクリプトから変更する | はなちるのマイノート
マテリアルパラメーターへのスクリプトを使ったアクセスと変更 | Unity 2049.4 マニュアル [公式]
Material.SetFloat | Unity スクリプトリファレンス [公式]
Material.SetColor | Unity スクリプトリファレンス [公式]
Material.SetColorArray | Unity スクリプトリファレンス [公式]
レンダラーのマテリアルを取得する
レンダラーから取得したマテリアルは、使用後に破棄する必要がある。
public class ExampleClass : MonoBehaviour
{
private Material _material;
public void Start()
{
_material = GetComponent<Renderer>().material;
}
public void OnDestroy()
{
if (_material != null)
{
Destroy(_material);
}
}
}
Code language: C# (cs)
参考:
Renderer.material で取得したマテリアルは自分で破棄しないとリークする話 | LIGHT11
Renderer.material | Unity スクリプトリファレンス [公式]
マテリアルを複製する
参考:
Script で複製したオブジェクトのマテリアルを別々に変更する – Qiita
Material.Material | Unity スクリプトリファレンス [公式]
MaterialPropertyBlock
参考:
続・スクリプトから Material をオブジェクトごとに変更 MaterialPropertyBlock 編 | はらけんログ