Страница 1 из 1

Как изменить цвет спрайта

СообщениеДобавлено: 23 янв 2020, 14:09
MrDmitry
Здравствуйте, как изменить цвет у 2d спрайта? Кинул на сцену нарисованный квадрат, из копий этого квадрата простую 2D фигуру и кинул на этот префап скрипт

Синтаксис:
Используется csharp
void Start()
    {
        int r = Random.Range(0, 255) / 100, g = Random.Range(0, 255) / 100, b = Random.Range(0, 255) / 100;
        foreach (Transform child in transform)
        {
            child.GetComponent<SpriteRenderer>().material.color = new Color(r,g,b, 1f);
        }
    }


В итоге в гейм инспекторе вижу что на каждом из квадратов появился материал с рандомным цветом, но во вкладке Game квадраты становятся просто черными. Что я делаю не так?


Изображение
Изображение

Re: Как изменить цвет спрайта

СообщениеДобавлено: 23 янв 2020, 15:08
Dio5555
Cкрип работает нормально, картинка на спрайте должна быть белого цвета и конвертирована в спрайт и ещё поменяйте шейдер у материала на sprite/default, посмотрите какая у вас сцена 3d или 2d стоит ли освещение.

Re: Как изменить цвет спрайта

СообщениеДобавлено: 23 янв 2020, 18:41
MrDmitry
Сцена 2D освещения нет(Это же 2D) Как конвертировать картинку в спрайт? Поменять шейдер так же не могу, т.к ни какого материала на префабе нет, он создается из этого скрипта

Re: Как изменить цвет спрайта

СообщениеДобавлено: 23 янв 2020, 18:51
1max1
Синтаксис:
Используется csharp
    void Start()
    {
        int r = Random.Range(0, 255) / 100.0f, g = Random.Range(0, 255) / 100.0f, b = Random.Range(0, 255) / 100.0f;
        foreach (Transform child in transform)
        {
            child.GetComponent<SpriteRenderer>().color = new Color(r, g, b, 1f);
        }
    }

Re: Как изменить цвет спрайта

СообщениеДобавлено: 24 янв 2020, 07:04
MrDmitry
Спасибо, изначально спрайт был черного цвета, переделал в белый и все стало работать, не знал что изначальный цвет спрайта влияет.

Re: Как изменить цвет спрайта

СообщениеДобавлено: 24 янв 2020, 07:30
Dio5555
MrDmitry писал(а):Спасибо, изначально спрайт был черного цвета, переделал в белый и все стало работать, не знал что изначальный цвет спрайта влияет.


Бывает =)