Как можно создать 2д спрайт из Trail Renderer или Line Renderer

214
24 января 2019, 10:30

2Д проект.У меня есть 2 объекта. Я хочу при нажатии ЛКМ из одной точки выходил либо Trail Renderer или Line Renderer к курсору. А когда курсор был рядом со 2ой точкой 2-ого объекта он как бы присоединялся к этой точке и создавался твердое тело с коллайдером по которому может идти персонаж.Всю механику вроде понял как делать, кроме создании из этих компонентов твердое тело. Можно ли вообще из этих элементов сделать что-то такое или есть куда проще варианты. Видел метод BakeMesh, но что-то не понял как он работает.

Answer 1

У Unity есть компонент EdgeCollider2D - это коллайдер, который представляет собой соединённые рёбрами высоты, которые можно править, в том числе и в рантайме и они будут адекватно обрабатываться физикой. По сути, это тот же самый Line Renderer только для физики.

Т.е. вам не обязательно "запекать" то, что вы нарисовали, достаточно после отрисовки линии переместить её последнюю точку в вершины EdgeCollider2D. В итоге коллайдер сам построит ребро между двумя последними точками и по нему сможет бегать ваш персонаж.

Другими словами "рисование" и "физика" в таком случае идут отдельно) и между ними просто передаются "вершины" между которыми Renderer рисует линии, а Collider строит физические рёбра.