ニュース

Top  >   15. C#とMonoBehaviour  >   Q, スクリプトからマテリアルの色を変えたい

Q, スクリプトからマテリアルの色を変えたい

2026/03/18

メインコンテンツへスキップ
< すべてのカテゴリに戻る

A,結論

Renderer の material.color を操作します。

原因 / 背景

色の情報は Transform ではなく Material が持っているためです。

実装 / 手順

GetComponent<Renderer>().material.color = Color.red; と記述します。

サンプルコード

using UnityEngine;

[RequireComponent(typeof(Renderer))]
public class MaterialColorChanger : MonoBehaviour
{
    [SerializeField] private Color targetColor = Color.cyan;

    private Renderer _renderer;
    private Material _runtimeMaterial;

    private void Awake()
    {
        _renderer = GetComponent<Renderer>();
        _runtimeMaterial = _renderer.material;
    }

    public void ApplyColor()
    {
        _runtimeMaterial.color = targetColor;
    }
}

※ 実機確認が必要な項目は、Editor だけで判断せず対象デバイスでも必ず動作確認してください。

難易度:Level 2(初心者)
対象プラットフォーム:Visual Studio,Unity
関連キーワード:マテリアル

Level 1-2 向けバナー