C# gameObject.transform.localScale是否忽略我对游戏对象的材质指定?

C# gameObject.transform.localScale是否忽略我对游戏对象的材质指定?,c#,unity3d,shader,C#,Unity3d,Shader,我有一个防护罩,我想在按下按钮时收缩,然后当按钮松开时,防护罩会恢复到原来的大小。我想盾是一个半透明的红色,所以我附加了一个材料,它在检查员 我的收缩护盾代码按预期工作,但是每次按下按钮,护盾都显示为半透明灰色而不是半透明红色 我为这件事感到非常难过。有人能帮忙吗 这是我的密码: if (Input.GetButton ("PS_Circle")) { playerOneShield.SetActive (true); playerOneShieldOn =

我有一个防护罩,我想在按下按钮时收缩,然后当按钮松开时,防护罩会恢复到原来的大小。我想盾是一个半透明的红色,所以我附加了一个材料,它在检查员

我的收缩护盾代码按预期工作,但是每次按下按钮,护盾都显示为半透明灰色而不是半透明红色

我为这件事感到非常难过。有人能帮忙吗

这是我的密码:

if (Input.GetButton ("PS_Circle")) {

        playerOneShield.SetActive (true);

        playerOneShieldOn = true;

        playerOneShield.transform.position = playerOne.transform.position;

        playerOneShield.transform.localScale -= new Vector3(0.1F, 0.1f, 0);

    } else if (Input.GetButtonUp ("PS_Circle")) {

        playerOneShield.SetActive (false);

        playerOneShieldOn = false;

        playerOneShield.transform.localScale = new Vector3(45F, 50f, 0);
    }

设置护盾颜色的原始代码是什么?我没有使用任何代码来指定护盾的材质。我都是通过检查员来做的。