TGViewer
Григорий Дядиченко Григорий Дядиченко @dev_game · 2.66K subscribers
Post #587 701
Григорий Дядиченко Рисуем график #задачка Давайте элегантно нарисуем график функции y = x ^ 2 в UI в Unity. Задачку нужно решить с использованием MaskableGraphic и VertexHelper. Решение: https://github.com/Nox7atra/Unity-Test-Tasks/blob/master/Assets/Unity-Test-Tasks/Task…
Комментарий к решению задачке "Рисуем график"

Дальше под спойлером нюансы решения. Просто разбора такого примера недостаточно для "статьи на хабр". А знание довольно полезное и может пригодиться.

В Unity есть замечательная возможность через меш генерацию делать свои кастомные UI элементы. По сути для этого нужно унаследовать класс от MaskableGraphic. Переопределить метод OnPopulateMesh(VertexHelper vh) и сделать свою реализацию этого метода. Но тут есть несколько нюансов, которые стоит знать, чтобы "чудо произошло".

Чтобы график в целом нарисовался, помимо самого скрипта на объекте должен находится CanvasRenderer. Иначе ничего не будет рендерится и не будет вызываться метод OnPopulateMesh

Помимо этого можно затереть базовую реализацию этого метода, так как она делает лишние вещи.

Дальше нужно немного понимать в меш генерацию. И сделать генератор нужного нам меша с VertexHelper.

Дальше нужно разобраться с системой координат. Там много способов сделать самые разные варианты.

Моё решение выше, оно как бы общее. Можно было бы элегантно сгенерить меш под график y = x ^ 2, но по сути данное решение позволяет легко нарисовать любой график.

Важно понимать, что суть задачи не в конкретной реализации (как и всех задач в будущем, так как у всех реализация будет разная). А в сути на что это упражнение и какие нюансы нужно знать, чтобы его в целом сделать. Тут нужно в первую очередь знать про CanvasRenderer и про то, как делаются кастомные UI элементы. Причём проще всего наследоваться от MaskableGraphic, чтобы просто не прокидывать логику реализации масок и т.п.
  • 🔥 6
  • 👍 2
More from @dev_game
  1. Oct 16, 2026Когда с ходу за неделю собралось больше 700 пользователей
  2. Oct 16, 2026Григорий Дядиченко pinned a photo
  3. Oct 16, 2026Разыгрываем AirPods Pro 3 С 16 октября по 15 ноября в MES идёт розыгрыш. Главный приз — Ai…
  4. Oct 16, 2026В общем да, на релизе оказывается сразу возникает слишком много дел
  5. Oct 14, 2026Куда пропал? Всем привет. Куда я пропал? Да замотался, выиграл два покерных турнира и доде…
  6. Oct 8, 2026Метрики, метрики и ещё раз метрики https://app.mes-poker.ru Эхх, со своим продуктом руки с…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →