Unity 2D-дисплей "fla sh effect" над плитками - PullRequest
0 голосов
/ 19 апреля 2020

Я хочу применить эффект яркости над моей сценой. Моя сцена содержит плитки, и я хочу выполнить код белого цвета sh для нескольких кадров с кодом.

Я уже пробовал этот код:

private Tilemap tm;
...
tm = GetComponent<Tilemap>();
tm.color = new Color(0.5f,1.0f,1.0f,1.0f);

Этот код затемняет сцену определенное количество цветов, но я буду sh, чтобы сделать его ярче.

Ответы [ 2 ]

2 голосов
/ 19 апреля 2020

Ваш код не работает, потому что в Unity, если вы визуализируете изображение (в вашем случае), исходный цвет изображения - белый (255,255,255,255). Это означает, что если вы измените цвет изображения, он добавит этот цвет к этому изображению. Например, если вы установите красный цвет изображения, цвета изображения станут более похожими на красный, чем исходное изображение.

На мой взгляд, у вас есть 2 способа выполнить белый флаг sh:

A) Добавьте еще одно изображение белого прямоугольника, покрывающего весь экран, и установите его альфа-цвет на меньшее число (чем меньше число, тем светлее эффект sh). В редакторе отключите средство визуализации этого объекта, и когда вы хотите выполнить эффект fla sh, включите этот объект из кода (Вы можете улучшить это с помощью анимации или кода, чтобы получить плавную анимацию fla sh).

Б) Установите пакет «2D Light». Это экспериментальный пакет, позволяющий визуализировать 2-мерный свет. Этот пакет содержит много компонентов, которые позволяют стимулировать свет.

1 голос
/ 20 апреля 2020

Я нашел способ сделать это.

Я создал новый PNG, который содержит только белые фигуры на прозрачном фоне. Есть около 20 штук, которые соответствуют формам моей карты тайлов. Теперь я просто создаю новую (белую) карту листов над картой листов уровня в форме выделения. Затем я установил альфа-файл белого тайлакарты в коде.

Это работает:)

...