Unity3d Есть ли что-то вроде Mesh Collider для 2D-объектов?

Я делаю простую 2D-игру, я спроектировал «путь» игрока в игре. Если игрок касается стены, игра заканчивается, поэтому я должен обнаруживать столкновения.

Сначала я создал стены из спрайтов, но потом понял, что не существует 2D-коллайдера, который подходил бы по форме спрайта (было сложно создать коллайдер вручную из множества меньших коллайдеров многоугольников и кругов), поэтому я сделал все стены, которые строят "пути" 3D-объектов (файлы .dae с z = 0.001), и добавил к ним коллайдер mash, который подходит для этого 3D-объекта. Я также изменил свой проигрыватель на 3D, чтобы типы столкновений совпадали. Это сработало, но я уверен, что одна и та же игра могла бы работать с гораздо большей производительностью с теми же ресурсами, если бы все игровые объекты были 2D.

Как такое может быть, если коллайдер подходит для 3D-объекта, но его нет для 2D? Может я что то упускаю?


person Muffasa    schedule 08.01.2015    source источник
comment
Вы пробовали добавить к объекту компонент PolygonCollider2D? Вы можете редактировать компонент и добавлять или удалять вершины по своему усмотрению, удерживая нажатой клавишу «Shift» или «Ctrl», когда его кнопка «Редактировать» активна. docs.unity3d.com/ScriptReference/PolygonCollider2D.html   -  person Chris McFarland    schedule 08.01.2015
comment
попробовал ... мои спрайты слишком сложны, чтобы вручную создавать коллайдеры ..   -  person Muffasa    schedule 08.01.2015


Ответы (1)


С первой попытки я неправильно экспортировал спрайт, поэтому полигональный коллайдер не распознал форму моего спрайта.

Я экспортирую спрайт как JPEG, когда я экспортирую его как .png, он работал как шарм, просто добавил Polygon Collider, и он идеально соответствовал моей форме спрайта, спасибо!

person Muffasa    schedule 08.01.2015