Pull to refresh

Comments 14

Вроде бы и тема интересная и написано неплохо, а откомментировать нечего, потому что технических деталей нет вообще. Я понимаю что не желания раскрывать свои ноу-хау, но если статью всё-таки писать надо же хотя бы один трюк да рассказать, иначе в чем смысл статьи?
А то получается «я сделал», мне кажется за это вам аж карму минусуют.
Задумывалось балансировать на грани техничности и читабельности — поэтому раскрыты общие принципы в обзорном формате и творческий путь при создании приложения. Трюк «использование стохастической сетки треугольников и вертексного цвета для раскраски» не считается? Напишите, о чем Вам интересно узнать, и я постараюсь подготовить соответствующий материал.
То что каким-то образом использовав случайную сетку треугольников и цвет вершин можно использовать симпатичного эффекта раскраски понятно, но по на картинке видно, что эффект сложнее, чем просто проставим вершинные цвета вершинам на правильно тесселированной поверхности, скорее всего кроме вершинного цвета используется ещё какой-нибудь параметр или несколько заполняемые в зависимости от места нажатия и времени прошедшего от нажатия, ну и фрагментный шейдер явно сложнее, чем «рисуй интерполированный цвет вершины», хотя может быть я не прав и тесселируете поверхность вы в реальном времени, из текста статьи мне это не совсем понятно.

От статьи хочется, чтобы в ней было описание хотя бы одной проблемы, с которой столкнулись, и описание её решения.

Например, вы пишете что по тем или иным причинам вам не подошли стандартные алгоритмы кластеризации, но не пишите чем, и как вы обошли эти проблемы.
Не стал вдаваться в подробности кластеризации, так как есть подозрение, что моя реализация вызовет у профи истерический смех. Она же оптимизирована под сугубо прикладную цель и поэтому вряд ли носит академический интерес. Тесселяции в реальном времени действительно нет, весь эффект — в шейдере, *чуть более* сложном, чем «рисуй интерполированный цвет вершины». Я подумаю, как сделать следующую статью в рекомендуемом Вами формате, спасибо за обратную связь.

Я правильно понимаю, что изначально меш с небольшим количеством треугольников, а когда пользователь начинает рисовать, вы тесселируете их?
После того, как игрок закрасил бОльшую часть фигуры, объединяете треугольники с одним цветом?
И еще, судя по гифке, размеры треугольников очень маленькие, по сравнению с размером самой фигуры. Не тормозит? Я пробовал сделать тесселяцию на лету, у меня лагало)

На лету я бы, конечно, такие ресурсоемкие операции делать не стал (вы имели в виду каждый фрейм?), да и ни к чему это. Вся тесселяция делается при загрузке сцены и затем кэшируется. В ходе самой раскраски никаких геометрических операций с мешами не производится. Размеры треугольников ровно такие, как на КПДВ и следующей картинке, это скрин из редактора.
Добрый день, поделитесь ссылкой на Ваше приложение. Любопытно, попробовать, что у вас вышло.
Благодарю за интерес! Буду рад обратной связи. Правда, не совсем понимаю, позволяют ли правила сейчас делиться ссылками в комментариях (в статье специально нет ни одного упоминания или намёка на название). На всякий случай, отправлю Вам ссылку в личные сообщения.
А данная игра уже доступна для скачивания в google play или apple store?
Да, в сторах уже есть.
а можно пожалуйста название или ссылку на игру? Очень заинтересовала)
Название вполне ожидаемое: Poly Brush.
Спасибо за статью. Жду продолжения про ASO и UI ;)

PS: для сохранения содержимого экрана в gif-файл есть отличный плагин: github.com/Chman/Moments Сам использую его у себя в текущей разрабатываемой игре, предварительно допилив некоторые моменты (делать квадратные гифки + класть логотип игры поверх).
не долго продержался полибраш в сторе однако :(
Sign up to leave a comment.

Articles