Я работаю над игрой, где хочу создать тени под серией спрайтов на сетке. Тени больше, чем сами спрайты, а спрайты анимированы (т.е. Перемещаются и вращаются).
Я не могу просто сделать их в sprite png, или тени будут перекрывать соседние спрайты.
Я также не могу просто поместить тени на нижний слой самостоятельно, потому что, когда они перекрываются, они будут создавать темные полосы на своем пересечении.
Эти спрайты анимированы, поэтому их массово не представляется возможным.
В принципе, я хочу, чтобы тени спрайтов смешались друг с другом так, чтобы они максимизировались при заданной непрозрачности. Пример:
Я считаю, что это эквивалентно смешиванию openGL (Rs, Gs, Bs, Max (As, Ds)), где мне действительно не нравятся R, G и B, так как это всегда будет одно и то же цвет в src и dst.
Однако это не допустимый режим смешивания openGL. Есть ли простой способ сделать это, особенно в cocos2d-iphone?
Я мог бы аппроксимировать это, сделав теневые спрайты непрозрачными, а затем применив их как к родительскому спрайту, так и сделав родительский спрайт 40% непрозрачностью. Однако, как работает cocos2d, это только устанавливает непрозрачность каждого ребенка на 40%, а не комбинированное изображение спрайта, что приводит к той же полосе.