Почему мой трехмерный текстовый игровой объект в Unity становится четким, а не меняет цвет? - PullRequest
0 голосов
/ 15 января 2020

Я пытаюсь заставить мой трехмерный текстовый игровой объект в Unity измениться на случайный цвет при вызове функции ChangeColor (), но вместо этого он становится понятным. Я использовал тот же код на кубе, и он работал, но он не работает с этим текстом. Спасибо за любую помощь! Вот мой код:

public class ColorChanger1 : MonoBehaviour
{
    public Color[] shapeColor = new Color[5];
    // Start is called before the first frame update
    void Start()
    {
        //GetComponent<Renderer>().material.color = shapeColor[1]; //this was an attempt to just set it to one of the colors in my color array but it also turned the text clear
        ChangeColor(); 

    }

    // Update is called once per frame
    void Update()
    {

    }

    void ChangeColor()    {
        var textRenderer = GetComponent<Renderer>();
        if (shapeColor.Length > 0)
        {
            int newColor = Random.Range(0, shapeColor.Length);
            textRenderer.material.color = shapeColor[newColor];
        }
}

1 Ответ

0 голосов
/ 15 января 2020

Чтобы изменить цвет TextMe sh, необходимо изменить цвет компонента TextMe sh, а не универсальный c цвет материала рендерера.

var textMesh = GetComponent<TextMesh>();
if (shapeColor.Length > 0)
{
    int newColor = Random.Range(0, shapeColor.Length);
    textMesh.color = shapeColor[newColor];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...