Показать сообщение отдельно
Старый 29.03.2016, 11:00   #2334
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Вопросы от новичка

Сообщение от St_AnGer Посмотреть сообщение
Долго ломал голову, как сделать подобную обводку вокруг зданий без мам, пап и кредитов проекторов и шейдеров (вариант с шейдерами и проекторами нашёл очень быстро, там реализуется вообще всё что мне нужно от данного "курсора", но я же русский человек, без велосипедов - жизнь скучна ):
Вложение 22321

Сделал спрайтом, вот так оно выглядело на моих псевдоюнитах:
Вложение 22322

Но, вполне логично, что когда мне понадобилось применить эту же обводку к зданиям (соответственнно, программно увеличив в размерах спрайт), то получилась вот такая радость:
Вложение 22323

Оно, в целом, отрисовалось ровно так, как и должно было отрисоваться - я же просто использовал растянутый спрайт (в данном случае растянутый в 4 раза относительно данного спрайта у юнитов). И вот вопрос - а как сделать обводку что бы её линия была одной толщины независимо от размера самого спрайта?

Мне пока что приходит в голову только одна идея - на этапе загрузки уровня для каждого нужного размера отрисовывать в виртуальную текстуру эту "обводку" с нужной толщиной линии, а потом её просто назначать на спрайт. Шойдеров не хочу лишний раз касаться - пока ещё не решил сколько объектов можно будет выделять одновременно, потому не знаю как к большому количеству таких обводок мобилки будут относиться (а игрулину хочется очень мультиплатформенную сделать). Данная "обводка" должна лежать на земле строго под требуемым юнитом и зданием (в идеале, конечно, огибать всё её выпуклости и впуклостивпадины, но это я сделаю своими силами), по слоям она отрисовывается выше чем земля, потому видно её будет всегда (если, конечно, она не перекрыта более большим юнитом или зданием.)
а чем не нравится lineRenderer с 32 секторами? я бы его заюзал. Ну или генерировал меш-колечко динамически и накладывал self-illuminte шейдер.
На самом деле я как-то так делал, необходимо было рисовать колечки разного диаметра, но одной толщины.
У меня где-то есть скрипт, который генерить всякие bezie-кривые, спокойной можоно научить генерировать и колечки. Толщина сохраняется, UV накладывается.
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
St_AnGer (29.03.2016)