Долго ломал голову, как сделать подобную обводку вокруг зданий без
мам, пап и кредитов проекторов и шейдеров (вариант с шейдерами и проекторами нашёл очень быстро, там реализуется вообще всё что мне нужно от данного "курсора", но я же русский человек, без велосипедов - жизнь скучна
):
Сделал спрайтом, вот так оно выглядело на моих псевдоюнитах:
Но, вполне логично, что когда мне понадобилось применить эту же обводку к зданиям (соответственнно, программно увеличив в размерах спрайт), то получилась вот такая радость:
Оно, в целом, отрисовалось ровно так, как и должно было отрисоваться - я же просто использовал растянутый спрайт (в данном случае растянутый в 4 раза относительно данного спрайта у юнитов). И вот вопрос - а как сделать обводку что бы её линия была одной толщины независимо от размера самого спрайта?
Мне пока что приходит в голову только одна идея - на этапе загрузки уровня для каждого нужного размера отрисовывать в виртуальную текстуру эту "обводку" с нужной толщиной линии, а потом её просто назначать на спрайт. Шойдеров не хочу лишний раз касаться - пока ещё не решил сколько объектов можно будет выделять одновременно, потому не знаю как к большому количеству таких обводок мобилки будут относиться (а игрулину хочется очень мультиплатформенную сделать). Данная "обводка" должна лежать на земле строго под требуемым юнитом и зданием (в идеале, конечно, огибать всё её выпуклости и
впуклостивпадины, но это я сделаю своими силами), по слоям она отрисовывается выше чем земля, потому видно её будет всегда (если, конечно, она не перекрыта более большим юнитом или зданием.)