Войти
UnityФорумОбщее

Помогите, как наложить маску на спрайт при коллижоне

#0
13:10, 7 июня 2021

Даров народ. Опишу по возможности кратко.
Я только учусь разработке, делаю первые тестовые проекты. Решил заморочиться с игрой типа пинбол, чтоб при столкновении с шариком откусывался кусок спрайта ( исчезал). Т.е. не хочу перерисовывать все спрайты с 0 в трех видах - целый, коцанный, еще более покоцанный, а сделать что-то типа маски которая будет закрывать часть изображения.
Никак толково не найду как вообще маску так наложить чтоб часть изображения под ней скрылась. Что нужно:
1) Возможно видос или инструкцию как создать эту самую маску чтоб она работала как мне хочется( маска не четкой формы, не квадрат или круг)
2) Какой код лучше прописать при столкновении шарика с спрайтом чтоб такая маска заспавнилась(как варик сделать так чтоб она всегда там была, но чтоб активировалась или чтоб поменялся порядок слоев)
Возможно вопрос не уместный, я тут не давно и не знаю всех правил. Буду благодарен за совет.

Так же являюсь уже взрослым дядькой 30 лет и есть идея для создания игры ( чисто кликерная тема, перенос старой браузерки на мобильные платформы в другом сеттинге) если кому-то интересно можете написать, готов кого-то нанять с оплатой либо за прототип либо за готовый проект. Мне явно еще учиться очень долго пока что-то такое потяну. Всем спасибо.


#1
(Правка: 17:02) 14:06, 7 июня 2021

Обычно делается 32-х битный спрайт ARGB, где маска будет менять A в ноль.
Но если спрайт уехал на видеокарту то сделать это без возврата спрайта обратно на CPU наверное невозможно. А это удар по производительности. Поэтому делать все спрайты в трех видах не самый плохой вариант.
Еще вариант маску отправлять на видеокарту в шейдер который будет рисовать этот спрайт.

#2
14:12, 7 июня 2021

Так и сделаю.

#3
14:12, 7 июня 2021

в 3 ипостасях каждый спрайт.

UnityФорумОбщее